aboutsummaryrefslogtreecommitdiff
path: root/t/t5550-http-fetch-dumb.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/t5550-http-fetch-dumb.sh')
-rwxr-xr-xt/t5550-http-fetch-dumb.sh45
1 files changed, 35 insertions, 10 deletions
diff --git a/t/t5550-http-fetch-dumb.sh b/t/t5550-http-fetch-dumb.sh
index ed0ad66fad..9d0a7f5c4b 100755
--- a/t/t5550-http-fetch-dumb.sh
+++ b/t/t5550-http-fetch-dumb.sh
@@ -102,6 +102,31 @@ test_expect_success 'cloning password-protected repository can fail' '
expect_askpass both wrong
'
+test_expect_success 'using credentials from netrc to clone successfully' '
+ test_when_finished clear_netrc &&
+ set_askpass wrong &&
+ set_netrc 127.0.0.1 user@host pass@host &&
+ git clone "$HTTPD_URL/auth/dumb/repo.git" clone-auth-netrc &&
+ expect_askpass none
+'
+
+test_expect_success 'netrc unauthorized credentials (prompt after 401)' '
+ test_when_finished clear_netrc &&
+ set_askpass wrong &&
+ set_netrc 127.0.0.1 user@host pass@wrong &&
+ test_must_fail git clone "$HTTPD_URL/auth/dumb/repo.git" clone-auth-netrc-401 &&
+ expect_askpass both wrong
+'
+
+test_expect_success 'netrc authorized but forbidden credentials (fail on 403)' '
+ test_when_finished clear_netrc &&
+ set_askpass wrong &&
+ set_netrc 127.0.0.1 forbidden-user@host pass@host &&
+ test_must_fail git clone "$HTTPD_URL/auth/dumb/repo.git" clone-auth-netrc-403 2>err &&
+ expect_askpass none &&
+ grep "The requested URL returned error: 403" err
+'
+
test_expect_success 'http auth can use user/pass in URL' '
set_askpass wrong &&
git clone "$HTTPD_URL_USER_PASS/auth/dumb/repo.git" clone-auth-none &&
@@ -339,32 +364,32 @@ test_expect_success 'fetch can handle previously-fetched .idx files' '
'
test_expect_success 'did not use upload-pack service' '
- ! grep "/git-upload-pack" "$HTTPD_ROOT_PATH/access.log"
+ test_grep ! "/git-upload-pack" "$HTTPD_ROOT_PATH/access.log"
'
-test_expect_success 'git client shows text/plain errors' '
+test_expect_success ICONV 'git client shows text/plain errors' '
test_must_fail git clone "$HTTPD_URL/error/text" 2>stderr &&
- grep "this is the error message" stderr
+ test_grep "this is the error message" stderr
'
-test_expect_success 'git client does not show html errors' '
+test_expect_success ICONV 'git client does not show html errors' '
test_must_fail git clone "$HTTPD_URL/error/html" 2>stderr &&
- ! grep "this is the error message" stderr
+ test_grep ! "this is the error message" stderr
'
-test_expect_success 'git client shows text/plain with a charset' '
+test_expect_success ICONV 'git client shows text/plain with a charset' '
test_must_fail git clone "$HTTPD_URL/error/charset" 2>stderr &&
- grep "this is the error message" stderr
+ test_grep "this is the error message" stderr
'
test_expect_success ICONV 'http error messages are reencoded' '
test_must_fail git clone "$HTTPD_URL/error/utf16" 2>stderr &&
- grep "this is the error message" stderr
+ test_grep "this is the error message" stderr
'
test_expect_success ICONV 'reencoding is robust to whitespace oddities' '
test_must_fail git clone "$HTTPD_URL/error/odd-spacing" 2>stderr &&
- grep "this is the error message" stderr
+ test_grep "this is the error message" stderr
'
check_language () {
@@ -406,7 +431,7 @@ ja;q=0.95, zh;q=0.94, sv;q=0.93, pt;q=0.92, nb;q=0.91, *;q=0.90" \
test_expect_success 'git client send an empty Accept-Language' '
GIT_TRACE_CURL=true LANGUAGE= git ls-remote "$HTTPD_URL/dumb/repo.git" 2>stderr &&
- ! grep "^=> Send header: Accept-Language:" stderr
+ test_grep ! "^=> Send header: Accept-Language:" stderr
'
test_expect_success 'remote-http complains cleanly about malformed urls' '