mirror of
https://github.com/open-metadata/OpenMetadata
synced 2026-05-24 09:39:11 +00:00
574 lines
No EOL
28 KiB
JSON
574 lines
No EOL
28 KiB
JSON
{
|
|
"tests": [
|
|
{
|
|
"testSuiteName": "sample_data.ecommerce_db.shopify.dim_address.testSuite",
|
|
"executableEntityReference": "sample_data.ecommerce_db.shopify.dim_address",
|
|
"testSuiteDescription": "This is an executable test suite linked to an entity",
|
|
"scheduleInterval": "0 0 * * MON",
|
|
"testCases": [
|
|
{
|
|
"name": "table_column_count_equals",
|
|
"description": "test the number of column in table",
|
|
"entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address>",
|
|
"testDefinitionName": "tableColumnCountToEqual",
|
|
"parameterValues": [
|
|
{
|
|
"name": "columnCount",
|
|
"value": "10"
|
|
}
|
|
],
|
|
"resolutions": {
|
|
"sequenceOne": [
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity1",
|
|
"assignee": "aaron_johnson0"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity1",
|
|
"resolver": "aaron_johnson0"
|
|
}
|
|
],
|
|
"sequenceTwo": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity1",
|
|
"assignee": "christopher_campbell7"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity1",
|
|
"resolver": "christopher_campbell7"
|
|
}
|
|
],
|
|
"sequenceThree": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity3"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity3"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity3",
|
|
"assignee": "christopher_campbell7"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity3",
|
|
"assignee": "aaron_johnson0"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity3",
|
|
"resolver": "aaron_johnson0"
|
|
}
|
|
],
|
|
"sequenceFour": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity5"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "table_column_count_equals",
|
|
"description": "test the number of column in table",
|
|
"entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim___reserved__colon____reserved__arrow__address>",
|
|
"testDefinitionName": "tableColumnCountToEqual",
|
|
"parameterValues": [
|
|
{
|
|
"name": "columnCount",
|
|
"value": "10"
|
|
}
|
|
],
|
|
"resolutions": {
|
|
"sequenceOne": [
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity1",
|
|
"assignee": "aaron_johnson0"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity1",
|
|
"resolver": "aaron_johnson0"
|
|
}
|
|
],
|
|
"sequenceTwo": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity1",
|
|
"assignee": "christopher_campbell7"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity1",
|
|
"resolver": "christopher_campbell7"
|
|
}
|
|
],
|
|
"sequenceThree": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity3"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity3"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity3",
|
|
"assignee": "christopher_campbell7"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity3",
|
|
"assignee": "aaron_johnson0"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity3",
|
|
"resolver": "aaron_johnson0"
|
|
}
|
|
],
|
|
"sequenceFour": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity5"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "table_column_count_between",
|
|
"description": "test the number of column in table is between x and y",
|
|
"entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address>",
|
|
"testDefinitionName": "tableColumnCountToBeBetween",
|
|
"parameterValues": [
|
|
{
|
|
"name": "minColValue",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"name": "maxColValue",
|
|
"value": "10"
|
|
}
|
|
],
|
|
"resolutions": {
|
|
"sequenceOne": [
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity1",
|
|
"assignee": "aaron_johnson0"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity1",
|
|
"resolver": "christine_day7"
|
|
}
|
|
],
|
|
"sequenceTwo": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity1",
|
|
"assignee": "christopher_campbell7"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity1",
|
|
"resolver": "christopher_campbell7"
|
|
}
|
|
],
|
|
"sequenceThree": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity3"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity3"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity3",
|
|
"assignee": "christopher_campbell7"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity3",
|
|
"assignee": "aaron_johnson0"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "column_value_max_to_be_between",
|
|
"description": "test the value of a column is between x and y",
|
|
"entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address::columns::shop_id>",
|
|
"testDefinitionName": "columnValueMaxToBeBetween",
|
|
"parameterValues": [
|
|
{
|
|
"name": "minValueForMaxInCol",
|
|
"value": "50"
|
|
},
|
|
{
|
|
"name": "maxValueForMaxInCol",
|
|
"value": "100"
|
|
}
|
|
],
|
|
"resolutions": {
|
|
"sequenceOne": [
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity1",
|
|
"assignee": "aaron_johnson0"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity1",
|
|
"resolver": "aaron_johnson0"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "column_values_to_match_regex",
|
|
"description": "test value of a column match regex",
|
|
"entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address::columns::last_name>",
|
|
"testDefinitionName": "columnValuesToMatchRegex",
|
|
"parameterValues": [
|
|
{
|
|
"name": "regex",
|
|
"value": "Doe.*"
|
|
}
|
|
],
|
|
"resolutions": {
|
|
"sequenceOne": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity5"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity5"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity5",
|
|
"assignee": "aaron_johnson0"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity5",
|
|
"resolver": "aaron_johnson0"
|
|
}
|
|
],
|
|
"sequenceFour": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity5"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "column_values_to_be_between",
|
|
"description": "test the number of column in table is between x and y",
|
|
"entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address::columns::zip>",
|
|
"testDefinitionName": "columnValuesToBeBetween",
|
|
"parameterValues": [],
|
|
"useDynamicAssertion": true,
|
|
"resolutions": {
|
|
"sequenceOne": [
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity1",
|
|
"assignee": "aaron_johnson0"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity1",
|
|
"resolver": "aaron_johnson0"
|
|
}
|
|
],
|
|
"sequenceTwo": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity1"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity1",
|
|
"assignee": "christopher_campbell7"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity1",
|
|
"resolver": "christopher_campbell7"
|
|
}
|
|
],
|
|
"sequenceThree": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity3"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity3"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity3",
|
|
"assignee": "christopher_campbell7"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Assigned",
|
|
"severity": "Severity3",
|
|
"assignee": "aaron_johnson0"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Resolved",
|
|
"severity": "Severity3",
|
|
"resolver": "aaron_johnson0"
|
|
}
|
|
],
|
|
"sequenceFour": [
|
|
{
|
|
"testCaseResolutionStatusType": "New",
|
|
"severity": "Severity5"
|
|
},
|
|
{
|
|
"testCaseResolutionStatusType": "Ack",
|
|
"severity": "Severity5"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "column_values_to_be_between_with_sample_rows",
|
|
"description": "example of failing test with sample rows",
|
|
"entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address::columns::zip>",
|
|
"testDefinitionName": "columnValuesToBeBetween",
|
|
"parameterValues": [
|
|
{
|
|
"name": "minValue",
|
|
"value": "90001"
|
|
},
|
|
{
|
|
"name": "maxValue",
|
|
"value": "96162"
|
|
}
|
|
],
|
|
"resolutions": {}
|
|
},
|
|
{
|
|
"name": "diff_with_production",
|
|
"description": "compare with production data",
|
|
"entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address>",
|
|
"testDefinitionName": "tableDiff",
|
|
"parameterValues": [
|
|
{
|
|
"name": "table2",
|
|
"value": "sample_data.ecommerce_db.shopify.production_dim_address"
|
|
},
|
|
{
|
|
"name": "keyColumns",
|
|
"value": "[\"address_id\"]"
|
|
}
|
|
],
|
|
"resolutions": {}
|
|
},
|
|
{
|
|
"name": "diff_columns",
|
|
"description": "compare with a table with different columns",
|
|
"entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address>",
|
|
"testDefinitionName": "tableDiff",
|
|
"parameterValues": [
|
|
{
|
|
"name": "table2",
|
|
"value": "sample_data.ecommerce_db.shopify.production_dim_address"
|
|
}
|
|
],
|
|
"resolutions": {}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"testSuiteName": "postgres_sample.jaffle_shop.public.customers.testSuite",
|
|
"executableEntityReference": "postgres_sample.jaffle_shop.public.customers",
|
|
"testSuiteDescription": "dbt data quality tests for the customers final model in the jaffle_shop project",
|
|
"scheduleInterval": "0 6 * * *",
|
|
"testCases": [
|
|
{
|
|
"name": "not_null_customers_customer_id",
|
|
"description": "customer_id must not be null",
|
|
"entityLink": "<#E::table::postgres_sample.jaffle_shop.public.customers::columns::customer_id>",
|
|
"testDefinitionName": "columnValuesToBeNotNull",
|
|
"parameterValues": [],
|
|
"resolutions": {}
|
|
},
|
|
{
|
|
"name": "unique_customers_customer_id",
|
|
"description": "customer_id must be unique across all customers",
|
|
"entityLink": "<#E::table::postgres_sample.jaffle_shop.public.customers::columns::customer_id>",
|
|
"testDefinitionName": "columnValuesToBeUnique",
|
|
"parameterValues": [],
|
|
"resolutions": {}
|
|
},
|
|
{
|
|
"name": "accepted_values_customers_status",
|
|
"description": "Orders referenced by customers must have valid statuses",
|
|
"entityLink": "<#E::table::postgres_sample.jaffle_shop.public.customers>",
|
|
"testDefinitionName": "tableRowCountToBeBetween",
|
|
"parameterValues": [
|
|
{ "name": "minValue", "value": "1" },
|
|
{ "name": "maxValue", "value": "10000" }
|
|
],
|
|
"resolutions": {
|
|
"sequenceOne": [
|
|
{ "testCaseResolutionStatusType": "Ack", "severity": "Severity2" },
|
|
{ "testCaseResolutionStatusType": "Assigned", "severity": "Severity2", "assignee": "aaron_johnson0" },
|
|
{ "testCaseResolutionStatusType": "Resolved", "severity": "Severity2", "resolver": "aaron_johnson0" }
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"testSuiteName": "postgres_sample.jaffle_shop.public.orders.testSuite",
|
|
"executableEntityReference": "postgres_sample.jaffle_shop.public.orders",
|
|
"testSuiteDescription": "dbt data quality tests for the orders final model in the jaffle_shop project",
|
|
"scheduleInterval": "0 6 * * *",
|
|
"testCases": [
|
|
{
|
|
"name": "not_null_orders_order_id",
|
|
"description": "order_id must not be null",
|
|
"entityLink": "<#E::table::postgres_sample.jaffle_shop.public.orders::columns::order_id>",
|
|
"testDefinitionName": "columnValuesToBeNotNull",
|
|
"parameterValues": [],
|
|
"resolutions": {}
|
|
},
|
|
{
|
|
"name": "unique_orders_order_id",
|
|
"description": "order_id must be unique across all orders",
|
|
"entityLink": "<#E::table::postgres_sample.jaffle_shop.public.orders::columns::order_id>",
|
|
"testDefinitionName": "columnValuesToBeUnique",
|
|
"parameterValues": [],
|
|
"resolutions": {}
|
|
},
|
|
{
|
|
"name": "accepted_values_orders_status",
|
|
"description": "Order status must be one of: placed, shipped, completed, return_pending, returned",
|
|
"entityLink": "<#E::table::postgres_sample.jaffle_shop.public.orders::columns::status>",
|
|
"testDefinitionName": "columnValuesToBeInSet",
|
|
"parameterValues": [
|
|
{
|
|
"name": "allowedValues",
|
|
"value": "[\"placed\", \"shipped\", \"completed\", \"return_pending\", \"returned\"]"
|
|
}
|
|
],
|
|
"resolutions": {
|
|
"sequenceOne": [
|
|
{ "testCaseResolutionStatusType": "Ack", "severity": "Severity1" },
|
|
{ "testCaseResolutionStatusType": "Assigned", "severity": "Severity1", "assignee": "aaron_johnson0" },
|
|
{ "testCaseResolutionStatusType": "Resolved", "severity": "Severity1", "resolver": "aaron_johnson0" }
|
|
],
|
|
"sequenceTwo": [
|
|
{ "testCaseResolutionStatusType": "New", "severity": "Severity1" },
|
|
{ "testCaseResolutionStatusType": "Ack", "severity": "Severity1" },
|
|
{ "testCaseResolutionStatusType": "Assigned", "severity": "Severity1", "assignee": "christopher_campbell7" },
|
|
{ "testCaseResolutionStatusType": "Resolved", "severity": "Severity1", "resolver": "christopher_campbell7" }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "relationships_orders_customer_id",
|
|
"description": "Every order must reference a valid customer",
|
|
"entityLink": "<#E::table::postgres_sample.jaffle_shop.public.orders::columns::customer_id>",
|
|
"testDefinitionName": "columnValuesToBeNotNull",
|
|
"parameterValues": [],
|
|
"resolutions": {
|
|
"sequenceOne": [
|
|
{ "testCaseResolutionStatusType": "Ack", "severity": "Severity2" },
|
|
{ "testCaseResolutionStatusType": "Assigned", "severity": "Severity2", "assignee": "christopher_campbell7" },
|
|
{ "testCaseResolutionStatusType": "Resolved", "severity": "Severity2", "resolver": "christopher_campbell7" }
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"testSuiteName": "postgres_sample.jaffle_shop.public.stg_customers.testSuite",
|
|
"executableEntityReference": "postgres_sample.jaffle_shop.public.stg_customers",
|
|
"testSuiteDescription": "dbt data quality tests for the stg_customers staging model in the jaffle_shop project",
|
|
"scheduleInterval": "0 5 * * *",
|
|
"testCases": [
|
|
{
|
|
"name": "not_null_stg_customers_customer_id",
|
|
"description": "customer_id must not be null in the staging layer",
|
|
"entityLink": "<#E::table::postgres_sample.jaffle_shop.public.stg_customers::columns::customer_id>",
|
|
"testDefinitionName": "columnValuesToBeNotNull",
|
|
"parameterValues": [],
|
|
"resolutions": {}
|
|
},
|
|
{
|
|
"name": "unique_stg_customers_customer_id",
|
|
"description": "customer_id must be unique in the staging layer",
|
|
"entityLink": "<#E::table::postgres_sample.jaffle_shop.public.stg_customers::columns::customer_id>",
|
|
"testDefinitionName": "columnValuesToBeUnique",
|
|
"parameterValues": [],
|
|
"resolutions": {}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |