mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-14 01:40:08 +00:00
fix: pass row and result computation for inSet test (#18466)
This commit is contained in:
parent
7ebc62dca7
commit
9a685d5f19
@ -45,6 +45,7 @@ class BaseColumnValuesToBeInSetValidator(BaseTestValidator):
|
|||||||
Returns:
|
Returns:
|
||||||
TestCaseResult:
|
TestCaseResult:
|
||||||
"""
|
"""
|
||||||
|
matched = False
|
||||||
allowed_values = self.get_test_case_param_value(
|
allowed_values = self.get_test_case_param_value(
|
||||||
self.test_case.parameterValues, # type: ignore
|
self.test_case.parameterValues, # type: ignore
|
||||||
"allowedValues",
|
"allowedValues",
|
||||||
@ -58,11 +59,12 @@ class BaseColumnValuesToBeInSetValidator(BaseTestValidator):
|
|||||||
try:
|
try:
|
||||||
column: Union[SQALikeColumn, Column] = self._get_column_name()
|
column: Union[SQALikeColumn, Column] = self._get_column_name()
|
||||||
res = self._run_results(Metrics.COUNT_IN_SET, column, values=allowed_values)
|
res = self._run_results(Metrics.COUNT_IN_SET, column, values=allowed_values)
|
||||||
|
matched = res > 0
|
||||||
if match_enum:
|
if match_enum:
|
||||||
count = self._run_results(
|
count = self._run_results(
|
||||||
Metrics.ROW_COUNT, column, values=allowed_values
|
Metrics.ROW_COUNT, column, values=allowed_values
|
||||||
)
|
)
|
||||||
res = count - res
|
matched = count - res == 0
|
||||||
except (ValueError, RuntimeError) as exc:
|
except (ValueError, RuntimeError) as exc:
|
||||||
msg = f"Error computing {self.test_case.fullyQualifiedName}: {exc}" # type: ignore
|
msg = f"Error computing {self.test_case.fullyQualifiedName}: {exc}" # type: ignore
|
||||||
logger.debug(traceback.format_exc())
|
logger.debug(traceback.format_exc())
|
||||||
@ -81,7 +83,7 @@ class BaseColumnValuesToBeInSetValidator(BaseTestValidator):
|
|||||||
|
|
||||||
return self.get_test_case_result_object(
|
return self.get_test_case_result_object(
|
||||||
self.execution_date,
|
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}.",
|
f"Found countInSet={res}.",
|
||||||
[TestResultValue(name=ALLOWED_VALUE_COUNT, value=str(res))],
|
[TestResultValue(name=ALLOWED_VALUE_COUNT, value=str(res))],
|
||||||
row_count=row_count,
|
row_count=row_count,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user