Merge branch 'ps/reftable-stack-tempfile'
[alt-git.git] / t / t5564-http-proxy.sh
blob9da5134614c71a29c5704199ecf44ea80aa96f52
1 #!/bin/sh
3 test_description="test fetching through http proxy"
5 . ./test-lib.sh
6 . "$TEST_DIRECTORY"/lib-httpd.sh
8 LIB_HTTPD_PROXY=1
9 start_httpd
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"
17 setup_askpass_helper
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
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
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
41 test_done