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

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

There is a newer version: 1.6.0-rc1
Show newest version
{
  "$id": "https://open-metadata.org/schema/tests/basic.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Basic",
  "description": "This schema defines basic types that are used by other test schemas.",
  "definitions": {
    "columnTestSummaryDefinition": {
      "description": "Schema to capture test case execution summary at the column level.",
      "javaType": "org.openmetadata.schema.tests.type.ColumnTestSummaryDefinition",
      "type": "object",
      "properties": {
        "success": {
          "description": "Number of test cases that passed.",
          "type": "integer"
        },
        "failed": {
          "description": "Number of test cases that failed.",
          "type": "integer"
        },
        "aborted": {
          "description": "Number of test cases that aborted.",
          "type": "integer"
        },
        "queued": {
          "description": "Number of test cases that are queued for execution.",
          "type": "integer"
        },
        "total": {
          "description": "Total number of test cases.",
          "type": "integer"
        },
        "entityLink": {
          "$ref": "../type/basic.json#/definitions/entityLink"
        }
      }
    },
    "testSummary": {
      "description": "Schema to capture test case execution summary.",
      "javaType": "org.openmetadata.schema.tests.type.TestSummary",
      "type": "object",
      "properties": {
        "success": {
          "description": "Number of test cases that passed.",
          "type": "integer"
        },
        "failed": {
          "description": "Number of test cases that failed.",
          "type": "integer"
        },
        "aborted": {
          "description": "Number of test cases that aborted.",
          "type": "integer"
        },
        "queued": {
          "description": "Number of test cases that are queued for execution.",
          "type": "integer"
        },
        "total": {
          "description": "Total number of test cases.",
          "type": "integer"
        },
        "columnTestSummary": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/columnTestSummaryDefinition"
          }
        }
      }
    },
    "testResultValue": {
      "description": "Schema to capture test case result values.",
      "javaType": "org.openmetadata.schema.tests.type.TestResultValue",
      "type": "object",
      "properties": {
        "name": {
          "description": "name of the value",
          "type": "string"
        },
        "value": {
          "description": "test result value",
          "type": "string"
        },
        "predictedValue": {
          "description": "predicted value",
          "type": "string"
        }
      }
    },
    "testCaseStatus": {
      "description": "Status of Test Case run.",
      "javaType": "org.openmetadata.schema.tests.type.TestCaseStatus",
      "type": "string",
      "enum": ["Success", "Failed", "Aborted", "Queued"],
      "javaEnums": [
        {
          "name": "Success"
        },
        {
          "name": "Failed"
        },
        {
          "name": "Aborted"
        },
        {
          "name": "Queued"
        }
      ]
    },
    "testCaseResult": {
      "description": "Schema to capture test case result.",
      "javaType": "org.openmetadata.schema.tests.type.TestCaseResult",
      "javaInterfaces": ["org.openmetadata.schema.EntityTimeSeriesInterface"],
      "type": "object",
      "properties": {
        "id": {
          "description": "Unique identifier of this failure instance",
          "$ref": "../type/basic.json#/definitions/uuid"
        },
        "testCaseFQN": {
          "description": "Fully qualified name of the test case.",
          "$ref": "../type/basic.json#/definitions/fullyQualifiedEntityName"
        },
        "timestamp": {
          "description": "Data one which test case result is taken.",
          "$ref": "../type/basic.json#/definitions/timestamp"
        },
        "testCaseStatus": {
          "description": "Status of Test Case run.",
          "$ref": "#/definitions/testCaseStatus"
        },
        "result": {
          "description": "Details of test case results.",
          "type": "string"
        },
        "sampleData": {
          "description": "sample data to capture rows/columns that didn't match the expressed testcase.",
          "type": "string"
        },
        "testResultValue": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/testResultValue"
          }
        },
        "passedRows": {
          "description": "Number of rows that passed.",
          "type": "integer"
        },
        "failedRows": {
          "description": "Number of rows that failed.",
          "type": "integer"
        },
        "passedRowsPercentage": {
          "description": "Percentage of rows that passed.",
          "type": "number"
        },
        "failedRowsPercentage": {
          "description": "Percentage of rows that failed.",
          "type": "number"
        },
        "incidentId": {
          "description": "Incident State ID associated with this result. This association happens when the result is created, and will stay there even when the incident is resolved.",
          "$ref": "../type/basic.json#/definitions/uuid"
        },
        "maxBound": {
          "description": "Upper bound limit for the test case result as defined in the test definition.",
          "type": "number"
        },
        "minBound": {
          "description": "Lower bound limit for the test case result as defined in the test definition.",
          "type": "number"
        },
        "testCase": {
          "description": "Test case that this result is for.",
          "$ref": "../type/entityReference.json"
        },
        "testDefinition": {
          "description": "Test definition that this result is for.",
          "$ref": "../type/entityReference.json"
        }
      },
      "required": ["timestamp"]
    },
    "testSuiteExecutionFrequency": {
      "description": "How often the test case should run.",
      "javaType": "org.openmetadata.schema.tests.type.TestSuiteExecutionFrequency",
      "type": "string",
      "enum": ["Hourly", "Daily", "Weekly"],
      "javaEnums": [
        {
          "name": "Hourly"
        },
        {
          "name": "Daily"
        },
        {
          "name": "Weekly"
        }
      ]
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy