package consumers_test import ( "testing" configkit "gitea.maximumdirect.net/eric/ConfigKit" "gitea.maximumdirect.net/eric/ConfigKit/examples/consumers" ) func TestPresetCatalogOneLoadAndDerivation(t *testing.T) { result, err := consumers.LoadPresets(configkit.File(fixture("inheritance", "presets.yml"))) if err != nil { t.Fatal(err) } if result.Config.Presets["base"].Settings["secondary"]["width"] != 10 || result.Config.Presets["custom"].Settings["secondary"]["width"] != 20 || result.Config.Presets["custom"].Enabled { t.Fatalf("expanded presets = %#v", result.Config.Presets) } enabled := configkit.Keys("presets", "custom", "enabled") if !result.Metadata().IsExplicit(enabled) { t.Fatal("inherited false lost explicit presence") } info, found := result.Metadata().Lookup(enabled) if !found || info.Origin.Locations[0].SourceID != "source-1" || len(info.Origin.Inheritance) != 1 || info.Origin.Inheritance[0].From.String() != "/presets/base/enabled" { t.Fatalf("origin and derivation = %#v, %v", info, found) } nested := configkit.Keys("presets", "custom", "settings", "secondary", "width") info, found = result.Metadata().Lookup(nested) if !found || len(info.Origin.Inheritance) != 1 || info.Origin.Inheritance[0].From.String() != "/presets/custom/settings/primary/width" { t.Fatalf("destination-local derivation = %#v, %v", info, found) } }