significantly simplified the validator and work continues on query
This commit is contained in:
204
tests/fixtures/allOf.json
vendored
204
tests/fixtures/allOf.json
vendored
@ -4,7 +4,6 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{
|
||||
"properties": {
|
||||
@ -26,7 +25,8 @@
|
||||
"foo"
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_0_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -37,21 +37,24 @@
|
||||
"foo": "baz",
|
||||
"bar": 2
|
||||
},
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_0_0"
|
||||
},
|
||||
{
|
||||
"description": "mismatch second",
|
||||
"data": {
|
||||
"foo": "baz"
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_0_0"
|
||||
},
|
||||
{
|
||||
"description": "mismatch first",
|
||||
"data": {
|
||||
"bar": 2
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_0_0"
|
||||
},
|
||||
{
|
||||
"description": "wrong type",
|
||||
@ -59,7 +62,8 @@
|
||||
"foo": "baz",
|
||||
"bar": "quux"
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_0_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -68,7 +72,6 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"properties": {
|
||||
"bar": {
|
||||
"type": "integer"
|
||||
@ -102,7 +105,8 @@
|
||||
"baz"
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_1_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -114,7 +118,8 @@
|
||||
"bar": 2,
|
||||
"baz": null
|
||||
},
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_1_0"
|
||||
},
|
||||
{
|
||||
"description": "mismatch base schema",
|
||||
@ -122,7 +127,8 @@
|
||||
"foo": "quux",
|
||||
"baz": null
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_1_0"
|
||||
},
|
||||
{
|
||||
"description": "mismatch first allOf",
|
||||
@ -130,7 +136,8 @@
|
||||
"bar": 2,
|
||||
"baz": null
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_1_0"
|
||||
},
|
||||
{
|
||||
"description": "mismatch second allOf",
|
||||
@ -138,14 +145,16 @@
|
||||
"foo": "quux",
|
||||
"bar": 2
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_1_0"
|
||||
},
|
||||
{
|
||||
"description": "mismatch both",
|
||||
"data": {
|
||||
"bar": 2
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_1_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -154,7 +163,6 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{
|
||||
"maximum": 30
|
||||
@ -162,7 +170,8 @@
|
||||
{
|
||||
"minimum": 20
|
||||
}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_2_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -170,12 +179,14 @@
|
||||
{
|
||||
"description": "valid",
|
||||
"data": 25,
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_2_0"
|
||||
},
|
||||
{
|
||||
"description": "mismatch one",
|
||||
"data": 35,
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_2_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -184,11 +195,11 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
true,
|
||||
true
|
||||
]
|
||||
],
|
||||
"$id": "allOf_3_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -196,7 +207,8 @@
|
||||
{
|
||||
"description": "any value is valid",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_3_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -205,11 +217,11 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
],
|
||||
"$id": "allOf_4_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -217,7 +229,8 @@
|
||||
{
|
||||
"description": "any value is invalid",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_4_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -226,11 +239,11 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
false,
|
||||
false
|
||||
]
|
||||
],
|
||||
"$id": "allOf_5_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -238,7 +251,8 @@
|
||||
{
|
||||
"description": "any value is invalid",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_5_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -247,10 +261,10 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_6_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -258,7 +272,8 @@
|
||||
{
|
||||
"description": "any data is valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_6_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -267,11 +282,11 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{},
|
||||
{}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_7_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -279,7 +294,8 @@
|
||||
{
|
||||
"description": "any data is valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_7_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -288,13 +304,13 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{},
|
||||
{
|
||||
"type": "number"
|
||||
}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_8_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -302,12 +318,14 @@
|
||||
{
|
||||
"description": "number is valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_8_0"
|
||||
},
|
||||
{
|
||||
"description": "string is invalid",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_8_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -316,13 +334,13 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{
|
||||
"type": "number"
|
||||
},
|
||||
{}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_9_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -330,12 +348,14 @@
|
||||
{
|
||||
"description": "number is valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_9_0"
|
||||
},
|
||||
{
|
||||
"description": "string is invalid",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_9_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -344,7 +364,6 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{
|
||||
"allOf": [
|
||||
@ -353,7 +372,8 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_10_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -361,12 +381,14 @@
|
||||
{
|
||||
"description": "null is valid",
|
||||
"data": null,
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_10_0"
|
||||
},
|
||||
{
|
||||
"description": "anything non-null is invalid",
|
||||
"data": 123,
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_10_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -375,7 +397,6 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{
|
||||
"multipleOf": 2
|
||||
@ -390,7 +411,8 @@
|
||||
{
|
||||
"multipleOf": 5
|
||||
}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_11_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -398,42 +420,50 @@
|
||||
{
|
||||
"description": "allOf: false, anyOf: false, oneOf: false",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_11_0"
|
||||
},
|
||||
{
|
||||
"description": "allOf: false, anyOf: false, oneOf: true",
|
||||
"data": 5,
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_11_0"
|
||||
},
|
||||
{
|
||||
"description": "allOf: false, anyOf: true, oneOf: false",
|
||||
"data": 3,
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_11_0"
|
||||
},
|
||||
{
|
||||
"description": "allOf: false, anyOf: true, oneOf: true",
|
||||
"data": 15,
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_11_0"
|
||||
},
|
||||
{
|
||||
"description": "allOf: true, anyOf: false, oneOf: false",
|
||||
"data": 2,
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_11_0"
|
||||
},
|
||||
{
|
||||
"description": "allOf: true, anyOf: false, oneOf: true",
|
||||
"data": 10,
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_11_0"
|
||||
},
|
||||
{
|
||||
"description": "allOf: true, anyOf: true, oneOf: false",
|
||||
"data": 6,
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_11_0"
|
||||
},
|
||||
{
|
||||
"description": "allOf: true, anyOf: true, oneOf: true",
|
||||
"data": 30,
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_11_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -442,7 +472,6 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{
|
||||
"properties": {
|
||||
@ -465,7 +494,8 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"extensible": true
|
||||
"extensible": true,
|
||||
"$id": "allOf_12_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -477,7 +507,8 @@
|
||||
"bar": 2,
|
||||
"qux": 3
|
||||
},
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_12_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -486,7 +517,6 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{
|
||||
"properties": {
|
||||
@ -502,7 +532,8 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_13_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -513,7 +544,8 @@
|
||||
"foo": 1,
|
||||
"bar": 2
|
||||
},
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_13_0"
|
||||
},
|
||||
{
|
||||
"description": "fails on extra property z explicitly",
|
||||
@ -522,7 +554,8 @@
|
||||
"bar": 2,
|
||||
"z": 3
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_13_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -531,7 +564,6 @@
|
||||
"database": {
|
||||
"schemas": [
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"allOf": [
|
||||
{
|
||||
"properties": {
|
||||
@ -548,7 +580,8 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"$id": "allOf_14_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -560,7 +593,8 @@
|
||||
"bar": 2,
|
||||
"z": 3
|
||||
},
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_14_0"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -571,26 +605,27 @@
|
||||
{
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/$defs/partA"
|
||||
"$ref": "partA"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/partB"
|
||||
"$ref": "partB"
|
||||
}
|
||||
],
|
||||
"$defs": {
|
||||
"partA": {
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"partB": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"$id": "allOf_15_0"
|
||||
},
|
||||
{
|
||||
"$id": "partA",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$id": "partB",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -603,7 +638,8 @@
|
||||
"id": "1",
|
||||
"name": "Me"
|
||||
},
|
||||
"valid": true
|
||||
"valid": true,
|
||||
"schema_id": "allOf_15_0"
|
||||
},
|
||||
{
|
||||
"description": "extra property is invalid (root is strict)",
|
||||
@ -612,7 +648,8 @@
|
||||
"name": "Me",
|
||||
"extra": 1
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_15_0"
|
||||
},
|
||||
{
|
||||
"description": "partA mismatch is invalid",
|
||||
@ -620,7 +657,8 @@
|
||||
"id": 1,
|
||||
"name": "Me"
|
||||
},
|
||||
"valid": false
|
||||
"valid": false,
|
||||
"schema_id": "allOf_15_0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user