diff --git a/src/net/http/proxy_test.go b/src/net/http/proxy_test.go index 0dd57b4125..6090506f42 100644 --- a/src/net/http/proxy_test.go +++ b/src/net/http/proxy_test.go @@ -10,9 +10,6 @@ import ( "testing" ) -// TODO(mattn): -// test ProxyAuth - var cacheKeysTests = []struct { proxy string scheme string @@ -48,3 +45,42 @@ func ResetProxyEnv() { } ResetCachedEnvironment() } + +var proxyAuthTests = []struct { + proxy string + key string +}{ + { + "", + "", + }, + { + "http://bar.com", + "", + }, + { + "http://foo@bar.com", + "Basic Zm9vOg==", + }, + { + "http://foo:bar@bar.com", + "Basic Zm9vOmJhcg==", + }, +} + +func TestProxyAuthKeys(t *testing.T) { + for _, tt := range proxyAuthTests { + var proxy *url.URL + if tt.proxy != "" { + u, err := url.Parse(tt.proxy) + if err != nil { + t.Fatal(err) + } + proxy = u + } + cm := connectMethod{proxyURL: proxy} + if got := cm.proxyAuth(); got != tt.key { + t.Fatalf("{%q} proxyAuth key = %q; want %q", tt.proxy, got, tt.key) + } + } +}