{ "$schema": "http://json-schema.org/draft-06/schema#", "description": "Schema for tests", "type": "array", "items": { "type": "object", "required": [ "description", "schema", "tests" ], "properties": { "id": { "description": "Uniquely identifies a set of tests", "type": "string", "format": "uri" }, "description": { "description": "The test set description", "type": "string" }, "comment": { "description": "Any additional comments about the test set", "type": "string" }, "schema": { "description": "This should be a valid schema. This should be a ref to a meta-schema if schema keywords need testing." }, "tests": { "description": "A set of related tests all using the same schema", "type": "array", "items": { "$ref": "#/definitions/test" }, "minItems": 1 } }, "additionalProperties": false, "minItems": 1 }, "definitions": { "outputItem": { "type": "object", "properties": { "valid": { "type": "boolean" }, "keywordLocation": { "type": "string" }, "absoluteKeywordLocation": { "type": "string", "format": "uri" }, "instanceLocation": { "type": "string" }, "annotations": { "type": "array", "items": { "$ref": "#/definitions/outputItem" } }, "errors": { "type": "array", "items": { "$ref": "#/definitions/outputItem" } } } }, "test": { "description": "A single test", "type": "object", "required": [ "description", "data", "valid" ], "properties": { "id": { "description": "Uniquely identifies a single test", "type": "string", "format": "uri" }, "description": { "description": "The test description", "type": "string" }, "comment": { "description": "Any additional comments about the test", "type": "string" }, "data": { "description": "This is the instance to be validated against the schema in \"schema\"." }, "valid": { "type": "boolean" }, "output": { "type": "object", "required": [ "basic", "detailed", "verbose" ], "properties": { "basic": { "$ref": "#/definitions/outputItem" }, "detailed": { "$ref": "#/definitions/outputItem" }, "verbose": { "$ref": "#/definitions/outputItem" } } } }, "additionalProperties": false } } }