@@ -10,10 +10,11 @@ import (
10
10
11
11
func Test_isSDKListenerSettingsDrifted (t * testing.T ) {
12
12
type args struct {
13
- lsSpec elbv2model.ListenerSpec
14
- sdkLS ListenerWithTags
15
- desiredDefaultActions []* elbv2sdk.Action
16
- desiredDefaultCerts []* elbv2sdk.Certificate
13
+ lsSpec elbv2model.ListenerSpec
14
+ sdkLS ListenerWithTags
15
+ desiredDefaultActions []* elbv2sdk.Action
16
+ desiredDefaultCerts []* elbv2sdk.Certificate
17
+ desiredDefaultMutualAuthentication * elbv2sdk.MutualAuthenticationAttributes
17
18
}
18
19
tests := []struct {
19
20
name string
@@ -49,6 +50,9 @@ func Test_isSDKListenerSettingsDrifted(t *testing.T) {
49
50
},
50
51
SslPolicy : awssdk .String ("ELBSecurityPolicy-FS-1-2-Res-2019-08" ),
51
52
AlpnPolicy : awssdk .StringSlice ([]string {"HTTP2Preferred" }),
53
+ MutualAuthentication : & elbv2sdk.MutualAuthenticationAttributes {
54
+ Mode : awssdk .String ("off" ),
55
+ },
52
56
},
53
57
},
54
58
desiredDefaultCerts : []* elbv2sdk.Certificate {
@@ -65,6 +69,9 @@ func Test_isSDKListenerSettingsDrifted(t *testing.T) {
65
69
},
66
70
},
67
71
},
72
+ desiredDefaultMutualAuthentication : & elbv2sdk.MutualAuthenticationAttributes {
73
+ Mode : awssdk .String ("off" ),
74
+ },
68
75
},
69
76
},
70
77
{
@@ -104,6 +111,9 @@ func Test_isSDKListenerSettingsDrifted(t *testing.T) {
104
111
},
105
112
SslPolicy : awssdk .String ("ELBSecurityPolicy-FS-1-2-Res-2019-08" ),
106
113
AlpnPolicy : awssdk .StringSlice ([]string {"HTTP2Preferred" }),
114
+ MutualAuthentication : & elbv2sdk.MutualAuthenticationAttributes {
115
+ Mode : awssdk .String ("off" ),
116
+ },
107
117
},
108
118
},
109
119
desiredDefaultCerts : []* elbv2sdk.Certificate {
@@ -120,6 +130,9 @@ func Test_isSDKListenerSettingsDrifted(t *testing.T) {
120
130
},
121
131
},
122
132
},
133
+ desiredDefaultMutualAuthentication : & elbv2sdk.MutualAuthenticationAttributes {
134
+ Mode : awssdk .String ("off" ),
135
+ },
123
136
},
124
137
},
125
138
{
@@ -154,6 +167,75 @@ func Test_isSDKListenerSettingsDrifted(t *testing.T) {
154
167
},
155
168
SslPolicy : awssdk .String ("ELBSecurityPolicy-FS-1-2-Res-2019-08" ),
156
169
AlpnPolicy : awssdk .StringSlice ([]string {"HTTP2Preferred" }),
170
+ MutualAuthentication : & elbv2sdk.MutualAuthenticationAttributes {
171
+ Mode : awssdk .String ("off" ),
172
+ },
173
+ },
174
+ },
175
+ desiredDefaultCerts : []* elbv2sdk.Certificate {
176
+ {
177
+ CertificateArn : awssdk .String ("cert-arn1" ),
178
+ IsDefault : awssdk .Bool (true ),
179
+ },
180
+ },
181
+ desiredDefaultActions : []* elbv2sdk.Action {
182
+ {
183
+ Type : awssdk .String ("forward-config" ),
184
+ ForwardConfig : & elbv2sdk.ForwardActionConfig {
185
+ TargetGroups : []* elbv2sdk.TargetGroupTuple {
186
+ {
187
+ TargetGroupArn : awssdk .String ("target-group" ),
188
+ },
189
+ },
190
+ },
191
+ },
192
+ },
193
+ desiredDefaultMutualAuthentication : & elbv2sdk.MutualAuthenticationAttributes {
194
+ Mode : awssdk .String ("off" ),
195
+ },
196
+ },
197
+ },
198
+ {
199
+ name : "listener hasn't drifted if mutualAuthentication verify mode specified" ,
200
+ args : args {
201
+ lsSpec : elbv2model.ListenerSpec {
202
+ Port : 80 ,
203
+ Protocol : elbv2model .ProtocolHTTPS ,
204
+ SSLPolicy : awssdk .String ("ELBSecurityPolicy-FS-1-2-Res-2019-08" ),
205
+ MutualAuthentication : & elbv2model.MutualAuthenticationAttributes {
206
+ Mode : "verify" ,
207
+ TrustStoreArn : awssdk .String ("arn:aws:elasticloadbalancing:us-east-1:123456789123:truststore/ts-1/8786hghf" ),
208
+ },
209
+ },
210
+ sdkLS : ListenerWithTags {
211
+ Listener : & elbv2sdk.Listener {
212
+ Port : awssdk .Int64 (80 ),
213
+ Protocol : awssdk .String ("HTTPS" ),
214
+ Certificates : []* elbv2sdk.Certificate {
215
+ {
216
+ CertificateArn : awssdk .String ("cert-arn1" ),
217
+ IsDefault : awssdk .Bool (true ),
218
+ },
219
+ },
220
+ DefaultActions : []* elbv2sdk.Action {
221
+ {
222
+ Type : awssdk .String ("forward-config" ),
223
+ ForwardConfig : & elbv2sdk.ForwardActionConfig {
224
+ TargetGroups : []* elbv2sdk.TargetGroupTuple {
225
+ {
226
+ TargetGroupArn : awssdk .String ("target-group" ),
227
+ },
228
+ },
229
+ },
230
+ },
231
+ },
232
+ SslPolicy : awssdk .String ("ELBSecurityPolicy-FS-1-2-Res-2019-08" ),
233
+ AlpnPolicy : awssdk .StringSlice ([]string {"HTTP2Preferred" }),
234
+ MutualAuthentication : & elbv2sdk.MutualAuthenticationAttributes {
235
+ Mode : awssdk .String ("verify" ),
236
+ TrustStoreArn : awssdk .String ("arn:aws:elasticloadbalancing:us-east-1:123456789123:truststore/ts-1/8786hghf" ),
237
+ IgnoreClientCertificateExpiry : awssdk .Bool (false ),
238
+ },
157
239
},
158
240
},
159
241
desiredDefaultCerts : []* elbv2sdk.Certificate {
@@ -174,12 +256,17 @@ func Test_isSDKListenerSettingsDrifted(t *testing.T) {
174
256
},
175
257
},
176
258
},
259
+ desiredDefaultMutualAuthentication : & elbv2sdk.MutualAuthenticationAttributes {
260
+ Mode : awssdk .String ("verify" ),
261
+ TrustStoreArn : awssdk .String ("arn:aws:elasticloadbalancing:us-east-1:123456789123:truststore/ts-1/8786hghf" ),
262
+ IgnoreClientCertificateExpiry : awssdk .Bool (false ),
263
+ },
177
264
},
178
265
},
179
266
}
180
267
for _ , tt := range tests {
181
268
t .Run (tt .name , func (t * testing.T ) {
182
- got := isSDKListenerSettingsDrifted (tt .args .lsSpec , tt .args .sdkLS , tt .args .desiredDefaultActions , tt .args .desiredDefaultCerts )
269
+ got := isSDKListenerSettingsDrifted (tt .args .lsSpec , tt .args .sdkLS , tt .args .desiredDefaultActions , tt .args .desiredDefaultCerts , tt . args . desiredDefaultMutualAuthentication )
183
270
assert .Equal (t , tt .want , got )
184
271
})
185
272
}
0 commit comments