Skip to content

Commit

Permalink
Refactor test_checkpoint_store to be more DRY
Browse files Browse the repository at this point in the history
  • Loading branch information
tyler-hoffman committed Apr 5, 2024
1 parent 988c5a3 commit 66906aa
Showing 1 changed file with 32 additions and 67 deletions.
99 changes: 32 additions & 67 deletions tests/data_context/store/test_checkpoint_store.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,30 @@
logger = logging.getLogger(__name__)


def _create_checkpoint_config(name: str = "oss_test_checkpoint") -> dict[str, Any]:
return {
"name": name,
"expectation_suite_name": "oss_test_expectation_suite",
"validations": [
{
"expectation_suite_name": "taxi.demo_pass",
},
{
"batch_request": {
"datasource_name": "oss_test_datasource",
"data_connector_name": "oss_test_data_connector",
"data_asset_name": "users",
},
},
],
}


_CHECKPOINT_ID = "7b5e962c-3c67-4a6d-b311-b48061d52103"
_CHECKPOINT_CONFIG = _create_checkpoint_config()
_ANOTHER_CHECKPOINT_CONFIG = _create_checkpoint_config("other name")


@pytest.fixture
def checkpoint_store_with_mock_backend(
mocker: MockerFixture,
Expand Down Expand Up @@ -206,48 +230,20 @@ def test_checkpoint_store(empty_data_context):
assert len(checkpoint_store.list_keys()) == 0


@pytest.mark.cloud
@pytest.mark.unit
@pytest.mark.parametrize(
"response_json, expected, error_type",
[
pytest.param(
{
"data": {
"id": "7b5e962c-3c67-4a6d-b311-b48061d52103",
"attributes": {
"checkpoint_config": {
"name": "oss_test_checkpoint",
"expectation_suite_name": "oss_test_expectation_suite",
"validations": [
{
"expectation_suite_name": "taxi.demo_pass",
},
{
"batch_request": {
"datasource_name": "oss_test_datasource",
"data_connector_name": "oss_test_data_connector",
"data_asset_name": "users",
},
},
],
}
},
"id": _CHECKPOINT_ID,
"attributes": {"checkpoint_config": _CHECKPOINT_CONFIG},
}
},
{
"expectation_suite_name": "oss_test_expectation_suite",
"id": "7b5e962c-3c67-4a6d-b311-b48061d52103",
"name": "oss_test_checkpoint",
"validations": [
{"expectation_suite_name": "taxi.demo_pass"},
{
"batch_request": {
"data_asset_name": "users",
"data_connector_name": "oss_test_data_connector",
"datasource_name": "oss_test_datasource",
},
},
],
"id": _CHECKPOINT_ID,
**_CHECKPOINT_CONFIG,
},
None,
id="single_config",
Expand All @@ -256,43 +252,12 @@ def test_checkpoint_store(empty_data_context):
pytest.param(
{
"data": [
{
"id": "7b5e962c-3c67-4a6d-b311-b48061d52103",
"attributes": {
"checkpoint_config": {
"name": "oss_test_checkpoint",
"expectation_suite_name": "oss_test_expectation_suite",
"validations": [
{
"expectation_suite_name": "taxi.demo_pass",
},
{
"batch_request": {
"datasource_name": "oss_test_datasource",
"data_connector_name": "oss_test_data_connector",
"data_asset_name": "users",
},
},
],
}
},
}
{"id": _CHECKPOINT_ID, "attributes": {"checkpoint_config": _CHECKPOINT_CONFIG}}
]
},
{
"expectation_suite_name": "oss_test_expectation_suite",
"id": "7b5e962c-3c67-4a6d-b311-b48061d52103",
"name": "oss_test_checkpoint",
"validations": [
{"expectation_suite_name": "taxi.demo_pass"},
{
"batch_request": {
"data_asset_name": "users",
"data_connector_name": "oss_test_data_connector",
"datasource_name": "oss_test_datasource",
},
},
],
"id": _CHECKPOINT_ID,
**_CHECKPOINT_CONFIG,
},
None,
id="single_config_in_list",
Expand Down

0 comments on commit 66906aa

Please sign in to comment.