Files
temp/features/fixtures/validation/invalid_schema_transforms.json

74 lines
2.8 KiB
JSON

{
"fixtures": [
{
"name": "transform_returns_non_dict",
"description": "Wrapped transform function returns a string instead of a dict",
"input": {
"transform_name": "normalize_output",
"input_schema": {"type": "object", "properties": {"name": {"type": "string"}}},
"transform_result": "not_a_dict"
},
"expected_error": "transform 'normalize_output' returned invalid schema: expected dict, got str"
},
{
"name": "transform_returns_missing_type",
"description": "Transform result is missing the required 'type' field in schema",
"input": {
"transform_name": "enrich_schema",
"input_schema": {"type": "object", "properties": {"id": {"type": "integer"}}},
"transform_result": {"properties": {"id": {"type": "integer"}}}
},
"expected_error": "transform 'enrich_schema' returned schema without 'type' field"
},
{
"name": "transform_returns_invalid_type_value",
"description": "Transform result has an unrecognized JSON schema type",
"input": {
"transform_name": "custom_transform",
"input_schema": {"type": "object"},
"transform_result": {"type": "hashmap", "properties": {}}
},
"expected_error": "transform 'custom_transform' returned unknown schema type: hashmap"
},
{
"name": "transform_adds_circular_ref",
"description": "Transform introduces a circular $ref in the schema",
"input": {
"transform_name": "ref_injector",
"input_schema": {"type": "object", "properties": {"data": {"type": "string"}}},
"transform_result": {
"type": "object",
"properties": {
"data": {"$ref": "#/properties/data"}
}
}
},
"expected_error": "transform 'ref_injector' introduced circular reference in schema"
},
{
"name": "transform_returns_null_schema",
"description": "Transform returns null/None instead of a valid schema",
"input": {
"transform_name": "null_transform",
"input_schema": {"type": "object"},
"transform_result": null
},
"expected_error": "transform 'null_transform' returned null schema"
},
{
"name": "transform_corrupts_required_array",
"description": "Transform returns schema with non-string elements in 'required' array",
"input": {
"transform_name": "bad_required_transform",
"input_schema": {"type": "object", "required": ["name"]},
"transform_result": {
"type": "object",
"required": [1, null, true],
"properties": {"name": {"type": "string"}}
}
},
"expected_error": "transform 'bad_required_transform' corrupted 'required' array: elements must be strings"
}
]
}