def test_simple_checkpoint_defaults_run_and_basic_run_params_with_persisted_checkpoint_loaded_from_store( context_with_data_source_and_empty_suite, simple_checkpoint_defaults, webhook, one_validation, ): context: DataContext = context_with_data_source_and_empty_suite checkpoint_config = SimpleCheckpointConfigurator( "foo", context_with_data_source_and_empty_suite, slack_webhook=webhook).build() context.add_checkpoint(**checkpoint_config.to_json_dict()) checkpoint_name = checkpoint_config.name assert context.list_checkpoints() == [checkpoint_name] del checkpoint_config checkpoint = context.get_checkpoint(checkpoint_name) assert isinstance(checkpoint, Checkpoint) result = checkpoint.run( run_name="bar", validations=[one_validation], ) assert isinstance(result, CheckpointResult) assert result.run_id.run_name == "bar" assert result.list_expectation_suite_names() == ["one"] assert len(result.list_validation_results()) == 1 assert result.success
def test_simple_checkpoint_persisted_to_store( context_with_data_source_and_empty_suite, webhook, one_validation): assert context_with_data_source_and_empty_suite.list_checkpoints() == [] initial_checkpoint_config = SimpleCheckpointConfigurator( "foo", context_with_data_source_and_empty_suite, site_names=None, ).build() # TODO this add_checkpoint will be user facing and it could be more # ergonomic by accepting a Checkpoint maybe .add_checkpoint() should take a # Checkpoint and there should be a .create_checkpoint() that accepts all # the current parameters context_with_data_source_and_empty_suite.add_checkpoint( **initial_checkpoint_config.to_json_dict()) assert context_with_data_source_and_empty_suite.list_checkpoints() == [ "foo" ] checkpoint = context_with_data_source_and_empty_suite.get_checkpoint("foo") assert isinstance(checkpoint, Checkpoint) assert isinstance(checkpoint.config, CheckpointConfig) assert checkpoint.config.to_json_dict() == { "action_list": [ { "action": { "class_name": "StoreValidationResultAction" }, "name": "store_validation_result", }, { "action": { "class_name": "StoreEvaluationParametersAction" }, "name": "store_evaluation_params", }, ], "batch_request": None, "class_name": "Checkpoint", "config_version": 1.0, "evaluation_parameters": {}, "expectation_suite_name": None, "ge_cloud_id": None, "module_name": "great_expectations.checkpoint", "name": "foo", "profilers": [], "run_name_template": None, "runtime_configuration": {}, "template_name": None, "validations": [], } results = checkpoint.run(validations=[one_validation]) assert results.success