@@ -2837,3 +2837,31 @@ func TestGatewayController_getObjectsForGatewayNamespaceInconsistency(t *testing
28372837 require .Error (t , err )
28382838 require .Contains (t , err .Error (), "found gateway-labeled objects in multiple namespaces" )
28392839}
2840+
2841+ func TestGatewayController_getObjectsForGatewaySameNamespace (t * testing.T ) {
2842+ const gwName , ns = "gw" , "shared"
2843+ labels := map [string ]string {
2844+ egOwningGatewayNameLabel : gwName ,
2845+ egOwningGatewayNamespaceLabel : ns ,
2846+ }
2847+ gw := & gwapiv1.Gateway {ObjectMeta : metav1.ObjectMeta {Name : gwName , Namespace : ns }}
2848+
2849+ kube := fake2 .NewClientset ()
2850+ c := NewGatewayController (requireNewFakeClientWithIndexes (t ), kube , ctrl .Log , ns ,
2851+ "docker.io/envoyproxy/ai-gateway-extproc:latest" , "info" , false , nil , true )
2852+
2853+ _ , err := kube .CoreV1 ().Pods (ns ).Create (t .Context (), & corev1.Pod {
2854+ ObjectMeta : metav1.ObjectMeta {Name : "pod-1" , Namespace : ns , Labels : labels },
2855+ }, metav1.CreateOptions {})
2856+ require .NoError (t , err )
2857+ _ , err = kube .AppsV1 ().Deployments (ns ).Create (t .Context (), & appsv1.Deployment {
2858+ ObjectMeta : metav1.ObjectMeta {Name : "dep-1" , Namespace : ns , Labels : labels },
2859+ }, metav1.CreateOptions {})
2860+ require .NoError (t , err )
2861+
2862+ namespace , pods , deployments , _ , err := c .getObjectsForGateway (t .Context (), gw )
2863+ require .NoError (t , err )
2864+ require .Equal (t , ns , namespace )
2865+ require .Len (t , pods , 1 )
2866+ require .Len (t , deployments , 1 )
2867+ }
0 commit comments