{
  "required": [
    "entityLink",
    "name",
    "testDefinition",
    "testSuite"
  ],
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "maxLength": 2147483647,
      "minLength": 1,
      "pattern": "^((?!::).)*$",
      "type": "string"
    },
    "displayName": {
      "type": "string"
    },
    "fullyQualifiedName": {
      "maxLength": 3072,
      "minLength": 1,
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "testDefinition": {
      "$ref": "#/components/schemas/EntityReference"
    },
    "entityLink": {
      "pattern": "(?U)^<#E::\\w+::(?:[^:<>|]|:[^:<>|])+(?:::(?:[^:<>|]|:[^:<>|])+)*>$",
      "type": "string"
    },
    "entityFQN": {
      "type": "string"
    },
    "testSuite": {
      "$ref": "#/components/schemas/EntityReference"
    },
    "testSuites": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TestSuite"
      }
    },
    "parameterValues": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TestCaseParameterValue"
      }
    },
    "testCaseResult": {
      "$ref": "#/components/schemas/TestCaseResult"
    },
    "testCaseStatus": {
      "type": "string",
      "enum": [
        "Success",
        "Failed",
        "Aborted",
        "Queued"
      ]
    },
    "version": {
      "type": "number",
      "format": "double"
    },
    "owners": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EntityReference"
      }
    },
    "createdBy": {
      "type": "string"
    },
    "updatedAt": {
      "type": "integer",
      "format": "int64"
    },
    "updatedBy": {
      "type": "string"
    },
    "href": {
      "type": "string",
      "format": "uri"
    },
    "changeDescription": {
      "$ref": "#/components/schemas/ChangeDescription"
    },
    "incrementalChangeDescription": {
      "$ref": "#/components/schemas/ChangeDescription"
    },
    "deleted": {
      "type": "boolean"
    },
    "computePassedFailedRowCount": {
      "type": "boolean"
    },
    "incidentId": {
      "type": "string",
      "format": "uuid"
    },
    "failedRowsSample": {
      "$ref": "#/components/schemas/TableData"
    },
    "inspectionQuery": {
      "type": "string"
    },
    "domains": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EntityReference"
      }
    },
    "dataProducts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EntityReference"
      }
    },
    "followers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EntityReference"
      }
    },
    "useDynamicAssertion": {
      "type": "boolean"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TagLabel"
      }
    },
    "dimensionColumns": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "topDimensions": {
      "maximum": 50,
      "exclusiveMaximum": false,
      "minimum": 1,
      "exclusiveMinimum": false,
      "type": "integer",
      "format": "int32"
    },
    "entityStatus": {
      "type": "string",
      "enum": [
        "Draft",
        "In Review",
        "Approved",
        "Archived",
        "Deprecated",
        "Rejected",
        "Unprocessed"
      ]
    },
    "reviewers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EntityReference"
      }
    },
    "provider": {
      "type": "string",
      "enum": [
        "system",
        "user",
        "automation"
      ]
    },
    "extension": {
      "type": "object"
    },
    "children": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EntityReference"
      }
    },
    "service": {
      "$ref": "#/components/schemas/EntityReference"
    },
    "style": {
      "$ref": "#/components/schemas/Style"
    },
    "experts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EntityReference"
      }
    },
    "impersonatedBy": {
      "type": "string"
    },
    "dataContract": {
      "$ref": "#/components/schemas/EntityReference"
    },
    "usageSummary": {
      "$ref": "#/components/schemas/UsageDetails"
    },
    "votes": {
      "$ref": "#/components/schemas/Votes"
    },
    "lifeCycle": {
      "$ref": "#/components/schemas/LifeCycle"
    },
    "certification": {
      "$ref": "#/components/schemas/AssetCertification"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/openmetadata/main/json-schema/testcase.json"
}