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

     1  [
     2      {
     3          "description": "remote ref",
     4          "schema": {
     5              "$schema": "https://json-schema.org/draft/next/schema",
     6              "$ref": "http://localhost:1234/draft-next/integer.json"
     7          },
     8          "tests": [
     9              {
    10                  "description": "remote ref valid",
    11                  "data": 1,
    12                  "valid": true
    13              },
    14              {
    15                  "description": "remote ref invalid",
    16                  "data": "a",
    17                  "valid": false
    18              }
    19          ]
    20      },
    21      {
    22          "description": "fragment within remote ref",
    23          "schema": {
    24              "$schema": "https://json-schema.org/draft/next/schema",
    25              "$ref": "http://localhost:1234/draft-next/subSchemas.json#/$defs/integer"
    26          },
    27          "tests": [
    28              {
    29                  "description": "remote fragment valid",
    30                  "data": 1,
    31                  "valid": true
    32              },
    33              {
    34                  "description": "remote fragment invalid",
    35                  "data": "a",
    36                  "valid": false
    37              }
    38          ]
    39      },
    40      {
    41           "description": "anchor within remote ref",
    42           "schema": {
    43               "$schema": "https://json-schema.org/draft/next/schema",
    44               "$ref": "http://localhost:1234/draft-next/locationIndependentIdentifier.json#foo"
    45           },
    46           "tests": [
    47               {
    48                   "description": "remote anchor valid",
    49                   "data": 1,
    50                   "valid": true
    51               },
    52               {
    53                   "description": "remote anchor invalid",
    54                   "data": "a",
    55                   "valid": false
    56               }
    57           ]
    58      },
    59      {
    60          "description": "ref within remote ref",
    61          "schema": {
    62              "$schema": "https://json-schema.org/draft/next/schema",
    63              "$ref": "http://localhost:1234/draft-next/subSchemas.json#/$defs/refToInteger"
    64          },
    65          "tests": [
    66              {
    67                  "description": "ref within ref valid",
    68                  "data": 1,
    69                  "valid": true
    70              },
    71              {
    72                  "description": "ref within ref invalid",
    73                  "data": "a",
    74                  "valid": false
    75              }
    76          ]
    77      },
    78      {
    79          "description": "base URI change",
    80          "schema": {
    81              "$schema": "https://json-schema.org/draft/next/schema",
    82              "$id": "http://localhost:1234/draft-next/",
    83              "items": {
    84                  "$id": "baseUriChange/",
    85                  "items": {"$ref": "folderInteger.json"}
    86              }
    87          },
    88          "tests": [
    89              {
    90                  "description": "base URI change ref valid",
    91                  "data": [[1]],
    92                  "valid": true
    93              },
    94              {
    95                  "description": "base URI change ref invalid",
    96                  "data": [["a"]],
    97                  "valid": false
    98              }
    99          ]
   100      },
   101      {
   102          "description": "base URI change - change folder",
   103          "schema": {
   104              "$schema": "https://json-schema.org/draft/next/schema",
   105              "$id": "http://localhost:1234/draft-next/scope_change_defs1.json",
   106              "type" : "object",
   107              "properties": {"list": {"$ref": "baseUriChangeFolder/"}},
   108              "$defs": {
   109                  "baz": {
   110                      "$id": "baseUriChangeFolder/",
   111                      "type": "array",
   112                      "items": {"$ref": "folderInteger.json"}
   113                  }
   114              }
   115          },
   116          "tests": [
   117              {
   118                  "description": "number is valid",
   119                  "data": {"list": [1]},
   120                  "valid": true
   121              },
   122              {
   123                  "description": "string is invalid",
   124                  "data": {"list": ["a"]},
   125                  "valid": false
   126              }
   127          ]
   128      },
   129      {
   130          "description": "base URI change - change folder in subschema",
   131          "schema": {
   132              "$schema": "https://json-schema.org/draft/next/schema",
   133              "$id": "http://localhost:1234/draft-next/scope_change_defs2.json",
   134              "type" : "object",
   135              "properties": {"list": {"$ref": "baseUriChangeFolderInSubschema/#/$defs/bar"}},
   136              "$defs": {
   137                  "baz": {
   138                      "$id": "baseUriChangeFolderInSubschema/",
   139                      "$defs": {
   140                          "bar": {
   141                              "type": "array",
   142                              "items": {"$ref": "folderInteger.json"}
   143                          }
   144                      }
   145                  }
   146              }
   147          },
   148          "tests": [
   149              {
   150                  "description": "number is valid",
   151                  "data": {"list": [1]},
   152                  "valid": true
   153              },
   154              {
   155                  "description": "string is invalid",
   156                  "data": {"list": ["a"]},
   157                  "valid": false
   158              }
   159          ]
   160      },
   161      {
   162          "description": "root ref in remote ref",
   163          "schema": {
   164              "$schema": "https://json-schema.org/draft/next/schema",
   165              "$id": "http://localhost:1234/draft-next/object",
   166              "type": "object",
   167              "properties": {
   168                  "name": {"$ref": "name-defs.json#/$defs/orNull"}
   169              }
   170          },
   171          "tests": [
   172              {
   173                  "description": "string is valid",
   174                  "data": {
   175                      "name": "foo"
   176                  },
   177                  "valid": true
   178              },
   179              {
   180                  "description": "null is valid",
   181                  "data": {
   182                      "name": null
   183                  },
   184                  "valid": true
   185              },
   186              {
   187                  "description": "object is invalid",
   188                  "data": {
   189                      "name": {
   190                          "name": null
   191                      }
   192                  },
   193                  "valid": false
   194              }
   195          ]
   196      },
   197      {
   198          "description": "remote ref with ref to defs",
   199          "schema": {
   200              "$schema": "https://json-schema.org/draft/next/schema",
   201              "$id": "http://localhost:1234/draft-next/schema-remote-ref-ref-defs1.json",
   202              "$ref": "ref-and-defs.json"
   203          },
   204          "tests": [
   205              {
   206                  "description": "invalid",
   207                  "data": {
   208                      "bar": 1
   209                  },
   210                  "valid": false
   211              },
   212              {
   213                  "description": "valid",
   214                  "data": {
   215                      "bar": "a"
   216                  },
   217                  "valid": true
   218              }
   219          ]
   220      },
   221      {
   222          "description": "Location-independent identifier in remote ref",
   223          "schema": {
   224              "$schema": "https://json-schema.org/draft/next/schema",
   225              "$ref": "http://localhost:1234/draft-next/locationIndependentIdentifier.json#/$defs/refToInteger"
   226          },
   227          "tests": [
   228              {
   229                  "description": "integer is valid",
   230                  "data": 1,
   231                  "valid": true
   232              },
   233              {
   234                  "description": "string is invalid",
   235                  "data": "foo",
   236                  "valid": false
   237              }
   238          ]
   239      },
   240      {
   241          "description": "retrieved nested refs resolve relative to their URI not $id",
   242          "schema": {
   243              "$schema": "https://json-schema.org/draft/next/schema",
   244              "$id": "http://localhost:1234/draft-next/some-id",
   245              "properties": {
   246                  "name": {"$ref": "nested/foo-ref-string.json"}
   247              }
   248          },
   249          "tests": [
   250              {
   251                  "description": "number is invalid",
   252                  "data": {
   253                      "name": {"foo":  1}
   254                  },
   255                  "valid": false
   256              },
   257              {
   258                  "description": "string is valid",
   259                  "data": {
   260                      "name": {"foo":  "a"}
   261                  },
   262                  "valid": true
   263              }
   264          ]
   265      },
   266      {
   267          "description": "remote HTTP ref with different $id",
   268          "schema": {
   269              "$schema": "https://json-schema.org/draft/next/schema",
   270              "$ref": "http://localhost:1234/different-id-ref-string.json"
   271          },
   272          "tests": [
   273              {
   274                  "description": "number is invalid",
   275                  "data": 1,
   276                  "valid": false
   277              },
   278              {
   279                  "description": "string is valid",
   280                  "data": "foo",
   281                  "valid": true
   282              }
   283          ]
   284      },
   285      {
   286          "description": "remote HTTP ref with different URN $id",
   287          "schema": {
   288              "$schema": "https://json-schema.org/draft/next/schema",
   289              "$ref": "http://localhost:1234/urn-ref-string.json"
   290          },
   291          "tests": [
   292              {
   293                  "description": "number is invalid",
   294                  "data": 1,
   295                  "valid": false
   296              },
   297              {
   298                  "description": "string is valid",
   299                  "data": "foo",
   300                  "valid": true
   301              }
   302          ]
   303      },
   304      {
   305          "description": "remote HTTP ref with nested absolute ref",
   306          "schema": {
   307              "$schema": "https://json-schema.org/draft/next/schema",
   308              "$ref": "http://localhost:1234/nested-absolute-ref-to-string.json"
   309          },
   310          "tests": [
   311              {
   312                  "description": "number is invalid",
   313                  "data": 1,
   314                  "valid": false
   315              },
   316              {
   317                  "description": "string is valid",
   318                  "data": "foo",
   319                  "valid": true
   320              }
   321          ]
   322      },
   323      {
   324         "description": "$ref to $ref finds detached $anchor",
   325          "schema": {
   326              "$schema": "https://json-schema.org/draft/next/schema",
   327              "$ref": "http://localhost:1234/draft-next/detached-ref.json#/$defs/foo"
   328          },
   329          "tests": [
   330              {
   331                  "description": "number is valid",
   332                  "data": 1,
   333                  "valid": true
   334              },
   335              {
   336                  "description": "non-number is invalid",
   337                  "data": "a",
   338                  "valid": false
   339              }
   340          ]
   341      }
   342  ]