@@ -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