@@ -90,12 +90,17 @@ var _ = Describe("vanilla ingress tests", func() {
90
90
Controller : "ingress.k8s.aws/alb" ,
91
91
},
92
92
}
93
+ annotation := map [string ]string {
94
+ "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
95
+ }
96
+ if tf .Options .IPFamily == "IPv6" {
97
+ annotation ["alb.ingress.kubernetes.io/ip-address-type" ] = "dualstack"
98
+ annotation ["alb.ingress.kubernetes.io/target-type" ] = "ip"
99
+ }
93
100
ing := ingBuilder .
94
101
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/path" , PathType : & exact , Backend : ingBackend }).
95
102
WithIngressClassName (ingClass .Name ).
96
- WithAnnotations (map [string ]string {
97
- "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
98
- }).Build (sandboxNS .Name , "ing" )
103
+ WithAnnotations (annotation ).Build (sandboxNS .Name , "ing" )
99
104
resStack := fixture .NewK8SResourceStack (tf , dp , svc , ingClass , ing )
100
105
resStack .Setup (ctx )
101
106
defer resStack .TearDown (ctx )
@@ -121,12 +126,17 @@ var _ = Describe("vanilla ingress tests", func() {
121
126
},
122
127
},
123
128
}
129
+ annotation := map [string ]string {
130
+ "kubernetes.io/ingress.class" : "alb" ,
131
+ "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
132
+ }
133
+ if tf .Options .IPFamily == "IPv6" {
134
+ annotation ["alb.ingress.kubernetes.io/ip-address-type" ] = "dualstack"
135
+ annotation ["alb.ingress.kubernetes.io/target-type" ] = "ip"
136
+ }
124
137
ing := ingBuilder .
125
138
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/path" , PathType : & exact , Backend : ingBackend }).
126
- WithAnnotations (map [string ]string {
127
- "kubernetes.io/ingress.class" : "alb" ,
128
- "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
129
- }).Build (sandboxNS .Name , "ing" )
139
+ WithAnnotations (annotation ).Build (sandboxNS .Name , "ing" )
130
140
resStack := fixture .NewK8SResourceStack (tf , dp , svc , ing )
131
141
resStack .Setup (ctx )
132
142
defer resStack .TearDown (ctx )
@@ -162,12 +172,16 @@ var _ = Describe("vanilla ingress tests", func() {
162
172
Controller : "kubernetes.io/nginx" ,
163
173
},
164
174
}
175
+ annotation := map [string ]string {
176
+ "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
177
+ }
178
+ if tf .Options .IPFamily == "IPv6" {
179
+ annotation ["alb.ingress.kubernetes.io/ip-address-type" ] = "dualstack"
180
+ }
165
181
ing := ingBuilder .
166
182
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/path" , PathType : & exact , Backend : ingBackend }).
167
183
WithIngressClassName (ingClass .Name ).
168
- WithAnnotations (map [string ]string {
169
- "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
170
- }).Build (sandboxNS .Name , "ing" )
184
+ WithAnnotations (annotation ).Build (sandboxNS .Name , "ing" )
171
185
resStack := fixture .NewK8SResourceStack (tf , dp , svc , ingClass , ing )
172
186
resStack .Setup (ctx )
173
187
defer resStack .TearDown (ctx )
@@ -187,12 +201,16 @@ var _ = Describe("vanilla ingress tests", func() {
187
201
},
188
202
},
189
203
}
204
+ annotation := map [string ]string {
205
+ "kubernetes.io/ingress.class" : "nginx" ,
206
+ "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
207
+ }
208
+ if tf .Options .IPFamily == "IPv6" {
209
+ annotation ["alb.ingress.kubernetes.io/ip-address-type" ] = "dualstack"
210
+ }
190
211
ing := ingBuilder .
191
212
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/path" , PathType : & exact , Backend : ingBackend }).
192
- WithAnnotations (map [string ]string {
193
- "kubernetes.io/ingress.class" : "nginx" ,
194
- "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
195
- }).Build (sandboxNS .Name , "ing" )
213
+ WithAnnotations (annotation ).Build (sandboxNS .Name , "ing" )
196
214
resStack := fixture .NewK8SResourceStack (tf , dp , svc , ing )
197
215
resStack .Setup (ctx )
198
216
defer resStack .TearDown (ctx )
@@ -212,11 +230,15 @@ var _ = Describe("vanilla ingress tests", func() {
212
230
},
213
231
},
214
232
}
233
+ annotation := map [string ]string {
234
+ "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
235
+ }
236
+ if tf .Options .IPFamily == "IPv6" {
237
+ annotation ["alb.ingress.kubernetes.io/ip-address-type" ] = "dualstack"
238
+ }
215
239
ing := ingBuilder .
216
240
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/path" , PathType : & exact , Backend : ingBackend }).
217
- WithAnnotations (map [string ]string {
218
- "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
219
- }).Build (sandboxNS .Name , "ing" )
241
+ WithAnnotations (annotation ).Build (sandboxNS .Name , "ing" )
220
242
resStack := fixture .NewK8SResourceStack (tf , dp , svc , ing )
221
243
resStack .Setup (ctx )
222
244
defer resStack .TearDown (ctx )
@@ -240,13 +262,18 @@ var _ = Describe("vanilla ingress tests", func() {
240
262
}
241
263
safeClusterName := strings .ReplaceAll (tf .Options .ClusterName , "." , "-" )
242
264
lbName := fmt .Sprintf ("%.16s-%.15s" , safeClusterName , sandboxNS .Name )
265
+ annotation := map [string ]string {
266
+ "kubernetes.io/ingress.class" : "alb" ,
267
+ "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
268
+ "alb.ingress.kubernetes.io/load-balancer-name" : lbName ,
269
+ }
270
+ if tf .Options .IPFamily == "IPv6" {
271
+ annotation ["alb.ingress.kubernetes.io/ip-address-type" ] = "dualstack"
272
+ annotation ["alb.ingress.kubernetes.io/target-type" ] = "ip"
273
+ }
243
274
ing := ingBuilder .
244
275
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/path" , PathType : & exact , Backend : ingBackend }).
245
- WithAnnotations (map [string ]string {
246
- "kubernetes.io/ingress.class" : "alb" ,
247
- "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
248
- "alb.ingress.kubernetes.io/load-balancer-name" : lbName ,
249
- }).Build (sandboxNS .Name , "ing" )
276
+ WithAnnotations (annotation ).Build (sandboxNS .Name , "ing" )
250
277
resStack := fixture .NewK8SResourceStack (tf , dp , svc , ing )
251
278
resStack .Setup (ctx )
252
279
defer resStack .TearDown (ctx )
@@ -279,13 +306,17 @@ var _ = Describe("vanilla ingress tests", func() {
279
306
},
280
307
},
281
308
}
309
+ annotation := map [string ]string {
310
+ "kubernetes.io/ingress.class" : "alb" ,
311
+ "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
312
+ "alb.ingress.kubernetes.io/target-type" : "ip" ,
313
+ }
314
+ if tf .Options .IPFamily == "IPv6" {
315
+ annotation ["alb.ingress.kubernetes.io/ip-address-type" ] = "dualstack"
316
+ }
282
317
ing := ingBuilder .
283
318
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/path" , PathType : & exact , Backend : ingBackend }).
284
- WithAnnotations (map [string ]string {
285
- "kubernetes.io/ingress.class" : "alb" ,
286
- "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
287
- "alb.ingress.kubernetes.io/target-type" : "ip" ,
288
- }).Build (sandboxNS .Name , "ing" )
319
+ WithAnnotations (annotation ).Build (sandboxNS .Name , "ing" )
289
320
resStack := fixture .NewK8SResourceStack (tf , dp , svc , ing )
290
321
resStack .Setup (ctx )
291
322
defer resStack .TearDown (ctx )
@@ -339,19 +370,24 @@ var _ = Describe("vanilla ingress tests", func() {
339
370
},
340
371
},
341
372
}
373
+ annotation := map [string ]string {
374
+ "kubernetes.io/ingress.class" : "alb" ,
375
+ "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
376
+ "alb.ingress.kubernetes.io/actions.response-503" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 503\" ,\" messageBody\" :\" 503 error text\" }}" ,
377
+ "alb.ingress.kubernetes.io/actions.redirect-to-aws" : "{\" type\" :\" redirect\" ,\" redirectConfig\" :{\" host\" :\" aws.amazon.com\" ,\" path\" :\" /eks/\" ,\" port\" :\" 443\" ,\" protocol\" :\" HTTPS\" ,\" query\" :\" k=v\" ,\" statusCode\" :\" HTTP_302\" }}" ,
378
+ "alb.ingress.kubernetes.io/actions.forward-single-tg" : "{\" type\" :\" forward\" ,\" forwardConfig\" :{\" targetGroups\" :[{\" serviceName\" :\" app-1\" ,\" servicePort\" :\" 80\" }]}}" ,
379
+ "alb.ingress.kubernetes.io/actions.forward-multiple-tg" : "{\" type\" :\" forward\" ,\" forwardConfig\" :{\" targetGroups\" :[{\" serviceName\" :\" app-1\" ,\" servicePort\" :\" 80\" ,\" weight\" :20},{\" serviceName\" :\" app-2\" ,\" servicePort\" :80,\" weight\" :80}],\" targetGroupStickinessConfig\" :{\" enabled\" :true,\" durationSeconds\" :200}}}" ,
380
+ }
381
+ if tf .Options .IPFamily == "IPv6" {
382
+ annotation ["alb.ingress.kubernetes.io/ip-address-type" ] = "dualstack"
383
+ annotation ["alb.ingress.kubernetes.io/target-type" ] = "ip"
384
+ }
342
385
ing := ingBuilder .
343
386
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/response-503" , PathType : & exact , Backend : ingResponse503Backend }).
344
387
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/redirect-to-aws" , PathType : & exact , Backend : ingRedirectToAWSBackend }).
345
388
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/forward-single-tg" , PathType : & exact , Backend : ingForwardSingleTGBackend }).
346
389
AddHTTPRoute ("" , networking.HTTPIngressPath {Path : "/forward-multiple-tg" , PathType : & exact , Backend : ingForwardMultipleTGBackend }).
347
- WithAnnotations (map [string ]string {
348
- "kubernetes.io/ingress.class" : "alb" ,
349
- "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
350
- "alb.ingress.kubernetes.io/actions.response-503" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 503\" ,\" messageBody\" :\" 503 error text\" }}" ,
351
- "alb.ingress.kubernetes.io/actions.redirect-to-aws" : "{\" type\" :\" redirect\" ,\" redirectConfig\" :{\" host\" :\" aws.amazon.com\" ,\" path\" :\" /eks/\" ,\" port\" :\" 443\" ,\" protocol\" :\" HTTPS\" ,\" query\" :\" k=v\" ,\" statusCode\" :\" HTTP_302\" }}" ,
352
- "alb.ingress.kubernetes.io/actions.forward-single-tg" : "{\" type\" :\" forward\" ,\" forwardConfig\" :{\" targetGroups\" :[{\" serviceName\" :\" app-1\" ,\" servicePort\" :\" 80\" }]}}" ,
353
- "alb.ingress.kubernetes.io/actions.forward-multiple-tg" : "{\" type\" :\" forward\" ,\" forwardConfig\" :{\" targetGroups\" :[{\" serviceName\" :\" app-1\" ,\" servicePort\" :\" 80\" ,\" weight\" :20},{\" serviceName\" :\" app-2\" ,\" servicePort\" :80,\" weight\" :80}],\" targetGroupStickinessConfig\" :{\" enabled\" :true,\" durationSeconds\" :200}}}" ,
354
- }).Build (sandboxNS .Name , "ing" )
390
+ WithAnnotations (annotation ).Build (sandboxNS .Name , "ing" )
355
391
resStack := fixture .NewK8SResourceStack (tf , dp1 , svc1 , dp2 , svc2 , ing )
356
392
resStack .Setup (ctx )
357
393
defer resStack .TearDown (ctx )
@@ -435,6 +471,28 @@ var _ = Describe("vanilla ingress tests", func() {
435
471
},
436
472
}
437
473
474
+ annotation := map [string ]string {
475
+ "kubernetes.io/ingress.class" : "alb" ,
476
+ "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
477
+ "alb.ingress.kubernetes.io/actions.rule-path1" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Host is www.example.com OR anno.example.com\" }}" ,
478
+ "alb.ingress.kubernetes.io/conditions.rule-path1" : "[{\" field\" :\" host-header\" ,\" hostHeaderConfig\" :{\" values\" :[\" anno.example.com\" ]}}]" ,
479
+ "alb.ingress.kubernetes.io/actions.rule-path2" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Path is /path2 OR /anno/path2\" }}" ,
480
+ "alb.ingress.kubernetes.io/conditions.rule-path2" : "[{\" field\" :\" path-pattern\" ,\" pathPatternConfig\" :{\" values\" :[\" /anno/path2\" ]}}]" ,
481
+ "alb.ingress.kubernetes.io/actions.rule-path3" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Http header HeaderName is HeaderValue1 OR HeaderValue2\" }}" ,
482
+ "alb.ingress.kubernetes.io/conditions.rule-path3" : "[{\" field\" :\" http-header\" ,\" httpHeaderConfig\" :{\" httpHeaderName\" : \" HeaderName\" , \" values\" :[\" HeaderValue1\" , \" HeaderValue2\" ]}}]" ,
483
+ "alb.ingress.kubernetes.io/actions.rule-path4" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Http request method is GET OR HEAD\" }}" ,
484
+ "alb.ingress.kubernetes.io/conditions.rule-path4" : "[{\" field\" :\" http-request-method\" ,\" httpRequestMethodConfig\" :{\" Values\" :[\" GET\" , \" HEAD\" ]}}]" ,
485
+ "alb.ingress.kubernetes.io/actions.rule-path5" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Query string is paramA:valueA1 OR paramA:valueA2\" }}" ,
486
+ "alb.ingress.kubernetes.io/conditions.rule-path5" : "[{\" field\" :\" query-string\" ,\" queryStringConfig\" :{\" values\" :[{\" key\" :\" paramA\" ,\" value\" :\" valueA1\" },{\" key\" :\" paramA\" ,\" value\" :\" valueA2\" }]}}]" ,
487
+ "alb.ingress.kubernetes.io/actions.rule-path6" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Source IP is 192.168.0.0/16 OR 172.16.0.0/16\" }}" ,
488
+ "alb.ingress.kubernetes.io/conditions.rule-path6" : "[{\" field\" :\" source-ip\" ,\" sourceIpConfig\" :{\" values\" :[\" 192.168.0.0/16\" , \" 172.16.0.0/16\" ]}}]" ,
489
+ "alb.ingress.kubernetes.io/actions.rule-path7" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" multiple conditions applies\" }}" ,
490
+ "alb.ingress.kubernetes.io/conditions.rule-path7" : "[{\" field\" :\" http-header\" ,\" httpHeaderConfig\" :{\" httpHeaderName\" : \" HeaderName\" , \" values\" :[\" HeaderValue\" ]}},{\" field\" :\" query-string\" ,\" queryStringConfig\" :{\" values\" :[{\" key\" :\" paramA\" ,\" value\" :\" valueA\" }]}},{\" field\" :\" query-string\" ,\" queryStringConfig\" :{\" values\" :[{\" key\" :\" paramB\" ,\" value\" :\" valueB\" }]}}]" ,
491
+ }
492
+ if tf .Options .IPFamily == "IPv6" {
493
+ annotation ["alb.ingress.kubernetes.io/ip-address-type" ] = "dualstack"
494
+ annotation ["alb.ingress.kubernetes.io/target-type" ] = "ip"
495
+ }
438
496
ing := ingBuilder .
439
497
AddHTTPRoute ("www.example.com" , networking.HTTPIngressPath {Path : "/path1" , PathType : & exact , Backend : ingRulePath1Backend }).
440
498
AddHTTPRoute ("www.example.com" , networking.HTTPIngressPath {Path : "/path2" , PathType : & exact , Backend : ingRulePath2Backend }).
@@ -443,24 +501,7 @@ var _ = Describe("vanilla ingress tests", func() {
443
501
AddHTTPRoute ("www.example.com" , networking.HTTPIngressPath {Path : "/path5" , PathType : & exact , Backend : ingRulePath5Backend }).
444
502
AddHTTPRoute ("www.example.com" , networking.HTTPIngressPath {Path : "/path6" , PathType : & exact , Backend : ingRulePath6Backend }).
445
503
AddHTTPRoute ("www.example.com" , networking.HTTPIngressPath {Path : "/path7" , PathType : & exact , Backend : ingRulePath7Backend }).
446
- WithAnnotations (map [string ]string {
447
- "kubernetes.io/ingress.class" : "alb" ,
448
- "alb.ingress.kubernetes.io/scheme" : "internet-facing" ,
449
- "alb.ingress.kubernetes.io/actions.rule-path1" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Host is www.example.com OR anno.example.com\" }}" ,
450
- "alb.ingress.kubernetes.io/conditions.rule-path1" : "[{\" field\" :\" host-header\" ,\" hostHeaderConfig\" :{\" values\" :[\" anno.example.com\" ]}}]" ,
451
- "alb.ingress.kubernetes.io/actions.rule-path2" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Path is /path2 OR /anno/path2\" }}" ,
452
- "alb.ingress.kubernetes.io/conditions.rule-path2" : "[{\" field\" :\" path-pattern\" ,\" pathPatternConfig\" :{\" values\" :[\" /anno/path2\" ]}}]" ,
453
- "alb.ingress.kubernetes.io/actions.rule-path3" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Http header HeaderName is HeaderValue1 OR HeaderValue2\" }}" ,
454
- "alb.ingress.kubernetes.io/conditions.rule-path3" : "[{\" field\" :\" http-header\" ,\" httpHeaderConfig\" :{\" httpHeaderName\" : \" HeaderName\" , \" values\" :[\" HeaderValue1\" , \" HeaderValue2\" ]}}]" ,
455
- "alb.ingress.kubernetes.io/actions.rule-path4" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Http request method is GET OR HEAD\" }}" ,
456
- "alb.ingress.kubernetes.io/conditions.rule-path4" : "[{\" field\" :\" http-request-method\" ,\" httpRequestMethodConfig\" :{\" Values\" :[\" GET\" , \" HEAD\" ]}}]" ,
457
- "alb.ingress.kubernetes.io/actions.rule-path5" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Query string is paramA:valueA1 OR paramA:valueA2\" }}" ,
458
- "alb.ingress.kubernetes.io/conditions.rule-path5" : "[{\" field\" :\" query-string\" ,\" queryStringConfig\" :{\" values\" :[{\" key\" :\" paramA\" ,\" value\" :\" valueA1\" },{\" key\" :\" paramA\" ,\" value\" :\" valueA2\" }]}}]" ,
459
- "alb.ingress.kubernetes.io/actions.rule-path6" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" Source IP is 192.168.0.0/16 OR 172.16.0.0/16\" }}" ,
460
- "alb.ingress.kubernetes.io/conditions.rule-path6" : "[{\" field\" :\" source-ip\" ,\" sourceIpConfig\" :{\" values\" :[\" 192.168.0.0/16\" , \" 172.16.0.0/16\" ]}}]" ,
461
- "alb.ingress.kubernetes.io/actions.rule-path7" : "{\" type\" :\" fixed-response\" ,\" fixedResponseConfig\" :{\" contentType\" :\" text/plain\" ,\" statusCode\" :\" 200\" ,\" messageBody\" :\" multiple conditions applies\" }}" ,
462
- "alb.ingress.kubernetes.io/conditions.rule-path7" : "[{\" field\" :\" http-header\" ,\" httpHeaderConfig\" :{\" httpHeaderName\" : \" HeaderName\" , \" values\" :[\" HeaderValue\" ]}},{\" field\" :\" query-string\" ,\" queryStringConfig\" :{\" values\" :[{\" key\" :\" paramA\" ,\" value\" :\" valueA\" }]}},{\" field\" :\" query-string\" ,\" queryStringConfig\" :{\" values\" :[{\" key\" :\" paramB\" ,\" value\" :\" valueB\" }]}}]" ,
463
- }).Build (sandboxNS .Name , "ing" )
504
+ WithAnnotations (annotation ).Build (sandboxNS .Name , "ing" )
464
505
resStack := fixture .NewK8SResourceStack (tf , ing )
465
506
resStack .Setup (ctx )
466
507
defer resStack .TearDown (ctx )
0 commit comments