1[
2 {
3 "description": "allOf",
4 "schema": {
5 "allOf": [
6 {
7 "properties": {
8 "bar": {"type": "integer"}
9 },
10 "required": ["bar"]
11 },
12 {
13 "properties": {
14 "foo": {"type": "string"}
15 },
16 "required": ["foo"]
17 }
18 ]
19 },
20 "tests": [
21 {
22 "description": "allOf",
23 "data": {"foo": "baz", "bar": 2},
24 "valid": true
25 },
26 {
27 "description": "mismatch second",
28 "data": {"foo": "baz"},
29 "valid": false
30 },
31 {
32 "description": "mismatch first",
33 "data": {"bar": 2},
34 "valid": false
35 },
36 {
37 "description": "wrong type",
38 "data": {"foo": "baz", "bar": "quux"},
39 "valid": false
40 }
41 ]
42 },
43 {
44 "description": "allOf with base schema",
45 "schema": {
46 "properties": {"bar": {"type": "integer"}},
47 "required": ["bar"],
48 "allOf" : [
49 {
50 "properties": {
51 "foo": {"type": "string"}
52 },
53 "required": ["foo"]
54 },
55 {
56 "properties": {
57 "baz": {"type": "null"}
58 },
59 "required": ["baz"]
60 }
61 ]
62 },
63 "tests": [
64 {
65 "description": "valid",
66 "data": {"foo": "quux", "bar": 2, "baz": null},
67 "valid": true
68 },
69 {
70 "description": "mismatch base schema",
71 "data": {"foo": "quux", "baz": null},
72 "valid": false
73 },
74 {
75 "description": "mismatch first allOf",
76 "data": {"bar": 2, "baz": null},
77 "valid": false
78 },
79 {
80 "description": "mismatch second allOf",
81 "data": {"foo": "quux", "bar": 2},
82 "valid": false
83 },
84 {
85 "description": "mismatch both",
86 "data": {"bar": 2},
87 "valid": false
88 }
89 ]
90 },
91 {
92 "description": "allOf simple types",
93 "schema": {
94 "allOf": [
95 {"maximum": 30},
96 {"minimum": 20}
97 ]
98 },
99 "tests": [
100 {
101 "description": "valid",
102 "data": 25,
103 "valid": true
104 },
105 {
106 "description": "mismatch one",
107 "data": 35,
108 "valid": false
109 }
110 ]
111 }
112]
View as plain text