Add Notarius configuration and extraction source policy
This commit is contained in:
@@ -144,6 +144,22 @@ func ConfiguredArtifactName(source string) (string, bool) {
|
||||
return artifactpolicy.ParseConfiguredSource(source)
|
||||
}
|
||||
|
||||
// ExtractionArtifactSourceID returns narratio.extraction.<name> for a configured key.
|
||||
func ExtractionArtifactSourceID(key string) string {
|
||||
return artifactpolicy.ExtractionSourceID(key)
|
||||
}
|
||||
|
||||
// IsExtractionArtifactSource reports whether source is narratio.extraction.<name>.
|
||||
func IsExtractionArtifactSource(source string) bool {
|
||||
_, ok := artifactpolicy.ParseExtractionSource(source)
|
||||
return ok
|
||||
}
|
||||
|
||||
// ExtractionArtifactName extracts <name> from narratio.extraction.<name>.
|
||||
func ExtractionArtifactName(source string) (string, bool) {
|
||||
return artifactpolicy.ParseExtractionSource(source)
|
||||
}
|
||||
|
||||
// IsPreviousSessionArtifactSource returns true when source is narratio.previous_session.artifact.<name>.
|
||||
func IsPreviousSessionArtifactSource(source string) bool {
|
||||
_, ok := artifactpolicy.ParsePreviousSessionSource(source)
|
||||
|
||||
@@ -150,6 +150,23 @@ func TestPreviousSessionArtifactSourceHelpers(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestExtractionArtifactSourceHelpers(t *testing.T) {
|
||||
if got := ExtractionArtifactSourceID("npc_registry"); got != "narratio.extraction.npc_registry" {
|
||||
t.Fatalf("ExtractionArtifactSourceID() = %q", got)
|
||||
}
|
||||
if !IsExtractionArtifactSource(" narratio.extraction.npc_registry ") {
|
||||
t.Fatal("IsExtractionArtifactSource(valid) = false")
|
||||
}
|
||||
if key, ok := ExtractionArtifactName("narratio.extraction.npc_registry"); !ok || key != "npc_registry" {
|
||||
t.Fatalf("ExtractionArtifactName() = %q, %t", key, ok)
|
||||
}
|
||||
for _, source := range []string{"narratio.extraction.", "narratio.extraction.npc-registry", "narratio.artifact.npc_registry"} {
|
||||
if IsExtractionArtifactSource(source) {
|
||||
t.Fatalf("IsExtractionArtifactSource(%q) = true, want false", source)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveSessionArtifactPrefersManifestOutput(t *testing.T) {
|
||||
workspace := t.TempDir()
|
||||
paths := buildSessionPaths(workspace, "campaign", "session")
|
||||
|
||||
Reference in New Issue
Block a user