All Downloads are FREE. Search and download functionalities are using the official Maven repository.

json.schema.tests.testDefinition.json Maven / Gradle / Ivy

The newest version!
{
  "$id": "https://open-metadata.org/schema/tests/testDefinition.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "TestDefinition",
  "description": "TestDefinition is a test definition to capture data quality tests against data entities.",
  "type": "object",
  "javaType": "org.openmetadata.catalog.tests.TestDefinition",
  "javaInterfaces": ["org.openmetadata.core.entity.interfaces.EntityInterface"],
  "definitions": {
    "testPlatform": {
      "javaType": "org.openmetadata.catalog.tests.TestPlatform",
      "description": "This schema defines the platform where tests are defined and ran.",
      "type": "string",
      "enum": [
        "OpenMetadata",
        "GreatExpectations",
        "DBT",
        "Deequ",
        "Soda",
        "Other"
      ]
    },
    "dataType": {
      "javaType": "org.openmetadata.catalog.type.TestCaseParameterDataType",
      "description": "This enum defines the type of data stored in a column.",
      "type": "string",
      "enum": [
        "NUMBER",
        "INT",
        "FLOAT",
        "DOUBLE",
        "DECIMAL",
        "TIMESTAMP",
        "TIME",
        "DATE",
        "DATETIME",
        "ARRAY",
        "MAP",
        "SET"
      ]
    },
    "testCaseParameterDefinition": {
      "type": "object",
      "javaType": "org.openmetadata.catalog.test.TestCaseParameter",
      "description": "This schema defines the parameters that can be passed for a Test Case.",
      "properties": {
        "name": {
          "description": "name of the parameter.",
          "type": "string"
        },
        "displayName": {
          "description": "Display Name that identifies this parameter name.",
          "type": "string"
        },
        "dataType": {
          "description": "Data type of the parameter (int, date etc.).",
          "$ref": "#/definitions/dataType"
        },
        "description": {
          "description": "Description of the parameter.",
          "$ref": "../type/basic.json#/definitions/markdown"
        },
        "required": {
          "description": "Is this parameter required.",
          "type": "boolean",
          "default": false
        }
      }
    },
    "testCaseParameterValue": {
      "type": "object",
      "javaType": "org.openmetadata.catalog.test.TestCaseParameterValue",
      "description": "This schema defines the parameter values that can be passed for a Test Case.",
      "properties": {
        "name": {
          "description": "name of the parameter. Must match the parameter names in testCaseParameterDefinition",
          "type": "string"
        },
        "value": {
          "description": "value to be passed for the Parameters. These are input from Users. We capture this in in string and convert during the runtime.",
          "type": "string"
        }
      }
    }
  },
  "properties": {
    "id": {
      "description": "Unique identifier of this test case definition instance.",
      "$ref": "../type/basic.json#/definitions/uuid"
    },
    "name": {
      "description": "Name that identifies this test case.",
      "$ref": "../type/basic.json#/definitions/entityName"
    },
    "displayName": {
      "description": "Display Name that identifies this test case.",
      "type": "string"
    },
    "fullyQualifiedName": {
      "description": "FullyQualifiedName same as `name`.",
      "$ref": "../type/basic.json#/definitions/fullyQualifiedEntityName"
    },
    "description": {
      "description": "Description of the testcase.",
      "$ref": "../type/basic.json#/definitions/markdown"
    },
    "testPlatforms": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/testPlatform"
      }
    },
    "parameterDefinition": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/testCaseParameterDefinition"
      }
    },
    "parameterValues": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/testCaseParameterValue"
      }
    },
    "owner": {
      "description": "Owner of this TestCase definition.",
      "$ref": "../type/entityReference.json",
      "default": null
    },
    "version": {
      "description": "Metadata version of the entity.",
      "$ref": "../type/entityHistory.json#/definitions/entityVersion"
    },
    "updatedAt": {
      "description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.",
      "$ref": "../type/basic.json#/definitions/timestamp"
    },
    "updatedBy": {
      "description": "User who made the update.",
      "type": "string"
    },
    "href": {
      "description": "Link to the resource corresponding to this entity.",
      "$ref": "../type/basic.json#/definitions/href"
    },
    "changeDescription": {
      "description": "Change that lead to this version of the entity.",
      "$ref": "../type/entityHistory.json#/definitions/changeDescription"
    },
    "deleted": {
      "description": "When `true` indicates the entity has been soft deleted.",
      "type": "boolean",
      "default": false
    }
  },
  "required": ["name", "description", "testPlatform"],
  "additionalProperties": false
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy