@@ -970,6 +970,7 @@ func TestResolutionConfig(t *testing.T) {
970
970
config * api.ImagePolicyConfig
971
971
resource schema.GroupResource
972
972
attrs rules.ImagePolicyAttributes
973
+ update bool
973
974
974
975
resolve bool
975
976
fail bool
@@ -1042,6 +1043,63 @@ func TestResolutionConfig(t *testing.T) {
1042
1043
resolve : true ,
1043
1044
rewrite : true ,
1044
1045
},
1046
+ // resource match skips on job update
1047
+ {
1048
+ attrs : rules.ImagePolicyAttributes {LocalRewrite : true },
1049
+ config : & api.ImagePolicyConfig {
1050
+ ResolveImages : api .DoNotAttempt ,
1051
+ ResolutionRules : []api.ImageResolutionPolicyRule {
1052
+ {LocalNames : true , TargetResource : metav1.GroupResource {Group : "extensions" , Resource : "jobs" }},
1053
+ },
1054
+ },
1055
+ resource : schema.GroupResource {Group : "extensions" , Resource : "jobs" },
1056
+ update : true ,
1057
+ resolve : true ,
1058
+ rewrite : false ,
1059
+ },
1060
+ // resource match succeeds on job create
1061
+ {
1062
+ attrs : rules.ImagePolicyAttributes {LocalRewrite : true },
1063
+ config : & api.ImagePolicyConfig {
1064
+ ResolveImages : api .DoNotAttempt ,
1065
+ ResolutionRules : []api.ImageResolutionPolicyRule {
1066
+ {LocalNames : true , TargetResource : metav1.GroupResource {Group : "extensions" , Resource : "jobs" }},
1067
+ },
1068
+ },
1069
+ resource : schema.GroupResource {Group : "extensions" , Resource : "jobs" },
1070
+ update : false ,
1071
+ resolve : true ,
1072
+ rewrite : true ,
1073
+ },
1074
+ // resource match skips on build update
1075
+ {
1076
+ attrs : rules.ImagePolicyAttributes {LocalRewrite : true },
1077
+ config : & api.ImagePolicyConfig {
1078
+ ResolveImages : api .DoNotAttempt ,
1079
+ ResolutionRules : []api.ImageResolutionPolicyRule {
1080
+ {LocalNames : true , TargetResource : metav1.GroupResource {Group : "build.openshift.io" , Resource : "builds" }},
1081
+ },
1082
+ },
1083
+ resource : schema.GroupResource {Group : "build.openshift.io" , Resource : "builds" },
1084
+ update : true ,
1085
+ resolve : true ,
1086
+ rewrite : false ,
1087
+ },
1088
+ // resource match skips on statefulset update
1089
+ // TODO: remove in 3.7
1090
+ {
1091
+ attrs : rules.ImagePolicyAttributes {LocalRewrite : true },
1092
+ config : & api.ImagePolicyConfig {
1093
+ ResolveImages : api .DoNotAttempt ,
1094
+ ResolutionRules : []api.ImageResolutionPolicyRule {
1095
+ {LocalNames : true , TargetResource : metav1.GroupResource {Group : "apps" , Resource : "statefulsets" }},
1096
+ },
1097
+ },
1098
+ resource : schema.GroupResource {Group : "apps" , Resource : "statefulsets" },
1099
+ update : true ,
1100
+ resolve : true ,
1101
+ rewrite : false ,
1102
+ },
1045
1103
}
1046
1104
1047
1105
for i , test := range testCases {
@@ -1052,7 +1110,7 @@ func TestResolutionConfig(t *testing.T) {
1052
1110
if c .FailOnResolutionFailure (test .resource ) != test .fail {
1053
1111
t .Errorf ("%d: resolution failure != %t" , i , test .fail )
1054
1112
}
1055
- if c .RewriteImagePullSpec (& test .attrs , test .resource ) != test .rewrite {
1113
+ if c .RewriteImagePullSpec (& test .attrs , test .update , test . resource ) != test .rewrite {
1056
1114
t .Errorf ("%d: rewrite != %t" , i , test .rewrite )
1057
1115
}
1058
1116
}
0 commit comments