layer1: harden namespace watcher logging path
This commit is contained in:
@@ -407,6 +407,28 @@ func TestHandleWatcherNamespaceAddLogsSummary(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleWatcherNamespaceAddWithNilLogger(t *testing.T) {
|
||||
manager := NewNamespaceManager()
|
||||
router := &testNamespaceSubscriber{name: "router", addErr: errors.New("add failed")}
|
||||
manager.Subscribe(router)
|
||||
namespace := &corev1.Namespace{}
|
||||
namespace.Name = "tenant-a"
|
||||
namespace.Labels = map[string]string{ManagedNamespaceLabelKey: ManagedNamespaceLabelValue}
|
||||
|
||||
HandleWatcherNamespaceAdd(context.Background(), nil, "router.NSWatcher", manager, namespace)
|
||||
|
||||
record, ok := manager.Get("tenant-a")
|
||||
if !ok {
|
||||
t.Fatalf("expected tenant-a to exist after add handling")
|
||||
}
|
||||
if record.Phase != NamespacePhaseFailed {
|
||||
t.Fatalf("expected failed phase after subscriber error, got %s", record.Phase)
|
||||
}
|
||||
if router.addCalls != 1 {
|
||||
t.Fatalf("expected failing subscriber to be called once")
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleWatcherNamespaceRemovalDispatch(t *testing.T) {
|
||||
manager := NewNamespaceManager()
|
||||
router := &testNamespaceSubscriber{name: "router"}
|
||||
@@ -554,6 +576,25 @@ func TestRunManagedNamespaceWatcherLogsStartedSummary(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunManagedNamespaceWatcherWithNilLogger(t *testing.T) {
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
router := &testNamespaceSubscriber{name: "router"}
|
||||
|
||||
manager, err := RunManagedNamespaceWatcher(ctx, nil, 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)
|
||||
}
|
||||
if !reflect.DeepEqual([]string{"tenant-a"}, manager.Snapshot()) {
|
||||
t.Fatalf("expected watcher manager snapshot to contain bootstrapped namespace")
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewDefaultManagedNamespaceWatcherConfig(t *testing.T) {
|
||||
resolver := DefaultNSResolver()
|
||||
original := resolver.FissionResourceNS
|
||||
|
||||
Reference in New Issue
Block a user