Require validation preparation internally

This commit is contained in:
2026-11-05 13:54:06 +00:00
parent 2f0f5fa607
commit 1e122f0473
9 changed files with 25 additions and 36 deletions

View File

@@ -19,7 +19,7 @@ func TestValidationCancellationBeforeWorkDoesNotOpenSchemaSource(t *testing.T) {
source := &countingSchemaFS{FS: fstest.MapFS{
"schema.json": {Data: []byte(`{"type":"object"}`)},
}}
validator := NewFSValidator(source, ".").(ValidationPreparer)
validator := NewFSValidator(source, ".")
ctx, cancel := context.WithCancel(context.Background())
cancel()
@@ -45,7 +45,7 @@ func TestValidationCancellationBetweenReferencedSchemaReadChunks(t *testing.T) {
target: "child.json",
cancel: cancel,
}
validator := NewFSValidator(source, ".").(ValidationPreparer)
validator := NewFSValidator(source, ".")
plan, err := validator.PrepareValidation(ctx, domain.OutputContract{
ValidationMode: domain.ValidationJSONSchema,
@@ -113,7 +113,7 @@ func TestCancellationDoesNotDetachBlockedSchemaRead(t *testing.T) {
started: started,
release: release,
}
validator := NewFSValidator(source, ".").(ValidationPreparer)
validator := NewFSValidator(source, ".")
type outcome struct {
plan PreparedValidation
err error

View File

@@ -34,11 +34,11 @@ type FSValidator struct {
root string
}
func NewStandardValidator(schemaBaseDir string) Validator {
func NewStandardValidator(schemaBaseDir string) *StandardValidator {
return &StandardValidator{schemaBaseDir: schemaBaseDir}
}
func NewFSValidator(fsys fs.FS, root string) Validator {
func NewFSValidator(fsys fs.FS, root string) *FSValidator {
return &FSValidator{fsys: fsys, root: root}
}

View File

@@ -250,11 +250,7 @@ func TestStandardValidatorPreparedSchemaSurvivesSourceRemoval(t *testing.T) {
}
validator := NewStandardValidator(tmp)
preparer, ok := validator.(ValidationPreparer)
if !ok {
t.Fatal("standard validator does not support validation preparation")
}
prepared, err := preparer.PrepareValidation(context.Background(), domain.OutputContract{
prepared, err := validator.PrepareValidation(context.Background(), domain.OutputContract{
ValidationMode: domain.ValidationJSONSchema,
SchemaPath: "schema.json",
})
@@ -432,11 +428,7 @@ func TestFSValidatorPreparedSchemaSurvivesSourceMutation(t *testing.T) {
}`)},
}
validator := NewFSValidator(fsys, ".")
preparer, ok := validator.(ValidationPreparer)
if !ok {
t.Fatal("filesystem validator does not support validation preparation")
}
prepared, err := preparer.PrepareValidation(context.Background(), domain.OutputContract{
prepared, err := validator.PrepareValidation(context.Background(), domain.OutputContract{
ValidationMode: domain.ValidationJSONSchema,
SchemaPath: "schema.json",
})