def test_delete_table_succeeds(self, mock_client): mock_client.return_value.dataset.return_value.table.return_value = ( 'table_ref') utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table') mock_client.return_value.delete_table.assert_called_with('table_ref')
def test_delete_table_fails_not_found(self, mock_client): mock_client.return_value.dataset.return_value.table.return_value = ( 'table_ref') mock_client.return_value.delete_table.side_effect = NotFound('test') with self.assertRaisesRegexp(Exception, r'does not exist:.*table_ref'): utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table')
def test_delete_table_succeeds(self, mock_client): mock_dataset = Mock() mock_client.return_value.dataset = mock_dataset mock_dataset.return_value.exists.return_value = True mock_table = Mock() mock_dataset.return_value.table = mock_table mock_table.return_value.exists.side_effect = [True, False] utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table')
def test_delete_table_fails_dataset_not_exist(self, mock_client): mock_dataset = Mock() mock_client.return_value.dataset = mock_dataset mock_dataset.return_value.exists.return_value = False with self.assertRaisesRegexp( Exception, r'^Failed to cleanup. Bigquery dataset unused_dataset ' r'doesn\'t exist'): utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table')
def test_delete_table_fails_dataset_not_exist(self, mock_client): mock_dataset = Mock() mock_client.return_value.dataset = mock_dataset mock_dataset.return_value.exists.return_value = False with self.assertRaises(Exception) as e: utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table') self.assertTrue( e.exception.message.startswith( 'Failed to cleanup. Bigquery dataset ' 'unused_dataset doesn\'t exist'))
def test_delete_table_fails_dataset_not_exist(self, mock_client): mock_dataset = Mock() mock_client.return_value.dataset = mock_dataset mock_dataset.return_value.exists.return_value = False with self.assertRaises(Exception) as e: utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table') self.assertTrue( e.exception.message.startswith('Failed to cleanup. Bigquery dataset ' 'unused_dataset doesn\'t exist'))
def test_delete_table_fails_service_error(self, mock_client): mock_dataset = Mock() mock_client.return_value.dataset = mock_dataset mock_dataset.return_value.exists.return_value = True mock_table = Mock() mock_dataset.return_value.table = mock_table mock_table.return_value.exists.return_value = True with self.assertRaisesRegexp( Exception, r'^Failed to cleanup. Bigquery table ' 'unused_table still exists'): utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table')
def test_delete_table_fails_service_error(self, mock_client): mock_dataset = Mock() mock_client.return_value.dataset = mock_dataset mock_dataset.return_value.exists.return_value = True mock_table = Mock() mock_dataset.return_value.table = mock_table mock_table.return_value.exists.return_value = True with self.assertRaisesRegexp(Exception, r'^Failed to cleanup. Bigquery table ' 'unused_table still exists'): utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table')
def cleanup(self): """Removes an output BQ table.""" utils.delete_bq_table(self.project_id, self.output_dataset, self.output_table)
def test_delete_bq_table_fails_with_delete_error(self, *_): with self.assertRaises(RuntimeError): utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table')
def test_delete_bq_table_fails_with_server_error(self, *_): with self.assertRaises(Exception): utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table')
def test_delete_bq_table_succeeds(self, *_): utils.delete_bq_table('unused_project', 'unused_dataset', 'unused_table')