xref: /aosp_15_r20/external/json-schema-validator/src/test/suite/output-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/output-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 output test",
38*78c4dd6aSAndroid Build Coastguard Worker
39*78c4dd6aSAndroid Build Coastguard Worker            "type": "object",
40*78c4dd6aSAndroid Build Coastguard Worker            "required": [ "description", "data", "output" ],
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                "output": {
54*78c4dd6aSAndroid Build Coastguard Worker                    "description": "schemas that are used to verify output",
55*78c4dd6aSAndroid Build Coastguard Worker                    "type": "object",
56*78c4dd6aSAndroid Build Coastguard Worker                    "properties": {
57*78c4dd6aSAndroid Build Coastguard Worker                        "flag": { "$ref": "https://json-schema.org/draft/2020-12/schema" },
58*78c4dd6aSAndroid Build Coastguard Worker                        "basic": { "$ref": "https://json-schema.org/draft/2020-12/schema" },
59*78c4dd6aSAndroid Build Coastguard Worker                        "detailed": { "$ref": "https://json-schema.org/draft/2020-12/schema" },
60*78c4dd6aSAndroid Build Coastguard Worker                        "verbose": { "$ref": "https://json-schema.org/draft/2020-12/schema" },
61*78c4dd6aSAndroid Build Coastguard Worker                        "list": { "$ref": "https://json-schema.org/draft/2020-12/schema" },
62*78c4dd6aSAndroid Build Coastguard Worker                        "hierarchy": { "$ref": "https://json-schema.org/draft/2020-12/schema" }
63*78c4dd6aSAndroid Build Coastguard Worker                    },
64*78c4dd6aSAndroid Build Coastguard Worker                    "minProperties": 1,
65*78c4dd6aSAndroid Build Coastguard Worker                    "additionalProperties": false
66*78c4dd6aSAndroid Build Coastguard Worker                }
67*78c4dd6aSAndroid Build Coastguard Worker            }
68*78c4dd6aSAndroid Build Coastguard Worker        }
69*78c4dd6aSAndroid Build Coastguard Worker    }
70*78c4dd6aSAndroid Build Coastguard Worker}
71