xref: /aosp_15_r20/external/json-schema-validator/src/test/suite/test-schema.json (revision 78c4dd6aa35290980cdcd1623a7e337e8d021c7c)
1*78c4dd6aSAndroid Build Coastguard Worker{
2*78c4dd6aSAndroid Build Coastguard Worker    "$schema": "https://json-schema.org/draft/2020-12/schema",
3*78c4dd6aSAndroid Build Coastguard Worker    "$id": "https://json-schema.org/tests/test-schema",
4*78c4dd6aSAndroid Build Coastguard Worker    "description": "A schema for files contained within this suite",
5*78c4dd6aSAndroid Build Coastguard Worker
6*78c4dd6aSAndroid Build Coastguard Worker    "type": "array",
7*78c4dd6aSAndroid Build Coastguard Worker    "minItems": 1,
8*78c4dd6aSAndroid Build Coastguard Worker    "items": {
9*78c4dd6aSAndroid Build Coastguard Worker        "description": "An individual test case, containing multiple tests of a single schema's behavior",
10*78c4dd6aSAndroid Build Coastguard Worker
11*78c4dd6aSAndroid Build Coastguard Worker        "type": "object",
12*78c4dd6aSAndroid Build Coastguard Worker        "required": [ "description", "schema", "tests" ],
13*78c4dd6aSAndroid Build Coastguard Worker        "properties": {
14*78c4dd6aSAndroid Build Coastguard Worker            "description": {
15*78c4dd6aSAndroid Build Coastguard Worker                "description": "The test case description",
16*78c4dd6aSAndroid Build Coastguard Worker                "type": "string"
17*78c4dd6aSAndroid Build Coastguard Worker            },
18*78c4dd6aSAndroid Build Coastguard Worker            "comment": {
19*78c4dd6aSAndroid Build Coastguard Worker                "description": "Any additional comments about the test case",
20*78c4dd6aSAndroid Build Coastguard Worker                "type": "string"
21*78c4dd6aSAndroid Build Coastguard Worker            },
22*78c4dd6aSAndroid Build Coastguard Worker            "schema": {
23*78c4dd6aSAndroid Build Coastguard Worker                "description": "A valid JSON Schema (one written for the corresponding version directory that the file sits within)."
24*78c4dd6aSAndroid Build Coastguard Worker            },
25*78c4dd6aSAndroid Build Coastguard Worker            "tests": {
26*78c4dd6aSAndroid Build Coastguard Worker                "description": "A set of related tests all using the same schema",
27*78c4dd6aSAndroid Build Coastguard Worker                "type": "array",
28*78c4dd6aSAndroid Build Coastguard Worker                "items": { "$ref": "#/$defs/test" },
29*78c4dd6aSAndroid Build Coastguard Worker                "minItems": 1
30*78c4dd6aSAndroid Build Coastguard Worker            }
31*78c4dd6aSAndroid Build Coastguard Worker        },
32*78c4dd6aSAndroid Build Coastguard Worker        "additionalProperties": false
33*78c4dd6aSAndroid Build Coastguard Worker    },
34*78c4dd6aSAndroid Build Coastguard Worker
35*78c4dd6aSAndroid Build Coastguard Worker    "$defs": {
36*78c4dd6aSAndroid Build Coastguard Worker        "test": {
37*78c4dd6aSAndroid Build Coastguard Worker            "description": "A single test",
38*78c4dd6aSAndroid Build Coastguard Worker
39*78c4dd6aSAndroid Build Coastguard Worker            "type": "object",
40*78c4dd6aSAndroid Build Coastguard Worker            "required": [ "description", "data", "valid" ],
41*78c4dd6aSAndroid Build Coastguard Worker            "properties": {
42*78c4dd6aSAndroid Build Coastguard Worker                "description": {
43*78c4dd6aSAndroid Build Coastguard Worker                    "description": "The test description, briefly explaining which behavior it exercises",
44*78c4dd6aSAndroid Build Coastguard Worker                    "type": "string"
45*78c4dd6aSAndroid Build Coastguard Worker                },
46*78c4dd6aSAndroid Build Coastguard Worker                "comment": {
47*78c4dd6aSAndroid Build Coastguard Worker                    "description": "Any additional comments about the test",
48*78c4dd6aSAndroid Build Coastguard Worker                    "type": "string"
49*78c4dd6aSAndroid Build Coastguard Worker                },
50*78c4dd6aSAndroid Build Coastguard Worker                "data": {
51*78c4dd6aSAndroid Build Coastguard Worker                    "description": "The instance which should be validated against the schema in \"schema\"."
52*78c4dd6aSAndroid Build Coastguard Worker                },
53*78c4dd6aSAndroid Build Coastguard Worker                "valid": {
54*78c4dd6aSAndroid Build Coastguard Worker                    "description": "Whether the validation process of this instance should consider the instance valid or not",
55*78c4dd6aSAndroid Build Coastguard Worker                    "type": "boolean"
56*78c4dd6aSAndroid Build Coastguard Worker                }
57*78c4dd6aSAndroid Build Coastguard Worker            },
58*78c4dd6aSAndroid Build Coastguard Worker            "additionalProperties": false
59*78c4dd6aSAndroid Build Coastguard Worker        }
60*78c4dd6aSAndroid Build Coastguard Worker    }
61*78c4dd6aSAndroid Build Coastguard Worker}
62