@@ -847,8 +847,8 @@ func Test_defaultModelBuildTask_buildShieldProtection(t *testing.T) {
847847
848848func Test_defaultModelBuildTask_buildWAFv2WebACLAssociationFromWAFv2Name (t * testing.T ) {
849849 type getWebACLCall struct {
850- req * wafv2sdk.GetWebACLInput
851- resp * wafv2sdk.GetWebACLOutput
850+ req * wafv2sdk.ListWebACLsInput
851+ resp * wafv2sdk.ListWebACLsOutput
852852 err error
853853 }
854854 type fields struct {
@@ -942,12 +942,15 @@ func Test_defaultModelBuildTask_buildWAFv2WebACLAssociationFromWAFv2Name(t *test
942942 cache : map [string ]string {},
943943 getWebACLCalls : []getWebACLCall {
944944 {
945- req : & wafv2sdk.GetWebACLInput {
946- Name : awssdk . String ( "web-acl-name1" ) ,
945+ req : & wafv2sdk.ListWebACLsInput {
946+ Scope : wafv2types . ScopeRegional ,
947947 },
948- resp : & wafv2sdk.GetWebACLOutput {
949- WebACL : & wafv2types.WebACL {
950- ARN : awssdk .String ("web-acl-arn1" ),
948+ resp : & wafv2sdk.ListWebACLsOutput {
949+ WebACLs : []wafv2types.WebACLSummary {
950+ {
951+ Name : awssdk .String ("web-acl-name1" ),
952+ ARN : awssdk .String ("web-acl-arn1" ),
953+ },
951954 },
952955 },
953956 err : nil ,
@@ -1041,12 +1044,15 @@ func Test_defaultModelBuildTask_buildWAFv2WebACLAssociationFromWAFv2Name(t *test
10411044 cache : map [string ]string {},
10421045 getWebACLCalls : []getWebACLCall {
10431046 {
1044- req : & wafv2sdk.GetWebACLInput {
1045- Name : awssdk . String ( "web-acl-name1" ) ,
1047+ req : & wafv2sdk.ListWebACLsInput {
1048+ Scope : wafv2types . ScopeRegional ,
10461049 },
1047- resp : & wafv2sdk.GetWebACLOutput {
1048- WebACL : & wafv2types.WebACL {
1049- ARN : awssdk .String ("web-acl-arn1" ),
1050+ resp : & wafv2sdk.ListWebACLsOutput {
1051+ WebACLs : []wafv2types.WebACLSummary {
1052+ {
1053+ Name : awssdk .String ("web-acl-name1" ),
1054+ ARN : awssdk .String ("web-acl-arn1" ),
1055+ },
10501056 },
10511057 },
10521058 err : nil ,
@@ -1093,12 +1099,15 @@ func Test_defaultModelBuildTask_buildWAFv2WebACLAssociationFromWAFv2Name(t *test
10931099 cache : map [string ]string {},
10941100 getWebACLCalls : []getWebACLCall {
10951101 {
1096- req : & wafv2sdk.GetWebACLInput {
1097- Name : awssdk . String ( "web-acl-name1" ) ,
1102+ req : & wafv2sdk.ListWebACLsInput {
1103+ Scope : wafv2types . ScopeRegional ,
10981104 },
1099- resp : & wafv2sdk.GetWebACLOutput {
1100- WebACL : & wafv2types.WebACL {
1101- ARN : awssdk .String ("web-acl-arn1" ),
1105+ resp : & wafv2sdk.ListWebACLsOutput {
1106+ WebACLs : []wafv2types.WebACLSummary {
1107+ {
1108+ Name : awssdk .String ("web-acl-name1" ),
1109+ ARN : awssdk .String ("web-acl-arn1" ),
1110+ },
11021111 },
11031112 },
11041113 err : nil ,
@@ -1147,12 +1156,15 @@ func Test_defaultModelBuildTask_buildWAFv2WebACLAssociationFromWAFv2Name(t *test
11471156 cache : map [string ]string {},
11481157 getWebACLCalls : []getWebACLCall {
11491158 {
1150- req : & wafv2sdk.GetWebACLInput {
1151- Name : awssdk . String ( "web-acl-name1" ) ,
1159+ req : & wafv2sdk.ListWebACLsInput {
1160+ Scope : wafv2types . ScopeRegional ,
11521161 },
1153- resp : & wafv2sdk.GetWebACLOutput {
1154- WebACL : & wafv2types.WebACL {
1155- ARN : awssdk .String ("web-acl-arn1" ),
1162+ resp : & wafv2sdk.ListWebACLsOutput {
1163+ WebACLs : []wafv2types.WebACLSummary {
1164+ {
1165+ Name : awssdk .String ("web-acl-name1" ),
1166+ ARN : awssdk .String ("web-acl-arn1" ),
1167+ },
11561168 },
11571169 },
11581170 err : nil ,
@@ -1216,6 +1228,58 @@ func Test_defaultModelBuildTask_buildWAFv2WebACLAssociationFromWAFv2Name(t *test
12161228 },
12171229 wantCache : map [string ]string {},
12181230 },
1231+ {
1232+ name : "name not found" ,
1233+ fields : fields {
1234+ ingGroup : Group {
1235+ Members : []ClassifiedIngress {
1236+ {
1237+ Ing : & networking.Ingress {
1238+ ObjectMeta : metav1.ObjectMeta {
1239+ Namespace : "awesome-ns" ,
1240+ Name : "awesome-ing-0" ,
1241+ Annotations : map [string ]string {
1242+ "alb.ingress.kubernetes.io/wafv2-acl-name" : "web-acl-name1" ,
1243+ },
1244+ },
1245+ },
1246+ IngClassConfig : ClassConfiguration {
1247+ IngClassParams : & v1beta1.IngressClassParams {
1248+ Spec : v1beta1.IngressClassParamsSpec {
1249+ WAFv2ACLName : "web-acl-name1" ,
1250+ },
1251+ },
1252+ },
1253+ },
1254+ },
1255+ },
1256+ },
1257+ args : args {
1258+ lbARN : core .LiteralStringToken ("awesome-lb-arn" ),
1259+ cache : map [string ]string {},
1260+ getWebACLCalls : []getWebACLCall {
1261+ {
1262+ req : & wafv2sdk.ListWebACLsInput {
1263+ Scope : wafv2types .ScopeRegional ,
1264+ },
1265+ resp : & wafv2sdk.ListWebACLsOutput {
1266+ WebACLs : []wafv2types.WebACLSummary {
1267+ {
1268+ Name : awssdk .String ("some other name" ),
1269+ ARN : awssdk .String ("web-acl-arn1" ),
1270+ },
1271+ },
1272+ },
1273+ err : nil ,
1274+ },
1275+ },
1276+ },
1277+ wantErr : func (t assert.TestingT , err error , msgAndArgs ... interface {}) bool {
1278+ assert .EqualError (t , err , "couldn't find WAFv2 WebACL with name: web-acl-name1" , msgAndArgs ... )
1279+ return false
1280+ },
1281+ wantCache : map [string ]string {},
1282+ },
12191283 }
12201284
12211285 for _ , tt := range tests {
@@ -1229,7 +1293,7 @@ func Test_defaultModelBuildTask_buildWAFv2WebACLAssociationFromWAFv2Name(t *test
12291293
12301294 for _ , call := range tt .args .getWebACLCalls {
12311295 wafv2Client .EXPECT ().
1232- GetWebACLWithContext (gomock .Any (), call .req ).
1296+ ListWebACLsWithContext (gomock .Any (), call .req ).
12331297 Return (call .resp , call .err )
12341298 }
12351299
@@ -1257,8 +1321,8 @@ func Test_defaultModelBuildTask_buildWAFv2WebACLAssociationFromWAFv2Name(t *test
12571321 for webACLName , expectedArn := range tt .wantCache {
12581322 rawCacheItem , exists := task .webACLNameToArnMapper .cache .Get (webACLName )
12591323 assert .True (t , exists )
1260- cachedArn := rawCacheItem .(* string )
1261- assert .Equal (t , expectedArn , * cachedArn )
1324+ cachedArn := rawCacheItem .(string )
1325+ assert .Equal (t , expectedArn , cachedArn )
12621326 }
12631327 })
12641328 }
0 commit comments