@@ -35,7 +35,7 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
35
35
Port : & port9090 ,
36
36
Protocol : & protocolHTTP ,
37
37
Path : awssdk .String ("/healthcheck" ),
38
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
38
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
39
39
IntervalSeconds : awssdk .Int64 (10 ),
40
40
TimeoutSeconds : awssdk .Int64 (5 ),
41
41
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -70,7 +70,7 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
70
70
Port : & port9090 ,
71
71
Protocol : & protocolHTTP ,
72
72
Path : awssdk .String ("/healthcheck" ),
73
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
73
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
74
74
IntervalSeconds : awssdk .Int64 (10 ),
75
75
TimeoutSeconds : awssdk .Int64 (5 ),
76
76
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -105,7 +105,7 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
105
105
Port : & port9090 ,
106
106
Protocol : & protocolHTTP ,
107
107
Path : awssdk .String ("/healthcheck" ),
108
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
108
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
109
109
IntervalSeconds : awssdk .Int64 (10 ),
110
110
TimeoutSeconds : awssdk .Int64 (5 ),
111
111
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -140,7 +140,7 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
140
140
Port : & port9090 ,
141
141
Protocol : & protocolHTTP ,
142
142
Path : awssdk .String ("/healthcheck" ),
143
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
143
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
144
144
IntervalSeconds : awssdk .Int64 (10 ),
145
145
TimeoutSeconds : awssdk .Int64 (5 ),
146
146
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -175,7 +175,7 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
175
175
Port : & port9090 ,
176
176
Protocol : & protocolHTTP ,
177
177
Path : awssdk .String ("/healthcheck" ),
178
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
178
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
179
179
IntervalSeconds : awssdk .Int64 (10 ),
180
180
TimeoutSeconds : awssdk .Int64 (5 ),
181
181
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -198,6 +198,41 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
198
198
},
199
199
want : true ,
200
200
},
201
+ {
202
+ name : "matcher GrpcCode changed" ,
203
+ args : args {
204
+ tgSpec : elbv2model.TargetGroupSpec {
205
+ Name : "my-tg" ,
206
+ TargetType : elbv2model .TargetTypeIP ,
207
+ Port : 8080 ,
208
+ Protocol : elbv2model .ProtocolHTTP ,
209
+ HealthCheckConfig : & elbv2model.TargetGroupHealthCheckConfig {
210
+ Port : & port9090 ,
211
+ Protocol : & protocolHTTP ,
212
+ Path : awssdk .String ("/healthcheck" ),
213
+ Matcher : & elbv2model.HealthCheckMatcher {GRPCCode : awssdk .String ("200" )},
214
+ IntervalSeconds : awssdk .Int64 (10 ),
215
+ TimeoutSeconds : awssdk .Int64 (5 ),
216
+ HealthyThresholdCount : awssdk .Int64 (3 ),
217
+ UnhealthyThresholdCount : awssdk .Int64 (2 ),
218
+ },
219
+ },
220
+ sdkTG : TargetGroupWithTags {
221
+ TargetGroup : & elbv2sdk.TargetGroup {
222
+ HealthCheckEnabled : awssdk .Bool (true ),
223
+ HealthCheckIntervalSeconds : awssdk .Int64 (10 ),
224
+ HealthCheckPath : awssdk .String ("/healthcheck" ),
225
+ HealthCheckPort : awssdk .String ("9090" ),
226
+ HealthCheckProtocol : awssdk .String ("HTTP" ),
227
+ HealthCheckTimeoutSeconds : awssdk .Int64 (5 ),
228
+ HealthyThresholdCount : awssdk .Int64 (3 ),
229
+ Matcher : & elbv2sdk.Matcher {GrpcCode : awssdk .String ("503" )},
230
+ UnhealthyThresholdCount : awssdk .Int64 (2 ),
231
+ },
232
+ },
233
+ },
234
+ want : true ,
235
+ },
201
236
{
202
237
name : "intervalSeconds changed" ,
203
238
args : args {
@@ -210,7 +245,7 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
210
245
Port : & port9090 ,
211
246
Protocol : & protocolHTTP ,
212
247
Path : awssdk .String ("/healthcheck" ),
213
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
248
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
214
249
IntervalSeconds : awssdk .Int64 (10 ),
215
250
TimeoutSeconds : awssdk .Int64 (5 ),
216
251
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -245,7 +280,7 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
245
280
Port : & port9090 ,
246
281
Protocol : & protocolHTTP ,
247
282
Path : awssdk .String ("/healthcheck" ),
248
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
283
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
249
284
IntervalSeconds : awssdk .Int64 (10 ),
250
285
TimeoutSeconds : awssdk .Int64 (5 ),
251
286
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -280,7 +315,7 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
280
315
Port : & port9090 ,
281
316
Protocol : & protocolHTTP ,
282
317
Path : awssdk .String ("/healthcheck" ),
283
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
318
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
284
319
IntervalSeconds : awssdk .Int64 (10 ),
285
320
TimeoutSeconds : awssdk .Int64 (5 ),
286
321
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -315,7 +350,7 @@ func Test_isSDKTargetGroupHealthCheckDrifted(t *testing.T) {
315
350
Port : & port9090 ,
316
351
Protocol : & protocolHTTP ,
317
352
Path : awssdk .String ("/healthcheck" ),
318
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
353
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
319
354
IntervalSeconds : awssdk .Int64 (10 ),
320
355
TimeoutSeconds : awssdk .Int64 (5 ),
321
356
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -371,7 +406,7 @@ func Test_buildSDKCreateTargetGroupInput(t *testing.T) {
371
406
Port : & port9090 ,
372
407
Protocol : & protocolHTTP ,
373
408
Path : awssdk .String ("/healthcheck" ),
374
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
409
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
375
410
IntervalSeconds : awssdk .Int64 (10 ),
376
411
TimeoutSeconds : awssdk .Int64 (5 ),
377
412
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -408,7 +443,7 @@ func Test_buildSDKCreateTargetGroupInput(t *testing.T) {
408
443
Port : & port9090 ,
409
444
Protocol : & protocolHTTP ,
410
445
Path : awssdk .String ("/healthcheck" ),
411
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
446
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
412
447
IntervalSeconds : awssdk .Int64 (10 ),
413
448
TimeoutSeconds : awssdk .Int64 (5 ),
414
449
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -465,7 +500,7 @@ func Test_buildSDKModifyTargetGroupInput(t *testing.T) {
465
500
Port : & port9090 ,
466
501
Protocol : & protocolHTTP ,
467
502
Path : awssdk .String ("/healthcheck" ),
468
- Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : "200" },
503
+ Matcher : & elbv2model.HealthCheckMatcher {HTTPCode : awssdk . String ( "200" ) },
469
504
IntervalSeconds : awssdk .Int64 (10 ),
470
505
TimeoutSeconds : awssdk .Int64 (5 ),
471
506
HealthyThresholdCount : awssdk .Int64 (3 ),
@@ -496,7 +531,8 @@ func Test_buildSDKModifyTargetGroupInput(t *testing.T) {
496
531
497
532
func Test_buildSDKMatcher (t * testing.T ) {
498
533
type args struct {
499
- modelMatcher elbv2model.HealthCheckMatcher
534
+ modelMatcher elbv2model.HealthCheckMatcher
535
+ protocolVersion elbv2model.ProtocolVersion
500
536
}
501
537
tests := []struct {
502
538
name string
@@ -507,13 +543,26 @@ func Test_buildSDKMatcher(t *testing.T) {
507
543
name : "standard case" ,
508
544
args : args {
509
545
modelMatcher : elbv2model.HealthCheckMatcher {
510
- HTTPCode : "200" ,
546
+ HTTPCode : awssdk . String ( "200" ) ,
511
547
},
548
+ protocolVersion : elbv2model .ProtocolVersionHTTP1 ,
512
549
},
513
550
want : & elbv2sdk.Matcher {
514
551
HttpCode : awssdk .String ("200" ),
515
552
},
516
553
},
554
+ {
555
+ name : "grpc case" ,
556
+ args : args {
557
+ modelMatcher : elbv2model.HealthCheckMatcher {
558
+ GRPCCode : awssdk .String ("2" ),
559
+ },
560
+ protocolVersion : elbv2model .ProtocolVersionGRPC ,
561
+ },
562
+ want : & elbv2sdk.Matcher {
563
+ GrpcCode : awssdk .String ("2" ),
564
+ },
565
+ },
517
566
}
518
567
for _ , tt := range tests {
519
568
t .Run (tt .name , func (t * testing.T ) {
0 commit comments