| [ |
| { |
| "description": "validation of string-encoded content based on media type", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/next/schema", |
| "contentMediaType": "application/json" |
| }, |
| "tests": [ |
| { |
| "description": "a valid JSON document", |
| "data": "{\"foo\": \"bar\"}", |
| "valid": true |
| }, |
| { |
| "description": "an invalid JSON document; validates true", |
| "data": "{:}", |
| "valid": true |
| }, |
| { |
| "description": "ignores non-strings", |
| "data": 100, |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "validation of binary string-encoding", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/next/schema", |
| "contentEncoding": "base64" |
| }, |
| "tests": [ |
| { |
| "description": "a valid base64 string", |
| "data": "eyJmb28iOiAiYmFyIn0K", |
| "valid": true |
| }, |
| { |
| "description": "an invalid base64 string (% is not a valid character); validates true", |
| "data": "eyJmb28iOi%iYmFyIn0K", |
| "valid": true |
| }, |
| { |
| "description": "ignores non-strings", |
| "data": 100, |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "validation of binary-encoded media type documents", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/next/schema", |
| "contentMediaType": "application/json", |
| "contentEncoding": "base64" |
| }, |
| "tests": [ |
| { |
| "description": "a valid base64-encoded JSON document", |
| "data": "eyJmb28iOiAiYmFyIn0K", |
| "valid": true |
| }, |
| { |
| "description": "a validly-encoded invalid JSON document; validates true", |
| "data": "ezp9Cg==", |
| "valid": true |
| }, |
| { |
| "description": "an invalid base64 string that is valid JSON; validates true", |
| "data": "{}", |
| "valid": true |
| }, |
| { |
| "description": "ignores non-strings", |
| "data": 100, |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "validation of binary-encoded media type documents with schema", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/next/schema", |
| "contentMediaType": "application/json", |
| "contentEncoding": "base64", |
| "contentSchema": { "type": "object", "required": ["foo"], "properties": { "foo": { "type": "string" } } } |
| }, |
| "tests": [ |
| { |
| "description": "a valid base64-encoded JSON document", |
| "data": "eyJmb28iOiAiYmFyIn0K", |
| "valid": true |
| }, |
| { |
| "description": "another valid base64-encoded JSON document", |
| "data": "eyJib28iOiAyMCwgImZvbyI6ICJiYXoifQ==", |
| "valid": true |
| }, |
| { |
| "description": "an invalid base64-encoded JSON document; validates true", |
| "data": "eyJib28iOiAyMH0=", |
| "valid": true |
| }, |
| { |
| "description": "an empty object as a base64-encoded JSON document; validates true", |
| "data": "e30=", |
| "valid": true |
| }, |
| { |
| "description": "an empty array as a base64-encoded JSON document", |
| "data": "W10=", |
| "valid": true |
| }, |
| { |
| "description": "a validly-encoded invalid JSON document; validates true", |
| "data": "ezp9Cg==", |
| "valid": true |
| }, |
| { |
| "description": "an invalid base64 string that is valid JSON; validates true", |
| "data": "{}", |
| "valid": true |
| }, |
| { |
| "description": "ignores non-strings", |
| "data": 100, |
| "valid": true |
| } |
| ] |
| } |
| ] |