Migrate acquisition fixtures to document-root controls
This commit is contained in:
@@ -11,7 +11,7 @@ import (
|
||||
|
||||
func TestNativeFilesystemImportsAndOverlay(t *testing.T) {
|
||||
filesystem := fstest.MapFS{
|
||||
"config/main.yml": &fstest.MapFile{Data: []byte(`configkit:
|
||||
"config/main.yml": &fstest.MapFile{Data: []byte(`config:
|
||||
imports:
|
||||
- path: ../shared.yml
|
||||
- glob: fragments/*.yml
|
||||
@@ -52,8 +52,8 @@ func TestNativeFilesystemItemImportUsesSharedScopedAssembly(t *testing.T) {
|
||||
Items []item `yaml:"items"`
|
||||
}
|
||||
filesystem := fstest.MapFS{
|
||||
"main.yml": &fstest.MapFile{Data: []byte("configkit:\n imports:\n - path: records/item.yml\n destination: [items]\n placement: sequence-item\n")},
|
||||
"records/item.yml": &fstest.MapFile{Data: []byte("configkit:\n imports:\n - path: helper.yml\nid: native\n")},
|
||||
"main.yml": &fstest.MapFile{Data: []byte("config:\n imports:\n - path: records/item.yml\n destination: [items]\n placement: sequence-item\n")},
|
||||
"records/item.yml": &fstest.MapFile{Data: []byte("config:\n imports:\n - path: helper.yml\nid: native\n")},
|
||||
"records/helper.yml": &fstest.MapFile{Data: []byte("name: helper\n")},
|
||||
}
|
||||
namespace := newNativeNamespace("bundle", filesystem)
|
||||
@@ -109,7 +109,7 @@ func TestNativeFilesystemNamespaceAndPathFailures(t *testing.T) {
|
||||
t.Errorf("%q diagnostics = %#v", name, diagnostics)
|
||||
}
|
||||
}
|
||||
missingImport := fstest.MapFS{"main.yml": &fstest.MapFile{Data: []byte("configkit: {imports: [{path: host-only.yml, required: true}]}\n")}}
|
||||
missingImport := fstest.MapFS{"main.yml": &fstest.MapFile{Data: []byte("config: {imports: [{path: host-only.yml, required: true}]}\n")}}
|
||||
_, err := testLoad[importTestConfig](filesystemFile(newNativeNamespace("bundle", missingImport), "main.yml"), Options[importTestConfig]{Imports: true})
|
||||
if err == nil {
|
||||
t.Fatal("missing virtual import fell back to the host filesystem")
|
||||
@@ -124,7 +124,7 @@ func TestNativeFilesystemClosesFilesOnSuccessAndFailure(t *testing.T) {
|
||||
for _, fallback := range []bool{false, true} {
|
||||
t.Run(map[bool]string{false: "ReadDirFile", true: "ReadDir fallback"}[fallback], func(t *testing.T) {
|
||||
filesystem := &observedFilesystem{files: fstest.MapFS{
|
||||
"main.yml": &fstest.MapFile{Data: []byte("configkit: {imports: [{glob: 'parts/*.yml'}]}\nitems: {main: main}\n")},
|
||||
"main.yml": &fstest.MapFile{Data: []byte("config: {imports: [{glob: 'parts/*.yml'}]}\nitems: {main: main}\n")},
|
||||
"parts/one.yml": &fstest.MapFile{Data: []byte("items: {one: one}\n")},
|
||||
}, fallback: fallback}
|
||||
result, err := testLoad[importTestConfig](filesystemFile(newNativeNamespace("bundle", filesystem), "main.yml"), Options[importTestConfig]{Imports: true})
|
||||
@@ -149,7 +149,7 @@ func TestNativeFilesystemClosesFilesOnSuccessAndFailure(t *testing.T) {
|
||||
} {
|
||||
t.Run(failure.name, func(t *testing.T) {
|
||||
filesystem := &observedFilesystem{files: fstest.MapFS{
|
||||
"main.yml": &fstest.MapFile{Data: []byte("configkit: {imports: [{glob: 'parts/*.yml'}]}\n")},
|
||||
"main.yml": &fstest.MapFile{Data: []byte("config: {imports: [{glob: 'parts/*.yml'}]}\n")},
|
||||
"parts/one.yml": &fstest.MapFile{Data: []byte(failure.file)},
|
||||
}, failRead: failure.failRead, failStat: failure.failStat, failDir: failure.failDir}
|
||||
_, err := testLoad[importTestConfig](filesystemFile(newNativeNamespace("bundle", filesystem), "main.yml"), Options[importTestConfig]{Imports: true})
|
||||
@@ -166,7 +166,7 @@ func TestNativeFilesystemClosesFilesOnSuccessAndFailure(t *testing.T) {
|
||||
|
||||
func TestNativeFilesystemRootAndOptionalImports(t *testing.T) {
|
||||
filesystem := fstest.MapFS{
|
||||
"config/sub/main.yml": &fstest.MapFile{Data: []byte(`configkit:
|
||||
"config/sub/main.yml": &fstest.MapFile{Data: []byte(`config:
|
||||
imports:
|
||||
- path: ../shared.yml
|
||||
- path: absent.yml
|
||||
@@ -193,7 +193,7 @@ func TestNativeFilesystemRootAndOptionalImports(t *testing.T) {
|
||||
}
|
||||
|
||||
outside := fstest.MapFS{
|
||||
"config/sub/main.yml": &fstest.MapFile{Data: []byte("configkit: {imports: [{path: ../../outside.yml}]}\n")},
|
||||
"config/sub/main.yml": &fstest.MapFile{Data: []byte("config: {imports: [{path: ../../outside.yml}]}\n")},
|
||||
"outside.yml": &fstest.MapFile{Data: []byte("items: {outside: blocked}\n")},
|
||||
}
|
||||
outsideNamespace := newNativeNamespace("bundle", outside)
|
||||
@@ -221,7 +221,7 @@ func TestNativeFilesystemDetectsRepeatedAndCyclicImports(t *testing.T) {
|
||||
{
|
||||
name: "repeated",
|
||||
files: fstest.MapFS{
|
||||
"main.yml": &fstest.MapFile{Data: []byte("configkit: {imports: [{path: child.yml}, {path: child.yml}]}\n")},
|
||||
"main.yml": &fstest.MapFile{Data: []byte("config: {imports: [{path: child.yml}, {path: child.yml}]}\n")},
|
||||
"child.yml": &fstest.MapFile{Data: []byte("items: {child: child}\n")},
|
||||
},
|
||||
code: CodeImportRepeated,
|
||||
@@ -229,8 +229,8 @@ func TestNativeFilesystemDetectsRepeatedAndCyclicImports(t *testing.T) {
|
||||
{
|
||||
name: "cycle",
|
||||
files: fstest.MapFS{
|
||||
"main.yml": &fstest.MapFile{Data: []byte("configkit: {imports: [{path: child.yml}]}\n")},
|
||||
"child.yml": &fstest.MapFile{Data: []byte("configkit: {imports: [{path: main.yml}]}\n")},
|
||||
"main.yml": &fstest.MapFile{Data: []byte("config: {imports: [{path: child.yml}]}\n")},
|
||||
"child.yml": &fstest.MapFile{Data: []byte("config: {imports: [{path: main.yml}]}\n")},
|
||||
},
|
||||
code: CodeImportCycle,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user