Move item occurrences to canonical namespace
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package integration_test
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"gitea.maximumdirect.net/eric/notarius/internal/core/config"
|
||||
)
|
||||
|
||||
func TestItemOccurrenceConfigurationRequiresEarlierItemRegistry(t *testing.T) {
|
||||
registries := productionNPCRegistries(t)
|
||||
cfg, err := configFromYAML(`
|
||||
version: 4
|
||||
pipelines:
|
||||
items:
|
||||
input: seriatim
|
||||
chunk: generic
|
||||
steps:
|
||||
- id: identify-items
|
||||
artifacts:
|
||||
registry:
|
||||
extract: dnd/item-registry
|
||||
merge: appendorder
|
||||
normalize: dnd/item-registry
|
||||
- id: record-occurrences
|
||||
references:
|
||||
item_registry:
|
||||
artifact:
|
||||
step: identify-items
|
||||
lane: registry
|
||||
artifacts:
|
||||
occurrences:
|
||||
extract: dnd/item-occurrences
|
||||
merge: appendorder
|
||||
normalize: dnd/item-occurrences
|
||||
`)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if _, err := cfg.Resolve(config.ResolveInput{PipelineID: "items", Catalog: moduleCatalog(registries)}); err != nil {
|
||||
t.Fatalf("Resolve() error = %v", err)
|
||||
}
|
||||
|
||||
broken, err := configFromYAML(strings.Replace(`
|
||||
version: 4
|
||||
pipelines:
|
||||
items:
|
||||
input: seriatim
|
||||
chunk: generic
|
||||
steps:
|
||||
- id: record-occurrences
|
||||
artifacts:
|
||||
occurrences:
|
||||
extract: dnd/item-occurrences
|
||||
`, "record-occurrences", "record-occurrences", 1))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if _, err := broken.Resolve(config.ResolveInput{PipelineID: "items", Catalog: moduleCatalog(registries)}); err == nil {
|
||||
t.Fatal("Resolve() error = nil, want required item registry")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user