28 lines
712 B
Go
28 lines
712 B
Go
package plugin
|
|
|
|
import "testing"
|
|
|
|
func TestValidateLoadOnceKeys(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
keys []string
|
|
ok bool
|
|
}{
|
|
{name: "valid stable keys", keys: []string{"documentation-menu.v1", "seed_defaults-2"}, ok: true},
|
|
{name: "empty", keys: []string{""}},
|
|
{name: "uppercase", keys: []string{"DocumentationMenu.v1"}},
|
|
{name: "duplicate", keys: []string{"menu.v1", "menu.v1"}},
|
|
}
|
|
for _, test := range tests {
|
|
t.Run(test.name, func(t *testing.T) {
|
|
err := ValidateLoadOnceKeys(test.keys)
|
|
if test.ok && err != nil {
|
|
t.Fatalf("ValidateLoadOnceKeys() error = %v", err)
|
|
}
|
|
if !test.ok && err == nil {
|
|
t.Fatal("ValidateLoadOnceKeys() error = nil")
|
|
}
|
|
})
|
|
}
|
|
}
|