Skip to content

Commit 0e6fe9e

Browse files
authored
Comply IPv6 url with RFC2732. (#149)
* Comply IPv6 url with RFC2732. Literal IPv6 should be enclosed in "[" and "]" in URL. See details in https://www.ietf.org/rfc/rfc2732.txt.
1 parent ff1b414 commit 0e6fe9e

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

stackdriver/client_test.go

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,20 @@ func TestEmptyRequest(t *testing.T) {
120120
}
121121

122122
func TestResolver(t *testing.T) {
123-
addressesToTest := []string{"stackdriver.invalid", "2001:db8::"}
124-
for _, address := range addressesToTest {
123+
tests := []struct {
124+
host string
125+
expectedAddress string
126+
}{
127+
{
128+
"stackdriver.invalid",
129+
"stackdriver.invalid",
130+
},
131+
{
132+
"[2001:db8::]",
133+
"2001:db8::",
134+
},
135+
}
136+
for _, test := range tests {
125137
grpcServer := grpc.NewServer()
126138
listener := newLocalListener()
127139
monitoring.RegisterMetricServiceServer(grpcServer, &metricServiceServer{nil})
@@ -137,7 +149,7 @@ func TestResolver(t *testing.T) {
137149
logger := log.NewLogfmtLogger(logBuffer)
138150

139151
// Without ?auth=false, the test fails with context deadline exceeded.
140-
serverURL, err := url.Parse("http://" + address + "?auth=false")
152+
serverURL, err := url.Parse(fmt.Sprintf("http://%s?auth=false", test.host))
141153
if err != nil {
142154
t.Fatal(err)
143155
}
@@ -164,10 +176,11 @@ func TestResolver(t *testing.T) {
164176
t.Fatal(err)
165177
}
166178
requestedTarget := c.conn.Target()
167-
expectedTarget := c.resolver.Scheme() + ":///" + address
179+
expectedTarget := fmt.Sprintf("%s:///%s",
180+
c.resolver.Scheme(), test.expectedAddress)
168181
if requestedTarget != expectedTarget {
169-
t.Errorf("ERROR: Remote address is %s, want "+expectedTarget,
170-
requestedTarget)
182+
t.Errorf("ERROR: got target as %s, want %s",
183+
requestedTarget, expectedTarget)
171184
}
172185
}
173186
}

0 commit comments

Comments
 (0)