50 lines
1.4 KiB
Go
50 lines
1.4 KiB
Go
package auth
|
|
|
|
import "testing"
|
|
|
|
func TestModuleRegistryIsConsistent(t *testing.T) {
|
|
seen := make(map[string]bool, len(ModuleRegistry))
|
|
for _, m := range ModuleRegistry {
|
|
if m.Key == "" {
|
|
t.Errorf("registry has an entry with empty key (label %q)", m.Label)
|
|
}
|
|
if m.Label == "" {
|
|
t.Errorf("module %q has an empty label", m.Key)
|
|
}
|
|
if seen[m.Key] {
|
|
t.Errorf("duplicate module key %q in ModuleRegistry", m.Key)
|
|
}
|
|
seen[m.Key] = true
|
|
}
|
|
}
|
|
|
|
func TestModuleForKey(t *testing.T) {
|
|
cases := map[string]string{
|
|
"dul.create": "dul",
|
|
"role.permission.read": "role",
|
|
"file_manager.file.read": "file_manager",
|
|
"audit.read": "audit",
|
|
"filesystem": "filesystem",
|
|
}
|
|
for in, want := range cases {
|
|
if got := ModuleForKey(in); got != want {
|
|
t.Errorf("ModuleForKey(%q) = %q, want %q", in, got, want)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestModuleLabelAndRegistration(t *testing.T) {
|
|
if got := ModuleLabel(ModuleDUL); got != "DUL" {
|
|
t.Errorf("ModuleLabel(%q) = %q, want %q", ModuleDUL, got, "DUL")
|
|
}
|
|
if got := ModuleLabel("unknown_module"); got != "unknown_module" {
|
|
t.Errorf("ModuleLabel fallback = %q, want the key itself", got)
|
|
}
|
|
if !IsRegisteredModule(ModuleComplaint) {
|
|
t.Errorf("expected %q to be a registered module", ModuleComplaint)
|
|
}
|
|
if IsRegisteredModule("unknown_module") {
|
|
t.Errorf("did not expect %q to be registered", "unknown_module")
|
|
}
|
|
}
|