From 45220732ab16101af8901ab471ab864b96de0a47 Mon Sep 17 00:00:00 2001 From: Yogesh Tewari Date: Mon, 2 Aug 2021 14:59:03 -0400 Subject: [PATCH] feat: Allow user to specify a format for stdout, files reformatted with black version 19 (#242) --- data_validation/__main__.py | 2 +- data_validation/result_handlers/text.py | 6 ++++-- tests/system/data_sources/test_bigquery.py | 19 ++++++++++++++----- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/data_validation/__main__.py b/data_validation/__main__.py index beaf0ecbf..a5e7ee7c3 100644 --- a/data_validation/__main__.py +++ b/data_validation/__main__.py @@ -146,7 +146,7 @@ def build_config_managers_from_args(args): result_handler_config=result_handler_config, filter_config=filter_config, verbose=args.verbose, - format=args.format + format=args.format, ) configs.append(build_config_from_args(args, config_manager)) diff --git a/data_validation/result_handlers/text.py b/data_validation/result_handlers/text.py index 6e28d7e8a..da7e2dbf0 100644 --- a/data_validation/result_handlers/text.py +++ b/data_validation/result_handlers/text.py @@ -38,8 +38,10 @@ def print_formatted_(format, result_df): elif format == "table": print(result_df.to_markdown(tablefmt="fancy_grid")) else: - error_msg = f"format [{format}] not supported, results printed in default(table) mode. " \ - f"Supported formats are [text, csv, json, table]" + error_msg = ( + f"format [{format}] not supported, results printed in default(table) mode. " + f"Supported formats are [text, csv, json, table]" + ) print(result_df.to_markdown(tablefmt="fancy_grid")) raise ValueError(error_msg) diff --git a/tests/system/data_sources/test_bigquery.py b/tests/system/data_sources/test_bigquery.py index 21d9263d5..2d7b95901 100644 --- a/tests/system/data_sources/test_bigquery.py +++ b/tests/system/data_sources/test_bigquery.py @@ -179,7 +179,9 @@ def test_count_validator(): - validator = data_validation.DataValidation(CONFIG_COUNT_VALID, format="text", verbose=True) + validator = data_validation.DataValidation( + CONFIG_COUNT_VALID, format="text", verbose=True + ) df = validator.execute() count_value = df[df["validation_name"] == "count"]["source_agg_value"].values[0] @@ -202,12 +204,15 @@ def test_count_validator(): assert float(max_birth_year_value) > 0 assert float(min_birth_year_value) > 0 assert ( - df["source_agg_value"].astype(float).sum() == df["target_agg_value"].astype(float).sum() + df["source_agg_value"].astype(float).sum() + == df["target_agg_value"].astype(float).sum() ) def test_grouped_count_validator(): - validator = data_validation.DataValidation(CONFIG_GROUPED_COUNT_VALID, format="csv", verbose=True) + validator = data_validation.DataValidation( + CONFIG_GROUPED_COUNT_VALID, format="csv", verbose=True + ) df = validator.execute() rows = list(df[df["validation_name"] == "count"].iterrows()) @@ -223,7 +228,9 @@ def test_grouped_count_validator(): def test_numeric_types(): - validator = data_validation.DataValidation(CONFIG_NUMERIC_AGG_VALID, format="json", verbose=True) + validator = data_validation.DataValidation( + CONFIG_NUMERIC_AGG_VALID, format="json", verbose=True + ) df = validator.execute() for validation in df.to_dict(orient="records"): @@ -282,7 +289,9 @@ def _remove_bq_conn(): def test_unsupported_result_format(): with pytest.raises(ValueError): - validator = data_validation.DataValidation(CONFIG_GROUPED_COUNT_VALID, format="foobar", verbose=True) + validator = data_validation.DataValidation( + CONFIG_GROUPED_COUNT_VALID, format="foobar", verbose=True + ) df = validator.execute() rows = list(df[df["validation_name"] == "count"].iterrows()) assert len(rows) > 1