144 lines
4.9 KiB
JSON
144 lines
4.9 KiB
JSON
[
|
|
{
|
|
"description": "validation of binary-encoded media type documents with schema",
|
|
"schema": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"contentMediaType": "application/json",
|
|
"contentEncoding": "base64",
|
|
"contentSchema": { "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 false",
|
|
"data": "eyJib28iOiAyMH0=",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an empty object as a base64-encoded JSON document; validates false",
|
|
"data": "e30=",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an empty array as a base64-encoded JSON document",
|
|
"data": "W10=",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "a validly-encoded invalid JSON document; validates false",
|
|
"data": "ezp9Cg==",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an invalid base64 string that is valid JSON; validates false",
|
|
"data": "{}",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "ignores non-strings",
|
|
"data": 100,
|
|
"valid": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "contentSchema without contentMediaType",
|
|
"schema": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"contentEncoding": "base64",
|
|
"contentSchema": { "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 false",
|
|
"data": "{}",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "ignores non-strings",
|
|
"data": 100,
|
|
"valid": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "contentSchema without contentEncoding",
|
|
"schema": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"contentMediaType": "application/json",
|
|
"contentSchema": { "required": ["foo"], "properties": { "foo": { "type": "string" } } }
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "a valid JSON document",
|
|
"data": "{\"foo\": \"bar\"}",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "another valid base64-encoded JSON document",
|
|
"data": "{\"boo\": 20, \"foo\": \"baz\"}",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "an empty object; validates false",
|
|
"data": "{}",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an empty array; validates false",
|
|
"data": "[]",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "invalid JSON document; validates false",
|
|
"data": "[}",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "ignores non-strings",
|
|
"data": 100,
|
|
"valid": true
|
|
}
|
|
]
|
|
}
|
|
]
|