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

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

The newest version!
{
  "$id": "https://open-metadata.org/schema/tests/columnTest.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "ColumnTest",
  "description": "ColumnTest is a test definition to capture data quality tests against tables and columns.",
  "type": "object",
  "javaType": "org.openmetadata.catalog.tests.ColumnTest",
  "definitions": {
    "columnTestCase": {
      "description": "Column Test Case.",
      "type": "object",
      "javaType": "org.openmetadata.catalog.tests.ColumnTestCase",
      "properties": {
        "config": {
          "oneOf": [
            {
              "$ref": "./column/columnValuesToBeUnique.json"
            },
            {
              "$ref": "./column/columnValuesToBeNotNull.json"
            },
            {
              "$ref": "./column/columnValuesToMatchRegex.json"
            },
            {
              "$ref": "./column/columnValuesToBeNotInSet.json"
            },
            {
              "$ref": "./column/columnValuesToBeInSet.json"
            },
            {
              "$ref": "column/columnValuesToBeBetween.json"
            },
            {
              "$ref": "./column/columnValuesMissingCountToBeEqual.json"
            },
            {
              "$ref": "./column/columnValueMaxToBeBetween.json"
            },
            {
              "$ref": "./column/columnValueMinToBeBetween.json"
            },
            {
              "$ref": "./column/columnValuesSumToBeBetween.json"
            },
            {
              "$ref": "./column/columnValuesLengthsToBeBetween.json"
            }
          ]
        },
        "columnTestType": {
          "enum": [
            "columnValuesToBeUnique",
            "columnValuesToBeNotNull",
            "columnValuesToMatchRegex",
            "columnValuesToBeNotInSet",
            "columnValuesToBeInSet",
            "columnValuesToBeBetween",
            "columnValuesMissingCountToBeEqual",
            "columnValueLengthsToBeBetween",
            "columnValueMaxToBeBetween",
            "columnValueMinToBeBetween",
            "columnValuesSumToBeBetween"
          ]
        }
      },
      "additionalProperties": false
    }
  },
  "properties": {
    "id": {
      "description": "Unique identifier of this table instance.",
      "$ref": "../type/basic.json#/definitions/uuid"
    },
    "name": {
      "description": "Name that identifies this test case. Name passed by client will be  overridden by  auto generating based on table/column name and test name",
      "$ref": "../type/basic.json#/definitions/entityName"
    },
    "description": {
      "description": "Description of the testcase.",
      "$ref": "../type/basic.json#/definitions/markdown"
    },
    "columnName": {
      "description": "Name of the column in a table.",
      "type": "string"
    },
    "testCase": {
      "$ref": "#/definitions/columnTestCase"
    },
    "executionFrequency": {
      "$ref": "./basic.json#/definitions/testCaseExecutionFrequency"
    },
    "results": {
      "description": "List of results of the test case.",
      "type": "array",
      "items": {
        "$ref": "./basic.json#/definitions/testCaseResult"
      }
    },
    "owner": {
      "description": "Owner of this Pipeline.",
      "$ref": "../type/entityReference.json",
      "default": null
    },
    "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"
    }
  },
  "required": ["name", "columnName", "testCase"],
  "additionalProperties": false
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy