def test_existence_check_failures_below_threshold(self) -> None: self.mock_client.run_query_async.return_value = [ "some result row", "some other result row", ] job = DataValidationJob( region_code="US_VA", validation=ExistenceDataValidationCheck( validation_type=ValidationCheckType.EXISTENCE, view=BigQueryView( dataset_id="my_dataset", view_id="test_view", view_query_template="select * from literally_anything", ), num_allowed_rows=2, ), ) result = ExistenceValidationChecker.run_check(job) self.assertEqual( result, DataValidationJobResult(validation_job=job, was_successful=True, failure_description=None), )
def test_existence_check_failures(self) -> None: self.mock_client.run_query_async.return_value = [ "some result row", "some other result row", ] job = DataValidationJob( region_code="US_VA", validation=ExistenceDataValidationCheck( validation_type=ValidationCheckType.EXISTENCE, view=BigQueryView( dataset_id="my_dataset", view_id="test_view", view_query_template="select * from literally_anything", ), ), ) result = ExistenceValidationChecker.run_check(job) self.assertEqual( result, DataValidationJobResult( validation_job=job, was_successful=False, failure_description= "Found [2] invalid rows, though [0] were expected", ), )
def test_existence_check_failures(self) -> None: self.mock_client.run_query_async.return_value = [ "some result row", "some other result row", ] job = DataValidationJob( region_code="US_VA", validation=ExistenceDataValidationCheck( validation_category=ValidationCategory.INVARIANT, validation_type=ValidationCheckType.EXISTENCE, view_builder=SimpleBigQueryViewBuilder( dataset_id="my_dataset", view_id="test_view", description="test_view description", view_query_template="select * from literally_anything", ), ), ) result = ExistenceValidationChecker.run_check(job) self.assertEqual( result, DataValidationJobResult( validation_job=job, result_details=ExistenceValidationResultDetails( num_invalid_rows=2, num_allowed_rows=0), ), )
def test_existence_check_no_failures(self): self.mock_client.run_query_async.return_value = [] job = DataValidationJob(region_code='US_VA', validation=ExistenceDataValidationCheck( validation_type=ValidationCheckType.EXISTENCE, view=BigQueryView(dataset_id='my_dataset', view_id='test_view', view_query_template='select * from literally_anything') )) result = ExistenceValidationChecker.run_check(job) self.assertEqual(result, DataValidationJobResult(validation_job=job, was_successful=True, failure_description=None))
def test_existence_check_failures(self): self.mock_client.run_query_async.return_value = ['some result row', 'some other result row'] job = DataValidationJob(region_code='US_VA', validation=ExistenceDataValidationCheck( validation_type=ValidationCheckType.EXISTENCE, view=BigQueryView(dataset_id='my_dataset', view_id='test_view', view_query_template='select * from literally_anything') )) result = ExistenceValidationChecker.run_check(job) self.assertEqual(result, DataValidationJobResult(validation_job=job, was_successful=False, failure_description='Found 2 invalid rows, though 0 were expected'))