Skip to content

Commit df21907

Browse files
committed
Add change processor test cases
1 parent 549cb1d commit df21907

File tree

1 file changed

+110
-10
lines changed

1 file changed

+110
-10
lines changed

internal/mode/static/state/change_processor_test.go

Lines changed: 110 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,6 +1002,7 @@ var _ = Describe("ChangeProcessor", func() {
10021002
hr1svc, sharedSvc, bazSvc1, bazSvc2, bazSvc3, invalidSvc, notRefSvc *apiv1.Service
10031003
hr1slice1, hr1slice2, noRefSlice, missingSvcNameSlice *discoveryV1.EndpointSlice
10041004
gw *v1.Gateway
1005+
btls *v1alpha2.BackendTLSPolicy
10051006
)
10061007

10071008
createSvc := func(name string) *apiv1.Service {
@@ -1023,6 +1024,24 @@ var _ = Describe("ChangeProcessor", func() {
10231024
}
10241025
}
10251026

1027+
createBackendTLSPolicy := func(name string, svcName string) *v1alpha2.BackendTLSPolicy {
1028+
return &v1alpha2.BackendTLSPolicy{
1029+
ObjectMeta: metav1.ObjectMeta{
1030+
Namespace: "test",
1031+
Name: name,
1032+
},
1033+
Spec: v1alpha2.BackendTLSPolicySpec{
1034+
TargetRef: v1alpha2.PolicyTargetReferenceWithSectionName{
1035+
PolicyTargetReference: v1alpha2.PolicyTargetReference{
1036+
Kind: v1.Kind("Service"),
1037+
Name: v1.ObjectName(svcName),
1038+
Namespace: helpers.GetPointer(v1.Namespace("test")),
1039+
},
1040+
},
1041+
},
1042+
}
1043+
}
1044+
10261045
BeforeAll(func() {
10271046
testNamespace := v1.Namespace("test")
10281047
kindService := v1.Kind("Service")
@@ -1068,6 +1087,9 @@ var _ = Describe("ChangeProcessor", func() {
10681087
noRefSlice = createEndpointSlice("no-ref", "no-ref")
10691088
missingSvcNameSlice = createEndpointSlice("missing-svc-name", "")
10701089

1090+
// backendTLSPolicy
1091+
btls = createBackendTLSPolicy("btls", "foo-svc")
1092+
10711093
gw = createGateway("gw")
10721094
processor.CaptureUpsertChange(gc)
10731095
processor.CaptureUpsertChange(gw)
@@ -1100,6 +1122,11 @@ var _ = Describe("ChangeProcessor", func() {
11001122
testUpsertTriggersChange(hr1svc, state.ClusterStateChange)
11011123
})
11021124
})
1125+
When("a backendTLSPolicy is added for referenced service", func() {
1126+
It("should trigger a change", func() {
1127+
testUpsertTriggersChange(btls, state.ClusterStateChange)
1128+
})
1129+
})
11031130
When("an hr1 endpoint slice is added", func() {
11041131
It("should trigger a change", func() {
11051132
testUpsertTriggersChange(hr1slice1, state.EndpointsOnlyChange)
@@ -1503,17 +1530,20 @@ var _ = Describe("ChangeProcessor", func() {
15031530
// Note: in these tests, we deliberately don't fully inspect the returned configuration and statuses
15041531
// -- this is done in 'Normal cases of processing changes'
15051532

1533+
//nolint:lll
15061534
var (
1507-
processor *state.ChangeProcessorImpl
1508-
gcNsName, gwNsName, hrNsName, hr2NsName, rgNsName, svcNsName, sliceNsName, secretNsName types.NamespacedName
1509-
gc, gcUpdated *v1.GatewayClass
1510-
gw1, gw1Updated, gw2 *v1.Gateway
1511-
hr1, hr1Updated, hr2 *v1.HTTPRoute
1512-
rg1, rg1Updated, rg2 *v1beta1.ReferenceGrant
1513-
svc, barSvc, unrelatedSvc *apiv1.Service
1514-
slice, barSlice, unrelatedSlice *discoveryV1.EndpointSlice
1515-
ns, unrelatedNS, testNs, barNs *apiv1.Namespace
1516-
secret, secretUpdated, unrelatedSecret, barSecret, barSecretUpdated *apiv1.Secret
1535+
processor *state.ChangeProcessorImpl
1536+
gcNsName, gwNsName, hrNsName, hr2NsName, rgNsName, svcNsName, sliceNsName, secretNsName, cmNsName, btlsNsName types.NamespacedName
1537+
gc, gcUpdated *v1.GatewayClass
1538+
gw1, gw1Updated, gw2 *v1.Gateway
1539+
hr1, hr1Updated, hr2 *v1.HTTPRoute
1540+
rg1, rg1Updated, rg2 *v1beta1.ReferenceGrant
1541+
svc, barSvc, unrelatedSvc *apiv1.Service
1542+
slice, barSlice, unrelatedSlice *discoveryV1.EndpointSlice
1543+
ns, unrelatedNS, testNs, barNs *apiv1.Namespace
1544+
secret, secretUpdated, unrelatedSecret, barSecret, barSecretUpdated *apiv1.Secret
1545+
cm, cmUpdated, unrelatedCM *apiv1.ConfigMap
1546+
btls, btlsUpdated *v1alpha2.BackendTLSPolicy
15171547
)
15181548

15191549
BeforeEach(OncePerOrdered, func() {
@@ -1756,6 +1786,56 @@ var _ = Describe("ChangeProcessor", func() {
17561786

17571787
rg2 = rg1.DeepCopy()
17581788
rg2.Name = "rg-2"
1789+
1790+
cmNsName = types.NamespacedName{Namespace: "test", Name: "cm-1"}
1791+
cm = &apiv1.ConfigMap{
1792+
ObjectMeta: metav1.ObjectMeta{
1793+
Name: cmNsName.Name,
1794+
Namespace: cmNsName.Namespace,
1795+
},
1796+
Data: map[string]string{
1797+
"ca.crt": "value",
1798+
},
1799+
}
1800+
cmUpdated = cm.DeepCopy()
1801+
cmUpdated.Data["ca.crt"] = "updated-value"
1802+
1803+
unrelatedCM = &apiv1.ConfigMap{
1804+
ObjectMeta: metav1.ObjectMeta{
1805+
Name: "unrelated-cm",
1806+
Namespace: "unrelated-ns",
1807+
},
1808+
Data: map[string]string{
1809+
"ca.crt": "value",
1810+
},
1811+
}
1812+
1813+
btlsNsName = types.NamespacedName{Namespace: "test", Name: "btls-1"}
1814+
btls = &v1alpha2.BackendTLSPolicy{
1815+
ObjectMeta: metav1.ObjectMeta{
1816+
Name: btlsNsName.Name,
1817+
Namespace: btlsNsName.Namespace,
1818+
Generation: 1,
1819+
},
1820+
Spec: v1alpha2.BackendTLSPolicySpec{
1821+
TargetRef: v1alpha2.PolicyTargetReferenceWithSectionName{
1822+
PolicyTargetReference: v1alpha2.PolicyTargetReference{
1823+
Kind: "Service",
1824+
Name: v1.ObjectName(svc.Name),
1825+
Namespace: helpers.GetPointer(v1.Namespace(svc.Namespace)),
1826+
},
1827+
},
1828+
TLS: v1alpha2.BackendTLSPolicyConfig{
1829+
CACertRefs: []v1.LocalObjectReference{
1830+
{
1831+
Name: v1.ObjectName(cm.Name),
1832+
},
1833+
},
1834+
},
1835+
},
1836+
}
1837+
btlsUpdated = btls.DeepCopy()
1838+
btlsUpdated.Generation++
17591839
})
17601840
// Changing change - a change that makes processor.Process() report changed
17611841
// Non-changing change - a change that doesn't do that
@@ -1771,6 +1851,8 @@ var _ = Describe("ChangeProcessor", func() {
17711851
processor.CaptureUpsertChange(testNs)
17721852
processor.CaptureUpsertChange(hr1)
17731853
processor.CaptureUpsertChange(rg1)
1854+
processor.CaptureUpsertChange(btls)
1855+
processor.CaptureUpsertChange(cm)
17741856

17751857
changed, _ := processor.Process()
17761858
Expect(changed).To(Equal(state.ClusterStateChange))
@@ -1782,12 +1864,16 @@ var _ = Describe("ChangeProcessor", func() {
17821864
processor.CaptureUpsertChange(gw1Updated)
17831865
processor.CaptureUpsertChange(hr1Updated)
17841866
processor.CaptureUpsertChange(rg1Updated)
1867+
processor.CaptureUpsertChange(btlsUpdated)
1868+
processor.CaptureUpsertChange(cmUpdated)
17851869

17861870
// there are non-changing changes
17871871
processor.CaptureUpsertChange(gcUpdated)
17881872
processor.CaptureUpsertChange(gw1Updated)
17891873
processor.CaptureUpsertChange(hr1Updated)
17901874
processor.CaptureUpsertChange(rg1Updated)
1875+
processor.CaptureUpsertChange(btlsUpdated)
1876+
processor.CaptureUpsertChange(cmUpdated)
17911877

17921878
changed, _ := processor.Process()
17931879
Expect(changed).To(Equal(state.ClusterStateChange))
@@ -1809,6 +1895,8 @@ var _ = Describe("ChangeProcessor", func() {
18091895
processor.CaptureDeleteChange(&v1.Gateway{}, gwNsName)
18101896
processor.CaptureDeleteChange(&v1.HTTPRoute{}, hrNsName)
18111897
processor.CaptureDeleteChange(&v1beta1.ReferenceGrant{}, rgNsName)
1898+
processor.CaptureDeleteChange(&v1alpha2.BackendTLSPolicy{}, btlsNsName)
1899+
processor.CaptureDeleteChange(&apiv1.ConfigMap{}, cmNsName)
18121900

18131901
// these are non-changing changes
18141902
processor.CaptureUpsertChange(gw2)
@@ -1847,6 +1935,7 @@ var _ = Describe("ChangeProcessor", func() {
18471935
processor.CaptureUpsertChange(hr1)
18481936
processor.CaptureUpsertChange(secret)
18491937
processor.CaptureUpsertChange(barSecret)
1938+
processor.CaptureUpsertChange(cm)
18501939
changed, _ := processor.Process()
18511940
Expect(changed).To(Equal(state.ClusterStateChange))
18521941
})
@@ -1856,6 +1945,7 @@ var _ = Describe("ChangeProcessor", func() {
18561945
processor.CaptureUpsertChange(slice)
18571946
processor.CaptureUpsertChange(ns)
18581947
processor.CaptureUpsertChange(secretUpdated)
1948+
processor.CaptureUpsertChange(cmUpdated)
18591949
changed, _ := processor.Process()
18601950
Expect(changed).To(Equal(state.ClusterStateChange))
18611951
})
@@ -1864,6 +1954,7 @@ var _ = Describe("ChangeProcessor", func() {
18641954
processor.CaptureUpsertChange(unrelatedSlice)
18651955
processor.CaptureUpsertChange(unrelatedNS)
18661956
processor.CaptureUpsertChange(unrelatedSecret)
1957+
processor.CaptureUpsertChange(unrelatedCM)
18671958

18681959
changed, _ := processor.Process()
18691960
Expect(changed).To(Equal(state.NoChange))
@@ -1875,12 +1966,14 @@ var _ = Describe("ChangeProcessor", func() {
18751966
processor.CaptureUpsertChange(barSlice)
18761967
processor.CaptureUpsertChange(barNs)
18771968
processor.CaptureUpsertChange(barSecretUpdated)
1969+
processor.CaptureUpsertChange(cmUpdated)
18781970

18791971
// there are non-changing changes
18801972
processor.CaptureUpsertChange(unrelatedSvc)
18811973
processor.CaptureUpsertChange(unrelatedSlice)
18821974
processor.CaptureUpsertChange(unrelatedNS)
18831975
processor.CaptureUpsertChange(unrelatedSecret)
1976+
processor.CaptureUpsertChange(unrelatedCM)
18841977

18851978
changed, _ := processor.Process()
18861979
Expect(changed).To(Equal(state.ClusterStateChange))
@@ -1893,12 +1986,14 @@ var _ = Describe("ChangeProcessor", func() {
18931986
processor.CaptureDeleteChange(&discoveryV1.EndpointSlice{}, sliceNsName)
18941987
processor.CaptureDeleteChange(&apiv1.Namespace{}, types.NamespacedName{Name: "ns"})
18951988
processor.CaptureDeleteChange(&apiv1.Secret{}, secretNsName)
1989+
processor.CaptureDeleteChange(&apiv1.ConfigMap{}, cmNsName)
18961990

18971991
// these are non-changing changes
18981992
processor.CaptureUpsertChange(unrelatedSvc)
18991993
processor.CaptureUpsertChange(unrelatedSlice)
19001994
processor.CaptureUpsertChange(unrelatedNS)
19011995
processor.CaptureUpsertChange(unrelatedSecret)
1996+
processor.CaptureUpsertChange(unrelatedCM)
19021997

19031998
changed, _ := processor.Process()
19041999
Expect(changed).To(Equal(state.ClusterStateChange))
@@ -1913,12 +2008,14 @@ var _ = Describe("ChangeProcessor", func() {
19132008
processor.CaptureUpsertChange(testNs)
19142009
processor.CaptureUpsertChange(hr1)
19152010
processor.CaptureUpsertChange(rg1)
2011+
processor.CaptureUpsertChange(btls)
19162012

19172013
// related Kubernetes API resources
19182014
processor.CaptureUpsertChange(svc)
19192015
processor.CaptureUpsertChange(slice)
19202016
processor.CaptureUpsertChange(ns)
19212017
processor.CaptureUpsertChange(secret)
2018+
processor.CaptureUpsertChange(cm)
19222019

19232020
changed, _ := processor.Process()
19242021
Expect(changed).To(Equal(state.ClusterStateChange))
@@ -1929,6 +2026,7 @@ var _ = Describe("ChangeProcessor", func() {
19292026
processor.CaptureUpsertChange(unrelatedSlice)
19302027
processor.CaptureUpsertChange(unrelatedNS)
19312028
processor.CaptureUpsertChange(unrelatedSecret)
2029+
processor.CaptureUpsertChange(unrelatedCM)
19322030

19332031
changed, _ := processor.Process()
19342032
Expect(changed).To(Equal(state.NoChange))
@@ -1940,12 +2038,14 @@ var _ = Describe("ChangeProcessor", func() {
19402038
processor.CaptureUpsertChange(gw1Updated)
19412039
processor.CaptureUpsertChange(hr1Updated)
19422040
processor.CaptureUpsertChange(rg1Updated)
2041+
processor.CaptureUpsertChange(btlsUpdated)
19432042

19442043
// these are non-changing changes
19452044
processor.CaptureUpsertChange(unrelatedSvc)
19462045
processor.CaptureUpsertChange(unrelatedSlice)
19472046
processor.CaptureUpsertChange(unrelatedNS)
19482047
processor.CaptureUpsertChange(unrelatedSecret)
2048+
processor.CaptureUpsertChange(unrelatedCM)
19492049

19502050
changed, _ := processor.Process()
19512051
Expect(changed).To(Equal(state.ClusterStateChange))

0 commit comments

Comments
 (0)