47 lines
1.3 KiB
Go
47 lines
1.3 KiB
Go
package recipes
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
)
|
|
|
|
func TestAdminCuratedListRegistered(t *testing.T) {
|
|
rec, ok := Get("admin_curated_list")
|
|
if !ok {
|
|
t.Fatal("admin_curated_list not registered")
|
|
}
|
|
if rec.Definition().Category != CategoryHandPicked {
|
|
t.Errorf("category = %v want hand_picked", rec.Definition().Category)
|
|
}
|
|
if !rec.Definition().AdminOnly {
|
|
t.Error("admin_curated_list should be AdminOnly")
|
|
}
|
|
}
|
|
|
|
func TestAdminCuratedListRequiresItems(t *testing.T) {
|
|
rec, _ := Get("admin_curated_list")
|
|
if err := rec.Validate(json.RawMessage(`{"item_ids":[]}`)); err == nil {
|
|
t.Error("expected error for empty item_ids")
|
|
}
|
|
if err := rec.Validate(json.RawMessage(`{"item_ids":["a","b","c"]}`)); err != nil {
|
|
t.Errorf("good config rejected: %v", err)
|
|
}
|
|
if err := rec.Validate(json.RawMessage(``)); err == nil {
|
|
t.Error("expected error for empty raw")
|
|
}
|
|
if err := rec.Validate(json.RawMessage(`{}`)); err == nil {
|
|
t.Error("expected error for missing item_ids")
|
|
}
|
|
}
|
|
|
|
func TestAdminCuratedListPresetExists(t *testing.T) {
|
|
rec, _ := Get("admin_curated_list")
|
|
presets := rec.Definition().Presets
|
|
if len(presets) != 1 {
|
|
t.Fatalf("expected 1 preset, got %d", len(presets))
|
|
}
|
|
if presets[0].Key != "acl_blank" {
|
|
t.Errorf("preset key = %q want acl_blank", presets[0].Key)
|
|
}
|
|
}
|