ajv/spec/tests/schemas/medium.json

136 lines
3.2 KiB
JSON

[
{
"description": "medium schema from jsck benchmark (https://github.com/pandastrike/jsck)",
"schema": {
"description": "A moderately complex schema with some nesting and value constraints",
"type": "object",
"additionalProperties": false,
"required": [
"api_server",
"transport",
"storage",
"chain"
],
"properties": {
"api_server": {
"description": "Settings for the HTTP API server",
"type": "object",
"additionalProperties": false,
"required": [
"url",
"host",
"port"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"host": {
"type": "string"
},
"port": {
"type": "integer",
"minimum": 1000
}
}
},
"transport": {
"description": "Settings for the Redis tranport",
"additionalProperties": false,
"required": [
"server"
],
"properties": {
"server": {
"type": "string"
},
"options": {
"type": "object"
},
"queues": {
"properties": {
"blocking_timeout": {
"type": "integer",
"minimum": 0
}
}
}
}
},
"storage": {
"description": "Settings for the PostgreSQL storage",
"required": [
"server",
"database",
"user"
],
"properties": {
"server": {
"type": "string"
},
"database": {
"type": "string"
},
"user": {
"type": "string"
},
"options": {
"type": "object"
}
}
},
"chain": {
"description": "Settings for the Chain.com client",
"required": [
"api_key_id",
"api_key_secret"
],
"properties": {
"api_key_id": {
"type": "string"
},
"api_key_secret": {
"type": "string"
}
}
}
}
},
"tests": [
{
"description": "valid object from jsck benchmark",
"data": {
"api_server": {
"url": "http://example.com:8998",
"host": "example.com",
"port": 8998
},
"transport": {
"server": "127.0.0.1:6381",
"queues": {
"blocking_timeout": 0
}
},
"storage": {
"server": "127.0.0.1:5432",
"database": "thingy-test",
"user": "thingy-test",
"password": "password"
},
"chain": {
"api_key_id": "cafebabe",
"api_key_secret": "babecafe"
}
},
"valid": true
},
{
"description": "not object",
"data": 1,
"valid": false
}
]
}
]