layer1: prepare managed namespace watchers

This commit is contained in:
Naeel
2026-04-26 10:54:24 +03:00
parent a1517ba4b2
commit 2bbed95c2a
6 changed files with 51 additions and 6 deletions
+19
View File
@@ -429,6 +429,25 @@ func TestNewNamespaceWatcherEventHandlers(t *testing.T) {
}
}
func TestPrepareManagedNamespaceWatcher(t *testing.T) {
router := &testNamespaceSubscriber{name: "router"}
logger := zap.NewNop()
manager, handlers, err := PrepareManagedNamespaceWatcher(context.Background(), logger, "router.NSWatcher", []string{"tenant-a"}, NamespaceRemovalStrategyTrackOnly, router)
if err != nil {
t.Fatalf("expected watcher preparation success: %v", err)
}
if !reflect.DeepEqual([]string{"tenant-a"}, manager.Snapshot()) {
t.Fatalf("expected watcher manager snapshot to contain bootstrapped namespace")
}
namespace := &corev1.Namespace{}
namespace.Name = "tenant-a"
namespace.Labels = map[string]string{ManagedNamespaceLabelKey: ManagedNamespaceLabelValue}
handlers.UpdateFunc(namespace, namespace)
if router.addCalls != 1 || router.resyncCalls != 1 {
t.Fatalf("expected bootstrap add and handler resync calls")
}
}
func TestNamespaceManagerDispatchAdd(t *testing.T) {
manager := NewNamespaceManager()
manager.Upsert(NamespaceEvent{Type: NamespaceEventAdd, Name: "tenant-a", Source: NamespaceSourceWatcher})