Files
jspg/fixtures/dict.json
2026-06-23 19:48:38 -04:00

284 lines
6.1 KiB
JSON

[
{
"description": "basic dict type validation",
"database": {
"types": [
{
"name": "dict_basic",
"schemas": {
"dict_basic": {
"type": "dict"
}
}
}
]
},
"tests": [
{
"description": "valid empty dict",
"data": {},
"schema_id": "dict_basic",
"action": "validate",
"expect": {
"success": true
}
},
{
"description": "valid simple dict",
"data": {
"key1": "value1",
"key2": 123,
"key3": true
},
"schema_id": "dict_basic",
"action": "validate",
"expect": {
"success": true
}
},
{
"description": "invalid type - array is not dict",
"data": [
"a",
"b"
],
"schema_id": "dict_basic",
"action": "validate",
"expect": {
"success": false,
"errors": [
{
"code": "INVALID_TYPE",
"values": {
"expected": "dict"
},
"details": {
"path": "",
"schema": "dict_basic"
}
}
]
}
},
{
"description": "invalid type - string is not dict",
"data": "not a dict",
"schema_id": "dict_basic",
"action": "validate",
"expect": {
"success": false,
"errors": [
{
"code": "INVALID_TYPE",
"values": {
"expected": "dict"
},
"details": {
"path": "",
"schema": "dict_basic"
}
}
]
}
}
]
},
{
"description": "dict keys validation",
"database": {
"types": [
{
"name": "dict_keys",
"schemas": {
"dict_keys": {
"type": "dict",
"keys": {
"type": "string",
"pattern": "^[a-z]{3}$"
}
}
}
}
]
},
"tests": [
{
"description": "valid 3-letter lowercase keys",
"data": {
"abc": 1,
"xyz": "test"
},
"schema_id": "dict_keys",
"action": "validate",
"expect": {
"success": true
}
},
{
"description": "invalid key format",
"data": {
"abc": 1,
"abcd": 2
},
"schema_id": "dict_keys",
"action": "validate",
"expect": {
"success": false,
"errors": [
{
"code": "PATTERN_VIOLATED",
"values": {
"value": "abcd",
"pattern": "^[a-z]{3}$"
},
"details": {
"path": "keys/abcd",
"schema": "dict_keys"
}
}
]
}
}
]
},
{
"description": "dict items (values) validation",
"database": {
"types": [
{
"name": "dict_items",
"schemas": {
"dict_items": {
"type": "dict",
"items": {
"type": "integer"
}
}
}
}
]
},
"tests": [
{
"description": "valid integer values",
"data": {
"a": 1,
"b": 100
},
"schema_id": "dict_items",
"action": "validate",
"expect": {
"success": true
}
},
{
"description": "invalid value type",
"data": {
"a": 1,
"b": "string value"
},
"schema_id": "dict_items",
"action": "validate",
"expect": {
"success": false,
"errors": [
{
"code": "INVALID_TYPE",
"values": {
"expected": "integer"
},
"details": {
"path": "b",
"schema": "dict_items"
}
}
]
}
}
]
},
{
"description": "dict keys and items validation combined",
"database": {
"types": [
{
"name": "dict_combined",
"schemas": {
"dict_combined": {
"type": "dict",
"keys": {
"type": "string",
"pattern": "^[0-9]+$"
},
"items": {
"type": "boolean"
}
}
}
}
]
},
"tests": [
{
"description": "valid numeric keys and boolean values",
"data": {
"123": true,
"456": false
},
"schema_id": "dict_combined",
"action": "validate",
"expect": {
"success": true
}
},
{
"description": "invalid key and valid value",
"data": {
"123": true,
"abc": false
},
"schema_id": "dict_combined",
"action": "validate",
"expect": {
"success": false,
"errors": [
{
"code": "PATTERN_VIOLATED",
"values": {
"pattern": "^[0-9]+$",
"value": "abc"
},
"details": {
"path": "keys/abc",
"schema": "dict_combined"
}
}
]
}
},
{
"description": "valid key and invalid value",
"data": {
"123": "not a boolean"
},
"schema_id": "dict_combined",
"action": "validate",
"expect": {
"success": false,
"errors": [
{
"code": "INVALID_TYPE",
"values": {
"expected": "boolean"
},
"details": {
"path": "123",
"schema": "dict_combined"
}
}
]
}
}
]
}
]