allOf.json revision 285830
1132718Skan[
2169689Skan    {
3132718Skan        "description": "allOf",
4132718Skan        "schema": {
5132718Skan            "allOf": [
6132718Skan                {
7132718Skan                    "properties": {
8132718Skan                        "bar": {"type": "integer"}
9132718Skan                    },
10132718Skan                    "required": ["bar"]
11132718Skan                },
12132718Skan                {
13132718Skan                    "properties": {
14132718Skan                        "foo": {"type": "string"}
15132718Skan                    },
16132718Skan                    "required": ["foo"]
17132718Skan                }
18132718Skan            ]
19169689Skan        },
20169689Skan        "tests": [
21132718Skan            {
22132718Skan                "description": "allOf",
23132718Skan                "data": {"foo": "baz", "bar": 2},
24132718Skan                "valid": true
25132718Skan            },
26132718Skan            {
27132718Skan                "description": "mismatch second",
28132718Skan                "data": {"foo": "baz"},
29132718Skan                "valid": false
30132718Skan            },
31132718Skan            {
32132718Skan                "description": "mismatch first",
33132718Skan                "data": {"bar": 2},
34132718Skan                "valid": false
35132718Skan            },
36132718Skan            {
37132718Skan                "description": "wrong type",
38132718Skan                "data": {"foo": "baz", "bar": "quux"},
39132718Skan                "valid": false
40132718Skan            }
41132718Skan        ]
42132718Skan    },
43132718Skan    {
44132718Skan        "description": "allOf with base schema",
45132718Skan        "schema": {
46132718Skan            "properties": {"bar": {"type": "integer"}},
47132718Skan            "required": ["bar"],
48132718Skan            "allOf" : [
49132718Skan                {
50132718Skan                    "properties": {
51132718Skan                        "foo": {"type": "string"}
52132718Skan                    },
53132718Skan                    "required": ["foo"]
54132718Skan                },
55132718Skan                {
56132718Skan                    "properties": {
57132718Skan                        "baz": {"type": "null"}
58132718Skan                    },
59132718Skan                    "required": ["baz"]
60132718Skan                }
61132718Skan            ]
62132718Skan        },
63132718Skan        "tests": [
64132718Skan            {
65132718Skan                "description": "valid",
66132718Skan                "data": {"foo": "quux", "bar": 2, "baz": null},
67169689Skan                "valid": true
68169689Skan            },
69169689Skan            {
70169689Skan                "description": "mismatch base schema",
71169689Skan                "data": {"foo": "quux", "baz": null},
72132718Skan                "valid": false
73132718Skan            },
74132718Skan            {
75132718Skan                "description": "mismatch first allOf",
76132718Skan                "data": {"bar": 2, "baz": null},
77132718Skan                "valid": false
78169689Skan            },
79169689Skan            {
80132718Skan                "description": "mismatch second allOf",
81132718Skan                "data": {"foo": "quux", "bar": 2},
82132718Skan                "valid": false
83132718Skan            },
84132718Skan            {
85132718Skan                "description": "mismatch both",
86132718Skan                "data": {"bar": 2},
87132718Skan                "valid": false
88132718Skan            }
89132718Skan        ]
90132718Skan    },
91132718Skan    {
92132718Skan        "description": "allOf simple types",
93169689Skan        "schema": {
94132718Skan            "allOf": [
95132718Skan                {"maximum": 30},
96132718Skan                {"minimum": 20}
97132718Skan            ]
98132718Skan        },
99169689Skan        "tests": [
100169689Skan            {
101132718Skan                "description": "valid",
102132718Skan                "data": 25,
103132718Skan                "valid": true
104132718Skan            },
105132718Skan            {
106132718Skan                "description": "mismatch one",
107132718Skan                "data": 35,
108132718Skan                "valid": false
109132718Skan            }
110132718Skan        ]
111132718Skan    }
112132718Skan]
113132718Skan