summaryrefslogtreecommitdiff
path: root/tests/draft2020-12/anyOf.json
diff options
context:
space:
mode:
authorJulian Berman <Julian@GrayVines.com>2021-04-12 21:09:51 -0400
committerJulian Berman <Julian@GrayVines.com>2021-04-12 21:09:51 -0400
commit61d6022ad9cceb91eb634d01eecfc15358b1d8a1 (patch)
tree1d88ab4660f2a28ae9e98c7b9538d58d85816ed3 /tests/draft2020-12/anyOf.json
parent037b4438fc54e52584cf8fb5e469cf3413751a1f (diff)
downloadjsonschema-61d6022ad9cceb91eb634d01eecfc15358b1d8a1.tar.gz
Squashed 'json/' changes from 3627cc1..15ec577
15ec577 Merge pull request #471 from json-schema-org/ether/id-anchor-in-enum 9f97865 test for confusing not-identifiers in enums 0f7ecd4 Merge pull request #475 from marksparkza/marksparkza-patch-1 783d22a Add jschon fc68499 Merge pull request #472 from json-schema-org/ether/unevaluatedProperties_uncles ed4cf5f more test cases for unevaluatedItems, unevaluatedProperties d0d814d Merge pull request #469 from json-schema-org/ether/ipv4-vulnerability 7ca5f36 reject ipv4 strings with an octet with a leading zero 8e1e1c1 fix spelling error in test descriptions 77f1d10 Merge pull request #462 from jdesrosiers/dynamic-ref-tests 72a32fe Merge pull request #468 from json-schema-org/ether/combine-test-cases 0c48ffb Merge pull request #453 from notEthan/float-overflow-d4-int 76a4ba0 these test cases can be combined since the schemas are the same cd73775 Merge pull request #464 from json-schema-org/ether/format-by-default-always-validates 043dc63 by default, "format" only annotates, not validates 3c45b81 Merge pull request #460 from amosonn/remove-remotes-from-script b09e48d Fix $ref with siblings in pre-2019-09 tests ff9f22e Add tests for $dynamicRef/$dynamicAnchor 0faaf09 Fix refs to Draft 2019-09 schema to be refs to 2020-12 ebbcbc8 Use flask to server remotes directly bb98b03 Remove remotes from bin/jsonschema_suite fcae732 Merge pull request #455 from jdesrosiers/bootstrap-202012 e002409 Update tests for 2020-12 405b3fb Copy 2019-09 tests to bootstrap 2020-12 tests 1636a22 draft4 float-overflow instance may be considered not an integer 8daea3f Merge pull request #451 from json-schema-org/ether/more-relative-json-pointer 69fe40f some more relative-json-pointer tests 6505944 Merge pull request #450 from json-schema-org/ether/recursiveRef-dynamic-path afd0cd3 Move content* keyword tests to non-optional e2b2a4b Change all content* keyword tests to always validate 8999eae $recursiveRef example demonstrating dynamic nature of the resolution scope f47003f fix duplicate test description bcf1dc8 Merge pull request #391 from ether/recursiveRef (rebased, squashed) 3d88f34 test $recursiveRef + $recursiveAnchor 3b79a45 Merge pull request #418 from ChALkeR/chalker/contentSchema 29f609b Add tests for contentSchema git-subtree-dir: json git-subtree-split: 15ec577f5ddee0115319f4e7f856cd57567a9c78
Diffstat (limited to 'tests/draft2020-12/anyOf.json')
-rw-r--r--tests/draft2020-12/anyOf.json189
1 files changed, 189 insertions, 0 deletions
diff --git a/tests/draft2020-12/anyOf.json b/tests/draft2020-12/anyOf.json
new file mode 100644
index 0000000..ab5eb38
--- /dev/null
+++ b/tests/draft2020-12/anyOf.json
@@ -0,0 +1,189 @@
+[
+ {
+ "description": "anyOf",
+ "schema": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "minimum": 2
+ }
+ ]
+ },
+ "tests": [
+ {
+ "description": "first anyOf valid",
+ "data": 1,
+ "valid": true
+ },
+ {
+ "description": "second anyOf valid",
+ "data": 2.5,
+ "valid": true
+ },
+ {
+ "description": "both anyOf valid",
+ "data": 3,
+ "valid": true
+ },
+ {
+ "description": "neither anyOf valid",
+ "data": 1.5,
+ "valid": false
+ }
+ ]
+ },
+ {
+ "description": "anyOf with base schema",
+ "schema": {
+ "type": "string",
+ "anyOf" : [
+ {
+ "maxLength": 2
+ },
+ {
+ "minLength": 4
+ }
+ ]
+ },
+ "tests": [
+ {
+ "description": "mismatch base schema",
+ "data": 3,
+ "valid": false
+ },
+ {
+ "description": "one anyOf valid",
+ "data": "foobar",
+ "valid": true
+ },
+ {
+ "description": "both anyOf invalid",
+ "data": "foo",
+ "valid": false
+ }
+ ]
+ },
+ {
+ "description": "anyOf with boolean schemas, all true",
+ "schema": {"anyOf": [true, true]},
+ "tests": [
+ {
+ "description": "any value is valid",
+ "data": "foo",
+ "valid": true
+ }
+ ]
+ },
+ {
+ "description": "anyOf with boolean schemas, some true",
+ "schema": {"anyOf": [true, false]},
+ "tests": [
+ {
+ "description": "any value is valid",
+ "data": "foo",
+ "valid": true
+ }
+ ]
+ },
+ {
+ "description": "anyOf with boolean schemas, all false",
+ "schema": {"anyOf": [false, false]},
+ "tests": [
+ {
+ "description": "any value is invalid",
+ "data": "foo",
+ "valid": false
+ }
+ ]
+ },
+ {
+ "description": "anyOf complex types",
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "bar": {"type": "integer"}
+ },
+ "required": ["bar"]
+ },
+ {
+ "properties": {
+ "foo": {"type": "string"}
+ },
+ "required": ["foo"]
+ }
+ ]
+ },
+ "tests": [
+ {
+ "description": "first anyOf valid (complex)",
+ "data": {"bar": 2},
+ "valid": true
+ },
+ {
+ "description": "second anyOf valid (complex)",
+ "data": {"foo": "baz"},
+ "valid": true
+ },
+ {
+ "description": "both anyOf valid (complex)",
+ "data": {"foo": "baz", "bar": 2},
+ "valid": true
+ },
+ {
+ "description": "neither anyOf valid (complex)",
+ "data": {"foo": 2, "bar": "quux"},
+ "valid": false
+ }
+ ]
+ },
+ {
+ "description": "anyOf with one empty schema",
+ "schema": {
+ "anyOf": [
+ { "type": "number" },
+ {}
+ ]
+ },
+ "tests": [
+ {
+ "description": "string is valid",
+ "data": "foo",
+ "valid": true
+ },
+ {
+ "description": "number is valid",
+ "data": 123,
+ "valid": true
+ }
+ ]
+ },
+ {
+ "description": "nested anyOf, to check validation semantics",
+ "schema": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "null"
+ }
+ ]
+ }
+ ]
+ },
+ "tests": [
+ {
+ "description": "null is valid",
+ "data": null,
+ "valid": true
+ },
+ {
+ "description": "anything non-null is invalid",
+ "data": 123,
+ "valid": false
+ }
+ ]
+ }
+]