[
  {
    "description": "empty string is valid for all types (except const)",
    "database": {
      "schemas": [
        {
          "properties": {
            "obj": {
              "type": "object"
            },
            "arr": {
              "type": "array"
            },
            "str": {
              "type": "string"
            },
            "int": {
              "type": "integer"
            },
            "num": {
              "type": "number"
            },
            "bool": {
              "type": "boolean"
            },
            "nul": {
              "type": "null"
            },
            "fmt": {
              "type": "string",
              "format": "uuid"
            },
            "con": {
              "const": "value"
            },
            "con_empty": {
              "const": ""
            }
          },
          "$id": "emptyString_0_0"
        }
      ]
    },
    "tests": [
      {
        "description": "empty string valid for object",
        "data": {
          "obj": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": true
        }
      },
      {
        "description": "empty string valid for array",
        "data": {
          "arr": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": true
        }
      },
      {
        "description": "empty string valid for string",
        "data": {
          "str": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": true
        }
      },
      {
        "description": "empty string valid for integer",
        "data": {
          "int": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": true
        }
      },
      {
        "description": "empty string valid for number",
        "data": {
          "num": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": true
        }
      },
      {
        "description": "empty string valid for boolean",
        "data": {
          "bool": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": true
        }
      },
      {
        "description": "empty string valid for null",
        "data": {
          "nul": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": true
        }
      },
      {
        "description": "empty string valid for format",
        "data": {
          "fmt": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": true
        }
      },
      {
        "description": "empty string INVALID for const (unless const is empty string)",
        "data": {
          "con": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": false,
          "errors": [
            {
              "code": "CONST_VIOLATED",
              "path": "/con"
            }
          ]
        }
      },
      {
        "description": "empty string VALID for const if const IS empty string",
        "data": {
          "con_empty": ""
        },
        "schema_id": "emptyString_0_0",
        "action": "validate",
        "expect": {
          "success": true
        }
      }
    ]
  }
]