]>
Commit | Line | Data |
---|---|---|
29ae2c9e JK |
1 | #!/bin/sh |
2 | ||
3 | test_description="test fetching through http proxy" | |
4 | ||
5 | . ./test-lib.sh | |
6 | . "$TEST_DIRECTORY"/lib-httpd.sh | |
7 | ||
8 | LIB_HTTPD_PROXY=1 | |
9 | start_httpd | |
10 | ||
11 | test_expect_success 'setup repository' ' | |
12 | test_commit foo && | |
13 | git init --bare "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" && | |
14 | git push --mirror "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" | |
15 | ' | |
16 | ||
17 | setup_askpass_helper | |
18 | ||
19 | # sanity check that our test setup is correctly using proxy | |
20 | test_expect_success 'proxy requires password' ' | |
21 | test_config_global http.proxy $HTTPD_DEST && | |
22 | test_must_fail git clone $HTTPD_URL/smart/repo.git 2>err && | |
23 | grep "error.*407" err | |
24 | ' | |
25 | ||
26 | test_expect_success 'clone through proxy with auth' ' | |
27 | test_when_finished "rm -rf clone" && | |
28 | test_config_global http.proxy http://proxuser:proxpass@$HTTPD_DEST && | |
29 | GIT_TRACE_CURL=$PWD/trace git clone $HTTPD_URL/smart/repo.git clone && | |
30 | grep -i "Proxy-Authorization: Basic <redacted>" trace | |
31 | ' | |
32 | ||
33 | test_expect_success 'clone can prompt for proxy password' ' | |
34 | test_when_finished "rm -rf clone" && | |
35 | test_config_global http.proxy http://proxuser@$HTTPD_DEST && | |
36 | set_askpass nobody proxpass && | |
37 | GIT_TRACE_CURL=$PWD/trace git clone $HTTPD_URL/smart/repo.git clone && | |
38 | expect_askpass pass proxuser | |
39 | ' | |
40 | ||
41 | test_done |