layer1: stabilize namespace summary contract

This commit is contained in:
Naeel
2026-04-26 11:46:15 +03:00
parent f4a3bffc6b
commit 9f0e911b9d
2 changed files with 20 additions and 0 deletions
+3
View File
@@ -283,6 +283,9 @@ func (m *inMemoryNamespaceManager) Summary() NamespaceManagerSummary {
SourceCounts: make(map[NamespaceSource]int),
Subscribers: m.SnapshotSubscribers(),
}
if summary.Subscribers == nil {
summary.Subscribers = []string{}
}
for _, record := range records {
summary.PhaseCounts[record.Phase]++
summary.SourceCounts[record.Source]++
+17
View File
@@ -582,6 +582,23 @@ func TestLogNamespaceManagerSummary(t *testing.T) {
LogNamespaceManagerSummary(logger, "namespace summary", summary)
}
func TestNamespaceManagerSummaryEmptyContract(t *testing.T) {
manager := NewNamespaceManager()
summary := manager.Summary()
if summary.PhaseCounts == nil {
t.Fatalf("expected phase counts map to be initialized")
}
if summary.SourceCounts == nil {
t.Fatalf("expected source counts map to be initialized")
}
if summary.Subscribers == nil {
t.Fatalf("expected subscribers slice to be initialized")
}
if len(summary.Subscribers) != 0 {
t.Fatalf("expected no subscribers in empty summary")
}
}
func TestLogNamespaceManagerSummaryWithNilLogger(t *testing.T) {
LogNamespaceManagerSummary(nil, "ignored", NamespaceManagerSummary{TotalNamespaces: 1})
}