From 9a685d5f1985d568129e2cee26e97582f4168616 Mon Sep 17 00:00:00 2001 From: Teddy Date: Thu, 31 Oct 2024 09:15:18 +0100 Subject: [PATCH] fix: pass row and result computation for inSet test (#18466) --- .../validations/column/base/columnValuesToBeInSet.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ingestion/src/metadata/data_quality/validations/column/base/columnValuesToBeInSet.py b/ingestion/src/metadata/data_quality/validations/column/base/columnValuesToBeInSet.py index a587bb98698..cd5029304f5 100644 --- a/ingestion/src/metadata/data_quality/validations/column/base/columnValuesToBeInSet.py +++ b/ingestion/src/metadata/data_quality/validations/column/base/columnValuesToBeInSet.py @@ -45,6 +45,7 @@ class BaseColumnValuesToBeInSetValidator(BaseTestValidator): Returns: TestCaseResult: """ + matched = False allowed_values = self.get_test_case_param_value( self.test_case.parameterValues, # type: ignore "allowedValues", @@ -58,11 +59,12 @@ class BaseColumnValuesToBeInSetValidator(BaseTestValidator): try: column: Union[SQALikeColumn, Column] = self._get_column_name() res = self._run_results(Metrics.COUNT_IN_SET, column, values=allowed_values) + matched = res > 0 if match_enum: count = self._run_results( Metrics.ROW_COUNT, column, values=allowed_values ) - res = count - res + matched = count - res == 0 except (ValueError, RuntimeError) as exc: msg = f"Error computing {self.test_case.fullyQualifiedName}: {exc}" # type: ignore logger.debug(traceback.format_exc()) @@ -81,7 +83,7 @@ class BaseColumnValuesToBeInSetValidator(BaseTestValidator): return self.get_test_case_result_object( self.execution_date, - self.get_test_case_status(res == 0 if match_enum else res >= 1), + self.get_test_case_status(matched), f"Found countInSet={res}.", [TestResultValue(name=ALLOWED_VALUE_COUNT, value=str(res))], row_count=row_count,