github.com/kaptinlin/jsonschema@v0.4.6/testdata/JSON-Schema-Test-Suite/tests/draft2020-12/allOf.json (about)

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