Pere Miquel Brull 9cb146591c
MINOR - Add Data Contract Alerts (#22671)
* WIP - MINOR - Rule Engine

* WIP - MINOR - Rule Engine

* WIP - MINOR - Rule Engine

* WIP - MINOR - Rule Engine

* rules

* rules

* rules

* fix retrieval by entity

* test dc

* test dc

* WIP: Data contract feature

* destructure component to it's own files

* WIP contract tab

* update local

* fix test

* First iteration for multi domain support

* fix inheritance fields

* fix inheritance fields

* fix create interface

* fix few more tests

* fix indexing updates

* fix domain rel

* update domain --> domains

* merge

* fix merge

* fix csv tests and createEntity interface

* Update generated TypeScript types

* Trigger Build

* migrations

* fix tests

* fix tests

* fix tests

* Update generated TypeScript types

* Trigger Build

* handle drive service

* fix pg migration

* fix domains ref after merge and clean python tests

* Update generated TypeScript types

* fix merge domains

* format

* add missing migrations

* Update generated TypeScript types

* tests

* Update generated TypeScript types

* Trigger Build

* tests

* tests

* fix py test

* migrate domain to domains and fix compilation errors

* fix domain assignement

* fix domain spec

* fix py tests

* fix data product creation issue

* fix domain tests

* fix bulk import

* fix tests

* fix tests

* fix query and domain migration

* fix py test

* fix playwrights

* fix getEntitiesWithDisplayName indexing quotes

* fix domain prapogation tests

* execute dc

* execute dc

* fix domain propagation

* Fix patch api

* fix domain schema build edit playwright

* fix test

* fix test

* fix domain selection issue and console errors

* handle semantics validation

* handle ingestion pipelines for DQ

* prepare for getting DQ status

* get last result

* update schema and prep sample data

* test

* handle data contracts tests in SDK

* handle data contracts tests in SDK

* execute test suite

* execute test suite

* add schema validations

* add schema validations

* add schema validations

* add schema validations

* handle data contracts tests in SDK

* add schema validations

* comments

* generate schemas

* add fields

* MINOR - Data Contract Alerts

* MINOR - Data Contract Alerts

* MINOR - Data Contract Alerts

* Fix url

* tests

* minor ui fixes around localization keys

* supporting locaization keys

* fix test with updated response

---------

Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sriharsha Chintalapani <harsha@getcollate.io>
Co-authored-by: Sriharsha Chintalapani <harshach@users.noreply.github.com>
Co-authored-by: Ashish Gupta <ashish@getcollate.io>
2025-08-01 06:44:47 +02:00

442 lines
20 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"
}
],
"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": {}
}
]
}
]
}