fix issue: continue loading docs even if one has an error
Some checks are pending
Lint / golangci-lint (push) Waiting to run
Declarative Tests / test (push) Waiting to run
Declarative Tests / build-fedora (push) Waiting to run
Declarative Tests / build-ubuntu-focal (push) Waiting to run

This commit is contained in:
Matthew Rich 2024-09-24 19:28:13 +00:00
parent 486281525a
commit 8df03c455c
2 changed files with 24 additions and 14 deletions

View File

@ -50,7 +50,7 @@ func Load(uri folio.URI) (documents []data.Document, err error) {
func BuiltInDocuments() (documents []data.Document, err error) {
docFs := fs.NewWalkDir(documentFiles, "", func(fsys fs.FS, path string, file fs.DirEntry) (err error) {
docFs := fs.NewWalkDir(documentFiles, "", func(fsys fs.FS, path string, file fs.DirEntry) (walkErr error) {
u := folio.URI(fmt.Sprintf("file://%s", path))
slog.Info("BuiltInDocuments()", "file", u)
@ -64,6 +64,6 @@ func BuiltInDocuments() (documents []data.Document, err error) {
return
})
err = docFs.Walk(nil)
docFs.Walk(nil)
return documents, err
}

View File

@ -9,6 +9,7 @@ import (
"testing"
"decl/tests/tempdir"
"decl/internal/folio"
"errors"
)
var TempDir tempdir.Path = "testbuiltin"
@ -27,17 +28,20 @@ func TestMain(m *testing.M) {
func TestBuiltInLoad(t *testing.T) {
docs, err := Load("file://documents/facter.jx.yaml")
if ! errors.Is(err, os.ErrNotExist) {
assert.Nil(t, err)
assert.Greater(t, len(docs), 0)
}
}
func TestBuiltInDocuments(t *testing.T) {
docs, err := BuiltInDocuments()
assert.Greater(t, len(docs), 0)
if ! errors.Is(err, os.ErrNotExist) {
assert.Nil(t, err)
config, ok := folio.DocumentRegistry.GetDocument("file://documents/facter.jx.yaml")
assert.True(t, ok)
assert.Greater(t, len(docs), 0)
slog.Info("TestBuiltInDocuments()", "docuemnt", config)
@ -47,3 +51,9 @@ func TestBuiltInDocuments(t *testing.T) {
assert.Nil(t, e)
assert.Equal(t, "physical", v)
}
systemConfig, systemExists := folio.DocumentRegistry.GetDocument("file://documents/system.jx.yaml")
assert.True(t, systemExists)
assert.True(t, systemConfig.HasConfig("system"))
}