@@ -28,6 +28,7 @@ import (
28
28
"sigs.k8s.io/controller-runtime/pkg/client"
29
29
"sigs.k8s.io/controller-runtime/pkg/client/fake"
30
30
31
+ "github.com/karmada-io/karmada/pkg/util"
31
32
"github.com/karmada-io/karmada/pkg/util/gclient"
32
33
)
33
34
@@ -223,3 +224,50 @@ func TestDeleteEndpointSlice(t *testing.T) {
223
224
})
224
225
}
225
226
}
227
+
228
+ func TestIsEndpointSliceManagedByKarmada (t * testing.T ) {
229
+ tests := []struct {
230
+ name string
231
+ labels map [string ]string
232
+ want bool
233
+ }{
234
+ {
235
+ name : "managed by endpointslice-dispatch-controller" ,
236
+ labels : map [string ]string {
237
+ discoveryv1 .LabelManagedBy : util .EndpointSliceDispatchControllerLabelValue ,
238
+ },
239
+ want : true ,
240
+ },
241
+ {
242
+ name : "managed by endpointslice-controller" ,
243
+ labels : map [string ]string {
244
+ discoveryv1 .LabelManagedBy : util .EndpointSliceControllerLabelValue ,
245
+ },
246
+ want : true ,
247
+ },
248
+ {
249
+ name : "not managed by karmada" ,
250
+ labels : map [string ]string {
251
+ discoveryv1 .LabelManagedBy : "not-karmada" ,
252
+ },
253
+ want : false ,
254
+ },
255
+ {
256
+ name : "nil labels" ,
257
+ labels : nil ,
258
+ want : false ,
259
+ },
260
+ {
261
+ name : "empty labels" ,
262
+ labels : map [string ]string {},
263
+ want : false ,
264
+ },
265
+ }
266
+ for _ , tt := range tests {
267
+ t .Run (tt .name , func (t * testing.T ) {
268
+ if got := IsEndpointSliceManagedByKarmada (tt .labels ); got != tt .want {
269
+ t .Errorf ("IsEndpointSliceManagedByKarmada() = %v, want %v" , got , tt .want )
270
+ }
271
+ })
272
+ }
273
+ }
0 commit comments