cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft4/allOf.json (about) 1 [ 2 { 3 "description": "allOf", 4 "schema": { 5 "allOf": [ 6 { 7 "properties": { 8 "bar": { 9 "type": "integer" 10 } 11 }, 12 "required": [ 13 "bar" 14 ] 15 }, 16 { 17 "properties": { 18 "foo": { 19 "type": "string" 20 } 21 }, 22 "required": [ 23 "foo" 24 ] 25 } 26 ] 27 }, 28 "tests": [ 29 { 30 "description": "allOf", 31 "data": { 32 "foo": "baz", 33 "bar": 2 34 }, 35 "valid": true 36 }, 37 { 38 "description": "mismatch second", 39 "data": { 40 "foo": "baz" 41 }, 42 "valid": false 43 }, 44 { 45 "description": "mismatch first", 46 "data": { 47 "bar": 2 48 }, 49 "valid": false 50 }, 51 { 52 "description": "wrong type", 53 "data": { 54 "foo": "baz", 55 "bar": "quux" 56 }, 57 "valid": false 58 } 59 ] 60 }, 61 { 62 "description": "allOf with base schema", 63 "schema": { 64 "properties": { 65 "bar": { 66 "type": "integer" 67 } 68 }, 69 "required": [ 70 "bar" 71 ], 72 "allOf": [ 73 { 74 "properties": { 75 "foo": { 76 "type": "string" 77 } 78 }, 79 "required": [ 80 "foo" 81 ] 82 }, 83 { 84 "properties": { 85 "baz": { 86 "type": "null" 87 } 88 }, 89 "required": [ 90 "baz" 91 ] 92 } 93 ] 94 }, 95 "tests": [ 96 { 97 "description": "valid", 98 "data": { 99 "foo": "quux", 100 "bar": 2, 101 "baz": null 102 }, 103 "valid": true 104 }, 105 { 106 "description": "mismatch base schema", 107 "data": { 108 "foo": "quux", 109 "baz": null 110 }, 111 "valid": false 112 }, 113 { 114 "description": "mismatch first allOf", 115 "data": { 116 "bar": 2, 117 "baz": null 118 }, 119 "valid": false 120 }, 121 { 122 "description": "mismatch second allOf", 123 "data": { 124 "foo": "quux", 125 "bar": 2 126 }, 127 "valid": false 128 }, 129 { 130 "description": "mismatch both", 131 "data": { 132 "bar": 2 133 }, 134 "valid": false 135 } 136 ] 137 }, 138 { 139 "description": "allOf simple types", 140 "schema": { 141 "allOf": [ 142 { 143 "maximum": 30 144 }, 145 { 146 "minimum": 20 147 } 148 ] 149 }, 150 "tests": [ 151 { 152 "description": "valid", 153 "data": 25, 154 "valid": true 155 }, 156 { 157 "description": "mismatch one", 158 "data": 35, 159 "valid": false 160 } 161 ] 162 }, 163 { 164 "description": "allOf with one empty schema", 165 "schema": { 166 "allOf": [ 167 {} 168 ] 169 }, 170 "tests": [ 171 { 172 "description": "any data is valid", 173 "data": 1, 174 "valid": true 175 } 176 ] 177 }, 178 { 179 "description": "allOf with two empty schemas", 180 "schema": { 181 "allOf": [ 182 {}, 183 {} 184 ] 185 }, 186 "tests": [ 187 { 188 "description": "any data is valid", 189 "data": 1, 190 "valid": true 191 } 192 ] 193 }, 194 { 195 "description": "allOf with the first empty schema", 196 "schema": { 197 "allOf": [ 198 {}, 199 { 200 "type": "number" 201 } 202 ] 203 }, 204 "tests": [ 205 { 206 "description": "number is valid", 207 "data": 1, 208 "valid": true 209 }, 210 { 211 "description": "string is invalid", 212 "data": "foo", 213 "valid": false 214 } 215 ] 216 }, 217 { 218 "description": "allOf with the last empty schema", 219 "schema": { 220 "allOf": [ 221 { 222 "type": "number" 223 }, 224 {} 225 ] 226 }, 227 "tests": [ 228 { 229 "description": "number is valid", 230 "data": 1, 231 "valid": true 232 }, 233 { 234 "description": "string is invalid", 235 "data": "foo", 236 "valid": false 237 } 238 ] 239 }, 240 { 241 "description": "nested allOf, to check validation semantics", 242 "schema": { 243 "allOf": [ 244 { 245 "allOf": [ 246 { 247 "type": "null" 248 } 249 ] 250 } 251 ] 252 }, 253 "tests": [ 254 { 255 "description": "null is valid", 256 "data": null, 257 "valid": true 258 }, 259 { 260 "description": "anything non-null is invalid", 261 "data": 123, 262 "valid": false 263 } 264 ] 265 }, 266 { 267 "description": "allOf combined with anyOf, oneOf", 268 "schema": { 269 "allOf": [ 270 { 271 "multipleOf": 2 272 } 273 ], 274 "anyOf": [ 275 { 276 "multipleOf": 3 277 } 278 ], 279 "oneOf": [ 280 { 281 "multipleOf": 5 282 } 283 ] 284 }, 285 "tests": [ 286 { 287 "description": "allOf: false, anyOf: false, oneOf: false", 288 "data": 1, 289 "valid": false 290 }, 291 { 292 "description": "allOf: false, anyOf: false, oneOf: true", 293 "data": 5, 294 "valid": false 295 }, 296 { 297 "description": "allOf: false, anyOf: true, oneOf: false", 298 "data": 3, 299 "valid": false 300 }, 301 { 302 "description": "allOf: false, anyOf: true, oneOf: true", 303 "data": 15, 304 "valid": false 305 }, 306 { 307 "description": "allOf: true, anyOf: false, oneOf: false", 308 "data": 2, 309 "valid": false 310 }, 311 { 312 "description": "allOf: true, anyOf: false, oneOf: true", 313 "data": 10, 314 "valid": false 315 }, 316 { 317 "description": "allOf: true, anyOf: true, oneOf: false", 318 "data": 6, 319 "valid": false 320 }, 321 { 322 "description": "allOf: true, anyOf: true, oneOf: true", 323 "data": 30, 324 "valid": true 325 } 326 ] 327 } 328 ]