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

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