|
|
@ -28,22 +28,22 @@ import (
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func TestHTTPGetter(t *testing.T) {
|
|
|
|
func TestHTTPGetter(t *testing.T) {
|
|
|
|
g, err := newHTTPGetter(WithURL("http://example.com"))
|
|
|
|
g, err := NewHTTPGetter(WithURL("http://example.com"))
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if hg, ok := g.(*HTTPGetter); !ok {
|
|
|
|
if hg, ok := g.(*HTTPGetter); !ok {
|
|
|
|
t.Fatal("Expected newHTTPGetter to produce an httpGetter")
|
|
|
|
t.Fatal("Expected NewHTTPGetter to produce an *HTTPGetter")
|
|
|
|
} else if hg.client != http.DefaultClient {
|
|
|
|
} else if hg.client != http.DefaultClient {
|
|
|
|
t.Fatal("Expected newHTTPGetter to return a default HTTP client.")
|
|
|
|
t.Fatal("Expected NewHTTPGetter to return a default HTTP client.")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Test with SSL:
|
|
|
|
// Test with SSL:
|
|
|
|
cd := "../../testdata"
|
|
|
|
cd := "../../testdata"
|
|
|
|
join := filepath.Join
|
|
|
|
join := filepath.Join
|
|
|
|
ca, pub, priv := join(cd, "ca.pem"), join(cd, "crt.pem"), join(cd, "key.pem")
|
|
|
|
ca, pub, priv := join(cd, "ca.pem"), join(cd, "crt.pem"), join(cd, "key.pem")
|
|
|
|
g, err = newHTTPGetter(
|
|
|
|
g, err = NewHTTPGetter(
|
|
|
|
WithURL("http://example.com"),
|
|
|
|
WithURL("http://example.com"),
|
|
|
|
WithTLSClientConfig(pub, priv, ca),
|
|
|
|
WithTLSClientConfig(pub, priv, ca),
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -53,18 +53,18 @@ func TestHTTPGetter(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
|
|
hg, ok := g.(*HTTPGetter)
|
|
|
|
hg, ok := g.(*HTTPGetter)
|
|
|
|
if !ok {
|
|
|
|
if !ok {
|
|
|
|
t.Fatal("Expected newHTTPGetter to produce an httpGetter")
|
|
|
|
t.Fatal("Expected NewHTTPGetter to produce an *HTTPGetter")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
transport, ok := hg.client.Transport.(*http.Transport)
|
|
|
|
transport, ok := hg.client.Transport.(*http.Transport)
|
|
|
|
if !ok {
|
|
|
|
if !ok {
|
|
|
|
t.Errorf("Expected newHTTPGetter to set up an HTTP transport")
|
|
|
|
t.Errorf("Expected NewHTTPGetter to set up an HTTP transport")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
test.AssertGoldenString(t, transport.TLSClientConfig.ServerName, "output/httpgetter-servername.txt")
|
|
|
|
test.AssertGoldenString(t, transport.TLSClientConfig.ServerName, "output/httpgetter-servername.txt")
|
|
|
|
|
|
|
|
|
|
|
|
// Test other options
|
|
|
|
// Test other options
|
|
|
|
hg, err = NewHTTPGetter(
|
|
|
|
g, err = NewHTTPGetter(
|
|
|
|
WithBasicAuth("I", "Am"),
|
|
|
|
WithBasicAuth("I", "Am"),
|
|
|
|
WithUserAgent("Groot"),
|
|
|
|
WithUserAgent("Groot"),
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -72,6 +72,11 @@ func TestHTTPGetter(t *testing.T) {
|
|
|
|
t.Fatal(err)
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hg, ok = g.(*HTTPGetter)
|
|
|
|
|
|
|
|
if !ok {
|
|
|
|
|
|
|
|
t.Fatal("expected NewHTTPGetter to produce an *HTTPGetter")
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if hg.opts.username != "I" {
|
|
|
|
if hg.opts.username != "I" {
|
|
|
|
t.Errorf("Expected NewHTTPGetter to contain %q as the username, got %q", "I", hg.opts.username)
|
|
|
|
t.Errorf("Expected NewHTTPGetter to contain %q as the username, got %q", "I", hg.opts.username)
|
|
|
|
}
|
|
|
|
}
|
|
|
|