Migrate structural and inspection fixtures
This commit is contained in:
@@ -101,7 +101,7 @@ func TestNoSourceSelectedOverlayUsesCompleteNativeContext(t *testing.T) {
|
||||
|
||||
func TestLoadAppliesSelectedOverlayAfterBaseAndBeforeDefaults(t *testing.T) {
|
||||
directory := t.TempDir()
|
||||
mainPath := writeImportFile(t, directory, "main.yml", `configkit:
|
||||
mainPath := writeImportFile(t, directory, "main.yml", `config:
|
||||
imports: [{path: base.yml}]
|
||||
settings:
|
||||
kept: main
|
||||
@@ -191,7 +191,7 @@ func TestLoadSelectedOverlayAppliesCollectionOperationsAndEvidence(t *testing.T)
|
||||
{
|
||||
name: "append",
|
||||
mode: "append",
|
||||
overlay: `configkit:
|
||||
overlay: `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
key: id
|
||||
@@ -203,7 +203,7 @@ items: [{id: c, value: added}]
|
||||
{
|
||||
name: "upsert replaces complete records at retained positions",
|
||||
mode: "upsert",
|
||||
overlay: `configkit:
|
||||
overlay: `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
key: id
|
||||
@@ -215,7 +215,7 @@ items: [{id: a, value: new}]
|
||||
{
|
||||
name: "replace",
|
||||
mode: "replace",
|
||||
overlay: `configkit:
|
||||
overlay: `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
key: id
|
||||
@@ -283,7 +283,7 @@ func TestLoadSelectedOverlayReconcilesPendingAndRetainedCollectionPolicy(t *test
|
||||
}
|
||||
}
|
||||
t.Run("key only validates retained records", func(t *testing.T) {
|
||||
requireCode(t, "items: [{id: duplicate}, {id: duplicate}]\n", `configkit:
|
||||
requireCode(t, "items: [{id: duplicate}, {id: duplicate}]\n", `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
key: id
|
||||
@@ -292,14 +292,14 @@ func TestLoadSelectedOverlayReconcilesPendingAndRetainedCollectionPolicy(t *test
|
||||
|
||||
t.Run("mode only retains lower identity", func(t *testing.T) {
|
||||
directory := t.TempDir()
|
||||
mainPath := writeImportFile(t, directory, "main.yml", `configkit:
|
||||
mainPath := writeImportFile(t, directory, "main.yml", `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
key: id
|
||||
mode: append
|
||||
items: [{id: base}]
|
||||
`)
|
||||
writeImportFile(t, directory, "overlays/testing.yml", `configkit:
|
||||
writeImportFile(t, directory, "overlays/testing.yml", `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
mode: append
|
||||
@@ -316,7 +316,7 @@ items: [{id: overlay}]
|
||||
|
||||
t.Run("lower explicit mode remains active when overlay omits it", func(t *testing.T) {
|
||||
directory := t.TempDir()
|
||||
mainPath := writeImportFile(t, directory, "main.yml", `configkit:
|
||||
mainPath := writeImportFile(t, directory, "main.yml", `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
key: id
|
||||
@@ -331,12 +331,12 @@ items: [{id: base}]
|
||||
})
|
||||
|
||||
t.Run("overlay identity must agree with retained identity", func(t *testing.T) {
|
||||
requireCode(t, `configkit:
|
||||
requireCode(t, `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
key: id
|
||||
items: [{id: base}]
|
||||
`, `configkit:
|
||||
`, `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
key: slug
|
||||
@@ -352,7 +352,7 @@ items: [{id: overlay}]
|
||||
{mode: "replace"},
|
||||
{mode: "append", want: CodeSequenceInvalid},
|
||||
} {
|
||||
overlay := "configkit:\n sequences:\n - destination: [items]\n key: id\n mode: " + test.mode + "\nitems: null\n"
|
||||
overlay := "config:\n sequences:\n - destination: [items]\n key: id\n mode: " + test.mode + "\nitems: null\n"
|
||||
if test.want != "" {
|
||||
requireCode(t, "items: [{id: base}]\n", overlay, test.want)
|
||||
continue
|
||||
@@ -379,7 +379,7 @@ items: [{id: overlay}]
|
||||
{name: "append mapping", mode: "append", value: "{id: overlay}", wantCode: CodeSequenceInvalid},
|
||||
} {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
overlay := "configkit:\n sequences:\n - destination: [items]\n key: id\n mode: " + test.mode + "\nitems: " + test.value + "\n"
|
||||
overlay := "config:\n sequences:\n - destination: [items]\n key: id\n mode: " + test.mode + "\nitems: " + test.value + "\n"
|
||||
if test.wantCode != "" {
|
||||
requireCode(t, "items: [{id: base}]\n", overlay, test.wantCode)
|
||||
return
|
||||
@@ -399,7 +399,7 @@ items: [{id: overlay}]
|
||||
func TestLoadSelectedOverlayKeepsCollectionPoliciesIndependent(t *testing.T) {
|
||||
t.Parallel()
|
||||
directory := t.TempDir()
|
||||
mainPath := writeImportFile(t, directory, "main.yml", `configkit:
|
||||
mainPath := writeImportFile(t, directory, "main.yml", `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
key: id
|
||||
@@ -410,7 +410,7 @@ func TestLoadSelectedOverlayKeepsCollectionPoliciesIndependent(t *testing.T) {
|
||||
items: [{id: base}]
|
||||
catalog: {items: [{id: catalog-base}]}
|
||||
`)
|
||||
writeImportFile(t, directory, "overlays/testing.yml", `configkit:
|
||||
writeImportFile(t, directory, "overlays/testing.yml", `config:
|
||||
sequences:
|
||||
- destination: [items]
|
||||
mode: upsert
|
||||
@@ -477,8 +477,7 @@ func TestLoadOverlayRejectsDirectivesVersionsAndBaseAliases(t *testing.T) {
|
||||
overlay string
|
||||
code Code
|
||||
}{
|
||||
{name: "root directive", overlay: "configkit: {}\n", code: CodeOverlayDirective},
|
||||
{name: "nested directive", overlay: "settings: {configkit: {}}\n", code: CodeOverlayDirective},
|
||||
{name: "root directive", overlay: "config: {}\n", code: CodeOverlayDirective},
|
||||
{name: "equal integer version", overlay: "schema: {version: 4}\n", code: CodeOverlayVersion},
|
||||
{name: "ancestor scalar", overlay: "schema: null\n", code: CodeOverlayVersion},
|
||||
} {
|
||||
@@ -502,7 +501,7 @@ func TestLoadOverlayRejectsDirectivesVersionsAndBaseAliases(t *testing.T) {
|
||||
|
||||
t.Run("overlay aliases imported base", func(t *testing.T) {
|
||||
directory := t.TempDir()
|
||||
mainPath := writeImportFile(t, directory, "main.yml", "configkit: {imports: [{path: overlays/testing.yml}]}\n")
|
||||
mainPath := writeImportFile(t, directory, "main.yml", "config: {imports: [{path: overlays/testing.yml}]}\n")
|
||||
writeImportFile(t, directory, "overlays/testing.yml", "settings: {changed: value}\n")
|
||||
requireOverlayLoadCode(t, File(mainPath), Options[overlayTestConfig]{Imports: true, Overlay: "testing"}, CodeOverlayRepeated)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user