cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft6/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 boolean schemas, all true", 165 "schema": { 166 "allOf": [ 167 true, 168 true 169 ] 170 }, 171 "tests": [ 172 { 173 "description": "any value is valid", 174 "data": "foo", 175 "valid": true 176 } 177 ] 178 }, 179 { 180 "description": "allOf with boolean schemas, some false", 181 "schema": { 182 "allOf": [ 183 true, 184 false 185 ] 186 }, 187 "tests": [ 188 { 189 "description": "any value is invalid", 190 "data": "foo", 191 "valid": false, 192 "skip": { 193 "v2": "unexpected success", 194 "v3": "unexpected success" 195 } 196 } 197 ] 198 }, 199 { 200 "description": "allOf with boolean schemas, all false", 201 "schema": { 202 "allOf": [ 203 false, 204 false 205 ] 206 }, 207 "tests": [ 208 { 209 "description": "any value is invalid", 210 "data": "foo", 211 "valid": false, 212 "skip": { 213 "v2": "unexpected success", 214 "v3": "unexpected success" 215 } 216 } 217 ] 218 }, 219 { 220 "description": "allOf with one empty schema", 221 "schema": { 222 "allOf": [ 223 {} 224 ] 225 }, 226 "tests": [ 227 { 228 "description": "any data is valid", 229 "data": 1, 230 "valid": true 231 } 232 ] 233 }, 234 { 235 "description": "allOf with two empty schemas", 236 "schema": { 237 "allOf": [ 238 {}, 239 {} 240 ] 241 }, 242 "tests": [ 243 { 244 "description": "any data is valid", 245 "data": 1, 246 "valid": true 247 } 248 ] 249 }, 250 { 251 "description": "allOf with the first empty schema", 252 "schema": { 253 "allOf": [ 254 {}, 255 { 256 "type": "number" 257 } 258 ] 259 }, 260 "tests": [ 261 { 262 "description": "number is valid", 263 "data": 1, 264 "valid": true 265 }, 266 { 267 "description": "string is invalid", 268 "data": "foo", 269 "valid": false 270 } 271 ] 272 }, 273 { 274 "description": "allOf with the last empty schema", 275 "schema": { 276 "allOf": [ 277 { 278 "type": "number" 279 }, 280 {} 281 ] 282 }, 283 "tests": [ 284 { 285 "description": "number is valid", 286 "data": 1, 287 "valid": true 288 }, 289 { 290 "description": "string is invalid", 291 "data": "foo", 292 "valid": false 293 } 294 ] 295 }, 296 { 297 "description": "nested allOf, to check validation semantics", 298 "schema": { 299 "allOf": [ 300 { 301 "allOf": [ 302 { 303 "type": "null" 304 } 305 ] 306 } 307 ] 308 }, 309 "tests": [ 310 { 311 "description": "null is valid", 312 "data": null, 313 "valid": true 314 }, 315 { 316 "description": "anything non-null is invalid", 317 "data": 123, 318 "valid": false 319 } 320 ] 321 }, 322 { 323 "description": "allOf combined with anyOf, oneOf", 324 "schema": { 325 "allOf": [ 326 { 327 "multipleOf": 2 328 } 329 ], 330 "anyOf": [ 331 { 332 "multipleOf": 3 333 } 334 ], 335 "oneOf": [ 336 { 337 "multipleOf": 5 338 } 339 ] 340 }, 341 "tests": [ 342 { 343 "description": "allOf: false, anyOf: false, oneOf: false", 344 "data": 1, 345 "valid": false 346 }, 347 { 348 "description": "allOf: false, anyOf: false, oneOf: true", 349 "data": 5, 350 "valid": false 351 }, 352 { 353 "description": "allOf: false, anyOf: true, oneOf: false", 354 "data": 3, 355 "valid": false 356 }, 357 { 358 "description": "allOf: false, anyOf: true, oneOf: true", 359 "data": 15, 360 "valid": false 361 }, 362 { 363 "description": "allOf: true, anyOf: false, oneOf: false", 364 "data": 2, 365 "valid": false 366 }, 367 { 368 "description": "allOf: true, anyOf: false, oneOf: true", 369 "data": 10, 370 "valid": false 371 }, 372 { 373 "description": "allOf: true, anyOf: true, oneOf: false", 374 "data": 6, 375 "valid": false 376 }, 377 { 378 "description": "allOf: true, anyOf: true, oneOf: true", 379 "data": 30, 380 "valid": true 381 } 382 ] 383 } 384 ]