server/internal/handlers/admin_sources_internal_test.go
Rama main · réplica de lectura del repositorio original.
package handlers
import (
"fmt"
"testing"
"blackbox/server/internal/models"
"github.com/stretchr/testify/require"
)
func TestKnownSourceTypes_SingletonFlagsMatchModelRegistry(t *testing.T) {
for _, typeDef := range knownSourceTypes {
t.Run(fmt.Sprintf("%s/%s", typeDef.Scope, typeDef.Type), func(t *testing.T) {
require.Equalf(
t,
models.IsSingletonSourceType(typeDef.Scope, typeDef.Type),
typeDef.Singleton,
"singleton mismatch for %s/%s",
typeDef.Scope,
typeDef.Type,
)
})
}
}
func TestKnownSourceTypes_SingletonsExistInModelAllowlists(t *testing.T) {
agentSingletons := map[string]struct{}{}
for _, sourceType := range models.GetAgentScopedSingletonSourceTypes() {
agentSingletons[sourceType] = struct{}{}
}
serverSingletons := map[string]struct{}{}
for _, sourceType := range models.GetServerScopedSingletonSourceTypes() {
serverSingletons[sourceType] = struct{}{}
}
for _, typeDef := range knownSourceTypes {
if !typeDef.Singleton {
continue
}
t.Run(fmt.Sprintf("%s/%s", typeDef.Scope, typeDef.Type), func(t *testing.T) {
switch typeDef.Scope {
case models.ScopeAgent:
_, ok := agentSingletons[typeDef.Type]
require.Truef(t, ok, "missing agent singleton allowlist entry for %s", typeDef.Type)
case models.ScopeServer:
_, ok := serverSingletons[typeDef.Type]
require.Truef(t, ok, "missing server singleton allowlist entry for %s", typeDef.Type)
default:
require.Failf(t, "unexpected source scope", "scope=%q type=%q", typeDef.Scope, typeDef.Type)
}
})
}
}