@@ -34,7 +34,7 @@ func TestIsDefinedTagsEqual(t *testing.T) {
3434func TestGetImplicitDefaultTagsForNewLoadBalancer (t * testing.T ) {
3535 RegisterTestingT (t )
3636
37- actualDefinedTags := util.DefinedTagsType {"n1" : {"k1" : "v1 " , "KI1" : "vi1" }, "n2" : {"k2" : "V2" , "K3" : "v3" }, "n3" : {"k4" : "v4" }}
37+ actualDefinedTags := util.DefinedTagsType {"n1" : {"k1" : "newValue " , "KI1" : "vi1" }, "n2" : {"k2" : "V2" , "K3" : "v3" }, "n3" : {"k4" : "v4" }}
3838 suppliedDefinedTags := util.DefinedTagsType {"N1" : {"k1" : "v1" }, "n2" : {"K2" : "V2" , "k3" : "v3" }}
3939 expectedImplicitDefaultTags := util.DefinedTagsType {"n1" : {"KI1" : "vi1" }, "n3" : {"k4" : "v4" }}
4040
@@ -44,22 +44,29 @@ func TestGetImplicitDefaultTagsForNewLoadBalancer(t *testing.T) {
4444func TestGetUpdatedDefinedAndImplicitDefaultTags (t * testing.T ) {
4545 RegisterTestingT (t )
4646
47- actualTags := util.DefinedTagsType {"n1" : {"k1" : "v1" , "KI1" : "vi1" }, "n2" : {"K2" : "V2" , "k3" : "v3" }, "n3" : {"K4" : "v5" }}
48-
4947 ingressClass := & networkingv1.IngressClass {
5048 ObjectMeta : v1.ObjectMeta {
51- Annotations : map [string ]string {
52- util .IngressClassDefinedTagsAnnotation : `{"n1": {"k1": "v1"}, "N2": {"k2": "v3", "K3": "V3"}}` ,
53- util .IngressClassImplicitDefaultTagsAnnotation : `{"n1": {"KI1": "vi1"}, "n2": {"K2": "V2"}, "n3": {"k4": "V4"}}` ,
54- },
49+ Annotations : map [string ]string {},
5550 },
5651 }
5752
58- expectedDefinedTags := util.DefinedTagsType {"n1" : {"k1" : "v1 " , "ki1 " : "vi1" } , "n2 " : { "k2" : "v3" , "k3" : "V3" }, "n3" : { "k4" : "v5" }}
59- expectedDefaultTags := util. DefinedTagsType { "n1 " : { "KI1" : "vi1 " }, "n3" : {"K4" : "v5" }}
53+ actualTags := util.DefinedTagsType {"n1" : {"k1" : "newValue " , "KI1 " : "vi1" , "deletedKey " : "val" },
54+ "n2" : { "K2 " : "V2" , "k3" : "v3 " }, "n3" : {"K4" : "v5" }}
6055
56+ // If both DefinedTags and DefaultTags annotations are missing, should behave like a new LoadBalancer
6157 definedTags , defaultTags , err := getUpdatedDefinedAndImplicitDefaultTags (actualTags , ingressClass )
6258 Expect (err ).To (BeNil ())
59+ Expect (defaultTags ).Should (Equal (actualTags ))
60+ Expect (definedTags ).Should (Equal (actualTags ))
61+
62+ ingressClass .Annotations [util .IngressClassDefinedTagsAnnotation ] = `{"n1": {"k1": "has ${oci.datetime}"}, "N2": {"k2": "v3", "K3": "V3", "K5": "name-${iam.principal.name}"}}`
63+ ingressClass .Annotations [util .IngressClassImplicitDefaultTagsAnnotation ] = `{"n1": {"KI1": "vi1"}, "n2": {"K2": "V2"}, "n3": {"k4": "V4"}}`
64+
65+ expectedDefinedTags := util.DefinedTagsType {"n1" : {"k1" : "newValue" , "ki1" : "vi1" }, "n2" : {"k2" : "v3" , "k3" : "V3" , "k5" : "name-${iam.principal.name}" }, "n3" : {"k4" : "v5" }}
66+ expectedDefaultTags := util.DefinedTagsType {"n1" : {"KI1" : "vi1" }, "n3" : {"K4" : "v5" }}
67+
68+ definedTags , defaultTags , err = getUpdatedDefinedAndImplicitDefaultTags (actualTags , ingressClass )
69+ Expect (err ).To (BeNil ())
6370 Expect (expectedDefinedTags ).Should (Equal (definedTags ))
6471 Expect (expectedDefaultTags ).Should (Equal (defaultTags ))
6572}
0 commit comments