summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hattendorf <ianh@axosoft.com>2021-03-01 11:00:37 -0700
committerIan Hattendorf <ianh@axosoft.com>2021-03-01 16:23:12 -0700
commit592a325229331f2e7f66cfca6b8ae2f653c57f35 (patch)
tree06c780469a2e7c15074354bccc34052373ad9fe2
parent1bc8dec4c65ee7c7a005c2773b381272a74fc254 (diff)
downloadlibgit2-592a325229331f2e7f66cfca6b8ae2f653c57f35.tar.gz
winhttp: test proxy https clone
-rw-r--r--tests/online/clone.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/online/clone.c b/tests/online/clone.c
index c62baac2d..6de687b35 100644
--- a/tests/online/clone.c
+++ b/tests/online/clone.c
@@ -869,6 +869,28 @@ void test_online_clone__proxy_credentials_in_environment(void)
git_buf_dispose(&url);
}
+void test_online_clone__proxy_credentials_in_url_https(void)
+{
+ git_buf url = GIT_BUF_INIT;
+
+ if (!_remote_proxy_host || !_remote_proxy_user || !_remote_proxy_pass)
+ cl_skip();
+
+ cl_git_pass(git_buf_printf(&url, "%s://%s:%s@%s/",
+ _remote_proxy_scheme ? _remote_proxy_scheme : "http",
+ _remote_proxy_user, _remote_proxy_pass, _remote_proxy_host));
+
+ g_options.fetch_opts.proxy_opts.type = GIT_PROXY_SPECIFIED;
+ g_options.fetch_opts.proxy_opts.url = url.ptr;
+ g_options.fetch_opts.proxy_opts.certificate_check = proxy_cert_cb;
+ g_options.fetch_opts.callbacks.certificate_check = ssl_cert;
+ called_proxy_creds = 0;
+ cl_git_pass(git_clone(&g_repo, "https://github.com/libgit2/TestGitRepository", "./foo", &g_options));
+ cl_assert(called_proxy_creds == 0);
+
+ git_buf_dispose(&url);
+}
+
void test_online_clone__proxy_auto_not_detected(void)
{
g_options.fetch_opts.proxy_opts.type = GIT_PROXY_AUTO;