cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft7/dependencies.json (about) 1 [ 2 { 3 "description": "dependencies", 4 "schema": { 5 "dependencies": { 6 "bar": [ 7 "foo" 8 ] 9 } 10 }, 11 "tests": [ 12 { 13 "description": "neither", 14 "data": {}, 15 "valid": true 16 }, 17 { 18 "description": "nondependant", 19 "data": { 20 "foo": 1 21 }, 22 "valid": true 23 }, 24 { 25 "description": "with dependency", 26 "data": { 27 "foo": 1, 28 "bar": 2 29 }, 30 "valid": true 31 }, 32 { 33 "description": "missing dependency", 34 "data": { 35 "bar": 2 36 }, 37 "valid": false, 38 "skip": { 39 "v2": "unexpected success", 40 "v3": "unexpected success" 41 } 42 }, 43 { 44 "description": "ignores arrays", 45 "data": [ 46 "bar" 47 ], 48 "valid": true 49 }, 50 { 51 "description": "ignores strings", 52 "data": "foobar", 53 "valid": true 54 }, 55 { 56 "description": "ignores other non-objects", 57 "data": 12, 58 "valid": true 59 } 60 ] 61 }, 62 { 63 "description": "dependencies with empty array", 64 "schema": { 65 "dependencies": { 66 "bar": [] 67 } 68 }, 69 "tests": [ 70 { 71 "description": "empty object", 72 "data": {}, 73 "valid": true 74 }, 75 { 76 "description": "object with one property", 77 "data": { 78 "bar": 2 79 }, 80 "valid": true 81 }, 82 { 83 "description": "non-object is valid", 84 "data": 1, 85 "valid": true 86 } 87 ] 88 }, 89 { 90 "description": "multiple dependencies", 91 "schema": { 92 "dependencies": { 93 "quux": [ 94 "foo", 95 "bar" 96 ] 97 } 98 }, 99 "tests": [ 100 { 101 "description": "neither", 102 "data": {}, 103 "valid": true 104 }, 105 { 106 "description": "nondependants", 107 "data": { 108 "foo": 1, 109 "bar": 2 110 }, 111 "valid": true 112 }, 113 { 114 "description": "with dependencies", 115 "data": { 116 "foo": 1, 117 "bar": 2, 118 "quux": 3 119 }, 120 "valid": true 121 }, 122 { 123 "description": "missing dependency", 124 "data": { 125 "foo": 1, 126 "quux": 2 127 }, 128 "valid": false, 129 "skip": { 130 "v2": "unexpected success", 131 "v3": "unexpected success" 132 } 133 }, 134 { 135 "description": "missing other dependency", 136 "data": { 137 "bar": 1, 138 "quux": 2 139 }, 140 "valid": false, 141 "skip": { 142 "v2": "unexpected success", 143 "v3": "unexpected success" 144 } 145 }, 146 { 147 "description": "missing both dependencies", 148 "data": { 149 "quux": 1 150 }, 151 "valid": false, 152 "skip": { 153 "v2": "unexpected success", 154 "v3": "unexpected success" 155 } 156 } 157 ] 158 }, 159 { 160 "description": "multiple dependencies subschema", 161 "schema": { 162 "dependencies": { 163 "bar": { 164 "properties": { 165 "foo": { 166 "type": "integer" 167 }, 168 "bar": { 169 "type": "integer" 170 } 171 } 172 } 173 } 174 }, 175 "tests": [ 176 { 177 "description": "valid", 178 "data": { 179 "foo": 1, 180 "bar": 2 181 }, 182 "valid": true 183 }, 184 { 185 "description": "no dependency", 186 "data": { 187 "foo": "quux" 188 }, 189 "valid": true 190 }, 191 { 192 "description": "wrong type", 193 "data": { 194 "foo": "quux", 195 "bar": 2 196 }, 197 "valid": false, 198 "skip": { 199 "v2": "unexpected success", 200 "v3": "unexpected success" 201 } 202 }, 203 { 204 "description": "wrong type other", 205 "data": { 206 "foo": 2, 207 "bar": "quux" 208 }, 209 "valid": false, 210 "skip": { 211 "v2": "unexpected success", 212 "v3": "unexpected success" 213 } 214 }, 215 { 216 "description": "wrong type both", 217 "data": { 218 "foo": "quux", 219 "bar": "quux" 220 }, 221 "valid": false, 222 "skip": { 223 "v2": "unexpected success", 224 "v3": "unexpected success" 225 } 226 } 227 ] 228 }, 229 { 230 "description": "dependencies with boolean subschemas", 231 "schema": { 232 "dependencies": { 233 "foo": true, 234 "bar": false 235 } 236 }, 237 "tests": [ 238 { 239 "description": "object with property having schema true is valid", 240 "data": { 241 "foo": 1 242 }, 243 "valid": true 244 }, 245 { 246 "description": "object with property having schema false is invalid", 247 "data": { 248 "bar": 2 249 }, 250 "valid": false, 251 "skip": { 252 "v2": "unexpected success", 253 "v3": "unexpected success" 254 } 255 }, 256 { 257 "description": "object with both properties is invalid", 258 "data": { 259 "foo": 1, 260 "bar": 2 261 }, 262 "valid": false, 263 "skip": { 264 "v2": "unexpected success", 265 "v3": "unexpected success" 266 } 267 }, 268 { 269 "description": "empty object is valid", 270 "data": {}, 271 "valid": true 272 } 273 ] 274 }, 275 { 276 "description": "dependencies with escaped characters", 277 "schema": { 278 "dependencies": { 279 "foo\nbar": [ 280 "foo\rbar" 281 ], 282 "foo\tbar": { 283 "minProperties": 4 284 }, 285 "foo'bar": { 286 "required": [ 287 "foo\"bar" 288 ] 289 }, 290 "foo\"bar": [ 291 "foo'bar" 292 ] 293 } 294 }, 295 "tests": [ 296 { 297 "description": "valid object 1", 298 "data": { 299 "foo\nbar": 1, 300 "foo\rbar": 2 301 }, 302 "valid": true 303 }, 304 { 305 "description": "valid object 2", 306 "data": { 307 "foo\tbar": 1, 308 "a": 2, 309 "b": 3, 310 "c": 4 311 }, 312 "valid": true 313 }, 314 { 315 "description": "valid object 3", 316 "data": { 317 "foo'bar": 1, 318 "foo\"bar": 2 319 }, 320 "valid": true 321 }, 322 { 323 "description": "invalid object 1", 324 "data": { 325 "foo\nbar": 1, 326 "foo": 2 327 }, 328 "valid": false, 329 "skip": { 330 "v2": "unexpected success", 331 "v3": "unexpected success" 332 } 333 }, 334 { 335 "description": "invalid object 2", 336 "data": { 337 "foo\tbar": 1, 338 "a": 2 339 }, 340 "valid": false, 341 "skip": { 342 "v2": "unexpected success", 343 "v3": "unexpected success" 344 } 345 }, 346 { 347 "description": "invalid object 3", 348 "data": { 349 "foo'bar": 1 350 }, 351 "valid": false, 352 "skip": { 353 "v2": "unexpected success", 354 "v3": "unexpected success" 355 } 356 }, 357 { 358 "description": "invalid object 4", 359 "data": { 360 "foo\"bar": 2 361 }, 362 "valid": false, 363 "skip": { 364 "v2": "unexpected success", 365 "v3": "unexpected success" 366 } 367 } 368 ] 369 }, 370 { 371 "description": "dependent subschema incompatible with root", 372 "schema": { 373 "properties": { 374 "foo": {} 375 }, 376 "dependencies": { 377 "foo": { 378 "properties": { 379 "bar": {} 380 }, 381 "additionalProperties": false 382 } 383 } 384 }, 385 "tests": [ 386 { 387 "description": "matches root", 388 "data": { 389 "foo": 1 390 }, 391 "valid": false, 392 "skip": { 393 "v2": "unexpected success", 394 "v3": "unexpected success" 395 } 396 }, 397 { 398 "description": "matches dependency", 399 "data": { 400 "bar": 1 401 }, 402 "valid": true 403 }, 404 { 405 "description": "matches both", 406 "data": { 407 "foo": 1, 408 "bar": 2 409 }, 410 "valid": false, 411 "skip": { 412 "v2": "unexpected success", 413 "v3": "unexpected success" 414 } 415 }, 416 { 417 "description": "no dependency", 418 "data": { 419 "baz": 1 420 }, 421 "valid": true 422 } 423 ] 424 } 425 ]