UNPKG

@knowark/validarkjs

Version:
343 lines (342 loc) 10.3 kB
[ { "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 } ] } ]