{ "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": {} } ] } ] }