7
7
"io/ioutil"
8
8
"net/http"
9
9
"net/http/httptest"
10
- "path"
11
10
"strings"
12
11
"testing"
13
12
@@ -68,7 +67,7 @@ func TestEndpoint(t *testing.T) {
68
67
op := & aws.Operation {
69
68
Name : "GetMetadata" ,
70
69
HTTPMethod : "GET" ,
71
- HTTPPath : path . Join ( "/" , " meta-data" , " testpath") ,
70
+ HTTPPath : "/ meta-data/ testpath" ,
72
71
}
73
72
74
73
req := c .NewRequest (op , nil , nil )
@@ -93,9 +92,29 @@ func TestGetMetadata(t *testing.T) {
93
92
c := ec2metadata .New (cfg )
94
93
95
94
resp , err := c .GetMetadata ("some/path" )
95
+ if err != nil {
96
+ t .Fatalf ("expect no error, got %v" , err )
97
+ }
98
+ if e , a := "success" , resp ; e != a {
99
+ t .Errorf ("expect %v, got %v" , e , a )
100
+ }
101
+ }
102
+
103
+ func TestGetMetadata_TrailingSlash (t * testing.T ) {
104
+ server := initTestServer (
105
+ "/latest/meta-data/some/path/" ,
106
+ "success" , // real response includes suffix
107
+ )
108
+ defer server .Close ()
109
+
110
+ cfg := unit .Config ()
111
+ cfg .EndpointResolver = aws .ResolveWithEndpointURL (server .URL + "/latest" )
96
112
113
+ c := ec2metadata .New (cfg )
114
+
115
+ resp , err := c .GetMetadata ("some/path/" )
97
116
if err != nil {
98
- t .Errorf ("expect no error, got %v" , err )
117
+ t .Fatalf ("expect no error, got %v" , err )
99
118
}
100
119
if e , a := "success" , resp ; e != a {
101
120
t .Errorf ("expect %v, got %v" , e , a )
@@ -115,9 +134,8 @@ func TestGetUserData(t *testing.T) {
115
134
c := ec2metadata .New (cfg )
116
135
117
136
resp , err := c .GetUserData ()
118
-
119
137
if err != nil {
120
- t .Errorf ("expect no error, got %v" , err )
138
+ t .Fatalf ("expect no error, got %v" , err )
121
139
}
122
140
if e , a := "success" , resp ; e != a {
123
141
t .Errorf ("expect %v, got %v" , e , a )
@@ -152,7 +170,7 @@ func TestGetUserData_Error(t *testing.T) {
152
170
153
171
resp , err := c .GetUserData ()
154
172
if err == nil {
155
- t .Errorf ("expect error" )
173
+ t .Fatalf ("expect error" )
156
174
}
157
175
if len (resp ) != 0 {
158
176
t .Errorf ("expect empty, got %v" , resp )
@@ -177,9 +195,8 @@ func TestGetRegion(t *testing.T) {
177
195
c := ec2metadata .New (cfg )
178
196
179
197
region , err := c .Region ()
180
-
181
198
if err != nil {
182
- t .Errorf ("expect no error, got %v" , err )
199
+ t .Fatalf ("expect no error, got %v" , err )
183
200
}
184
201
if e , a := "us-west-2" , region ; e != a {
185
202
t .Errorf ("expect %v, got %v" , e , a )
@@ -217,7 +234,7 @@ func TestMetadataIAMInfo_success(t *testing.T) {
217
234
218
235
iamInfo , err := c .IAMInfo ()
219
236
if err != nil {
220
- t .Errorf ("expect no error, got %v" , err )
237
+ t .Fatalf ("expect no error, got %v" , err )
221
238
}
222
239
if e , a := "Success" , iamInfo .Code ; e != a {
223
240
t .Errorf ("expect %v, got %v" , e , a )
@@ -244,7 +261,7 @@ func TestMetadataIAMInfo_failure(t *testing.T) {
244
261
245
262
iamInfo , err := c .IAMInfo ()
246
263
if err == nil {
247
- t .Errorf ("expect error" )
264
+ t .Fatalf ("expect error" )
248
265
}
249
266
if e , a := "" , iamInfo .Code ; e != a {
250
267
t .Errorf ("expect %v, got %v" , e , a )
@@ -310,7 +327,7 @@ func TestEC2RoleProviderInstanceIdentity(t *testing.T) {
310
327
311
328
doc , err := c .GetInstanceIdentityDocument ()
312
329
if err != nil {
313
- t .Errorf ("expect no error, got %v" , err )
330
+ t .Fatalf ("expect no error, got %v" , err )
314
331
}
315
332
if e , a := doc .AccountID , "123456789012" ; e != a {
316
333
t .Errorf ("expect %v, got %v" , e , a )
0 commit comments