layer1: add managed watcher config
This commit is contained in:
@@ -445,7 +445,12 @@ 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)
|
||||
manager, handlers, err := PrepareManagedNamespaceWatcher(context.Background(), logger, ManagedNamespaceWatcherConfig{
|
||||
Component: "router.NSWatcher",
|
||||
Namespaces: []string{"tenant-a"},
|
||||
RemovalStrategy: NamespaceRemovalStrategyTrackOnly,
|
||||
Subscriber: router,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("expected watcher preparation success: %v", err)
|
||||
}
|
||||
@@ -466,7 +471,12 @@ func TestRunManagedNamespaceWatcher(t *testing.T) {
|
||||
defer cancel()
|
||||
router := &testNamespaceSubscriber{name: "router"}
|
||||
logger := zap.NewNop()
|
||||
manager, err := RunManagedNamespaceWatcher(ctx, logger, "router.NSWatcher", k8sfake.NewSimpleClientset(), managerPkg.New(), []string{"tenant-a"}, NamespaceRemovalStrategyTrackOnly, router)
|
||||
manager, err := RunManagedNamespaceWatcher(ctx, logger, k8sfake.NewSimpleClientset(), managerPkg.New(), ManagedNamespaceWatcherConfig{
|
||||
Component: "router.NSWatcher",
|
||||
Namespaces: []string{"tenant-a"},
|
||||
RemovalStrategy: NamespaceRemovalStrategyTrackOnly,
|
||||
Subscriber: router,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("expected managed namespace watcher run success: %v", err)
|
||||
}
|
||||
@@ -475,6 +485,30 @@ func TestRunManagedNamespaceWatcher(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrepareManagedNamespaceWatcherDefaultsToTrackOnly(t *testing.T) {
|
||||
router := &testNamespaceSubscriber{name: "router"}
|
||||
logger := zap.NewNop()
|
||||
manager, handlers, err := PrepareManagedNamespaceWatcher(context.Background(), logger, ManagedNamespaceWatcherConfig{
|
||||
Component: "router.NSWatcher",
|
||||
Namespaces: []string{"tenant-a"},
|
||||
Subscriber: router,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("expected watcher preparation success: %v", err)
|
||||
}
|
||||
namespace := &corev1.Namespace{}
|
||||
namespace.Name = "tenant-a"
|
||||
namespace.Labels = map[string]string{ManagedNamespaceLabelKey: ManagedNamespaceLabelValue}
|
||||
handlers.DeleteFunc(k8sCache.DeletedFinalStateUnknown{Obj: namespace})
|
||||
record, ok := manager.Get("tenant-a")
|
||||
if !ok || record.Phase != NamespacePhaseRemoved {
|
||||
t.Fatalf("expected default strategy to keep track-only removal semantics")
|
||||
}
|
||||
if router.removeCalls != 0 {
|
||||
t.Fatalf("expected default strategy not to dispatch remove")
|
||||
}
|
||||
}
|
||||
|
||||
func TestNamespaceManagerSummary(t *testing.T) {
|
||||
manager := NewNamespaceManager()
|
||||
manager.Upsert(NamespaceEvent{Type: NamespaceEventAdd, Name: "tenant-a", Source: NamespaceSourceWatcher})
|
||||
|
||||
Reference in New Issue
Block a user