| [ |
| { |
| "description": "remote ref", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$ref": "http://localhost:1234/draft2020-12/integer.json" |
| }, |
| "tests": [ |
| { |
| "description": "remote ref valid", |
| "data": 1, |
| "valid": true |
| }, |
| { |
| "description": "remote ref invalid", |
| "data": "a", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "fragment within remote ref", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$ref": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer" |
| }, |
| "tests": [ |
| { |
| "description": "remote fragment valid", |
| "data": 1, |
| "valid": true |
| }, |
| { |
| "description": "remote fragment invalid", |
| "data": "a", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "anchor within remote ref", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$ref": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#foo" |
| }, |
| "tests": [ |
| { |
| "description": "remote anchor valid", |
| "data": 1, |
| "valid": true |
| }, |
| { |
| "description": "remote anchor invalid", |
| "data": "a", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "ref within remote ref", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$ref": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/refToInteger" |
| }, |
| "tests": [ |
| { |
| "description": "ref within ref valid", |
| "data": 1, |
| "valid": true |
| }, |
| { |
| "description": "ref within ref invalid", |
| "data": "a", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "base URI change", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$id": "http://localhost:1234/draft2020-12/", |
| "items": { |
| "$id": "baseUriChange/", |
| "items": {"$ref": "folderInteger.json"} |
| } |
| }, |
| "tests": [ |
| { |
| "description": "base URI change ref valid", |
| "data": [[1]], |
| "valid": true |
| }, |
| { |
| "description": "base URI change ref invalid", |
| "data": [["a"]], |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "base URI change - change folder", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$id": "http://localhost:1234/draft2020-12/scope_change_defs1.json", |
| "type" : "object", |
| "properties": {"list": {"$ref": "baseUriChangeFolder/"}}, |
| "$defs": { |
| "baz": { |
| "$id": "baseUriChangeFolder/", |
| "type": "array", |
| "items": {"$ref": "folderInteger.json"} |
| } |
| } |
| }, |
| "tests": [ |
| { |
| "description": "number is valid", |
| "data": {"list": [1]}, |
| "valid": true |
| }, |
| { |
| "description": "string is invalid", |
| "data": {"list": ["a"]}, |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "base URI change - change folder in subschema", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$id": "http://localhost:1234/draft2020-12/scope_change_defs2.json", |
| "type" : "object", |
| "properties": {"list": {"$ref": "baseUriChangeFolderInSubschema/#/$defs/bar"}}, |
| "$defs": { |
| "baz": { |
| "$id": "baseUriChangeFolderInSubschema/", |
| "$defs": { |
| "bar": { |
| "type": "array", |
| "items": {"$ref": "folderInteger.json"} |
| } |
| } |
| } |
| } |
| }, |
| "tests": [ |
| { |
| "description": "number is valid", |
| "data": {"list": [1]}, |
| "valid": true |
| }, |
| { |
| "description": "string is invalid", |
| "data": {"list": ["a"]}, |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "root ref in remote ref", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$id": "http://localhost:1234/draft2020-12/object", |
| "type": "object", |
| "properties": { |
| "name": {"$ref": "name-defs.json#/$defs/orNull"} |
| } |
| }, |
| "tests": [ |
| { |
| "description": "string is valid", |
| "data": { |
| "name": "foo" |
| }, |
| "valid": true |
| }, |
| { |
| "description": "null is valid", |
| "data": { |
| "name": null |
| }, |
| "valid": true |
| }, |
| { |
| "description": "object is invalid", |
| "data": { |
| "name": { |
| "name": null |
| } |
| }, |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "remote ref with ref to defs", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$id": "http://localhost:1234/draft2020-12/schema-remote-ref-ref-defs1.json", |
| "$ref": "ref-and-defs.json" |
| }, |
| "tests": [ |
| { |
| "description": "invalid", |
| "data": { |
| "bar": 1 |
| }, |
| "valid": false |
| }, |
| { |
| "description": "valid", |
| "data": { |
| "bar": "a" |
| }, |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "Location-independent identifier in remote ref", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$ref": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/refToInteger" |
| }, |
| "tests": [ |
| { |
| "description": "integer is valid", |
| "data": 1, |
| "valid": true |
| }, |
| { |
| "description": "string is invalid", |
| "data": "foo", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "retrieved nested refs resolve relative to their URI not $id", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$id": "http://localhost:1234/draft2020-12/some-id", |
| "properties": { |
| "name": {"$ref": "nested/foo-ref-string.json"} |
| } |
| }, |
| "tests": [ |
| { |
| "description": "number is invalid", |
| "data": { |
| "name": {"foo": 1} |
| }, |
| "valid": false |
| }, |
| { |
| "description": "string is valid", |
| "data": { |
| "name": {"foo": "a"} |
| }, |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "remote HTTP ref with different $id", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$ref": "http://localhost:1234/different-id-ref-string.json" |
| }, |
| "tests": [ |
| { |
| "description": "number is invalid", |
| "data": 1, |
| "valid": false |
| }, |
| { |
| "description": "string is valid", |
| "data": "foo", |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "remote HTTP ref with different URN $id", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$ref": "http://localhost:1234/urn-ref-string.json" |
| }, |
| "tests": [ |
| { |
| "description": "number is invalid", |
| "data": 1, |
| "valid": false |
| }, |
| { |
| "description": "string is valid", |
| "data": "foo", |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "remote HTTP ref with nested absolute ref", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$ref": "http://localhost:1234/nested-absolute-ref-to-string.json" |
| }, |
| "tests": [ |
| { |
| "description": "number is invalid", |
| "data": 1, |
| "valid": false |
| }, |
| { |
| "description": "string is valid", |
| "data": "foo", |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "$ref to $ref finds detached $anchor", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$ref": "http://localhost:1234/draft2020-12/detached-ref.json#/$defs/foo" |
| }, |
| "tests": [ |
| { |
| "description": "number is valid", |
| "data": 1, |
| "valid": true |
| }, |
| { |
| "description": "non-number is invalid", |
| "data": "a", |
| "valid": false |
| } |
| ] |
| } |
| ] |