[ { "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" } } ] } } ] } ]