def test_build_suite_when_suite_already_exists(mock_emit, cardinality_dataset): """ What does this test do and why? Confirms that creating a new suite on an existing profiler wipes the previous suite """ profiler = UserConfigurableProfiler( cardinality_dataset, table_expectations_only=True, excluded_expectations=["expect_table_row_count_to_be_between"], ) suite = profiler.build_suite() _, expectations = get_set_of_columns_and_expectations_from_suite(suite) assert len(suite.expectations) == 1 assert "expect_table_columns_to_match_ordered_list" in expectations profiler.excluded_expectations = [ "expect_table_columns_to_match_ordered_list" ] suite = profiler.build_suite() _, expectations = get_set_of_columns_and_expectations_from_suite(suite) assert len(suite.expectations) == 1 assert "expect_table_row_count_to_be_between" in expectations # Note 20211209 - Currently the only method called by the Profiler that is instrumented for usage_statistics # is ExpectationSuite's add_expectation(). It will not send a usage_stats event when called from a Profiler. # this number can change in the future if our instrumentation changes. assert mock_emit.call_count == 0 assert mock_emit.call_args_list == []
def test_build_suite_when_suite_already_exists(cardinality_dataset): """ What does this test do and why? Confirms that creating a new suite on an existing profiler wipes the previous suite """ profiler = UserConfigurableProfiler( cardinality_dataset, table_expectations_only=True, excluded_expectations=["expect_table_row_count_to_be_between"], ) suite = profiler.build_suite() _, expectations = get_set_of_columns_and_expectations_from_suite(suite) assert len(suite.expectations) == 1 assert "expect_table_columns_to_match_ordered_list" in expectations profiler.excluded_expectations = ["expect_table_columns_to_match_ordered_list"] suite = profiler.build_suite() _, expectations = get_set_of_columns_and_expectations_from_suite(suite) assert len(suite.expectations) == 1 assert "expect_table_row_count_to_be_between" in expectations
def test_build_suite_when_suite_already_exists( mock_emit, cardinality_validator, ): """ What does this test do and why? Confirms that creating a new suite on an existing profiler wipes the previous suite """ profiler = UserConfigurableProfiler( cardinality_validator, table_expectations_only=True, excluded_expectations=["expect_table_row_count_to_be_between"], ) suite = profiler.build_suite() _, expectations = get_set_of_columns_and_expectations_from_suite(suite) assert len(suite.expectations) == 1 assert "expect_table_columns_to_match_ordered_list" in expectations profiler.excluded_expectations = ["expect_table_columns_to_match_ordered_list"] suite = profiler.build_suite() _, expectations = get_set_of_columns_and_expectations_from_suite(suite) assert len(suite.expectations) == 1 assert "expect_table_row_count_to_be_between" in expectations assert mock_emit.call_count == 2 # noinspection PyUnresolvedReferences expected_events: List[unittest.mock._Call] # noinspection PyUnresolvedReferences actual_events: List[unittest.mock._Call] expected_events = [ mock.call( { "event": "legacy_profiler.build_suite", "event_payload": { "profile_dataset_type": "Validator", "excluded_expectations_specified": True, "ignored_columns_specified": True, "not_null_only": False, "primary_or_compound_key_specified": False, "semantic_types_dict_specified": False, "table_expectations_only": True, "value_set_threshold_specified": True, "api_version": "v2", }, "success": True, } ), mock.call( { "event": "legacy_profiler.build_suite", "event_payload": { "profile_dataset_type": "Validator", "excluded_expectations_specified": True, "ignored_columns_specified": True, "not_null_only": False, "primary_or_compound_key_specified": False, "semantic_types_dict_specified": False, "table_expectations_only": True, "value_set_threshold_specified": True, "api_version": "v2", }, "success": True, } ), ] actual_events = mock_emit.call_args_list assert actual_events == expected_events