layer1: formalize namespace removal strategy

This commit is contained in:
Naeel
2026-04-26 10:48:42 +03:00
parent 340b9cae84
commit 0755319fac
8 changed files with 75 additions and 9 deletions
+20 -1
View File
@@ -357,13 +357,32 @@ func TestHandleWatcherNamespaceAddUpdateDelete(t *testing.T) {
t.Fatalf("expected update handler to dispatch resync")
}
HandleWatcherNamespaceDelete(logger, "router.NSWatcher", manager, k8sCache.DeletedFinalStateUnknown{Obj: namespace})
HandleWatcherNamespaceDelete(context.Background(), logger, "router.NSWatcher", manager, k8sCache.DeletedFinalStateUnknown{Obj: namespace}, NamespaceRemovalStrategyTrackOnly)
record, ok := manager.Get("tenant-a")
if !ok || record.Phase != NamespacePhaseRemoved {
t.Fatalf("expected delete handler to mark namespace removed")
}
}
func TestHandleWatcherNamespaceRemovalDispatch(t *testing.T) {
manager := NewNamespaceManager()
router := &testNamespaceSubscriber{name: "router"}
manager.Subscribe(router)
logger := zap.NewNop()
namespace := &corev1.Namespace{}
namespace.Name = "tenant-a"
manager.Upsert(NamespaceEvent{Type: NamespaceEventAdd, Name: "tenant-a", Source: NamespaceSourceWatcher})
HandleWatcherNamespaceRemoval(context.Background(), logger, "router.NSWatcher", manager, namespace, NamespaceRemovalStrategyDispatchRemove)
record, ok := manager.Get("tenant-a")
if !ok || record.Phase != NamespacePhaseRemoved {
t.Fatalf("expected dispatch removal to keep removed record")
}
if router.removeCalls != 1 {
t.Fatalf("expected remove subscriber to be called once")
}
}
func TestNamespaceManagerDispatchAdd(t *testing.T) {
manager := NewNamespaceManager()
manager.Upsert(NamespaceEvent{Type: NamespaceEventAdd, Name: "tenant-a", Source: NamespaceSourceWatcher})