def test_upsert_tags_from_csv_invalid_argument_lookup_entry_should_skip_tag( self, mock_read_csv): mock_read_csv.return_value = pd.DataFrame( data={ 'linked_resource OR entry_name': [ '//bigquery.googleapis.com/invalid-resource-name', '//bigquery.googleapis.com/resource-name' ], 'template_name': [math.nan, 'test_template'], 'field_id': [math.nan, 'string_field'], 'field_value': [math.nan, 'Test value'] }) datacatalog_facade = self.__datacatalog_facade datacatalog_facade.lookup_entry.side_effect = \ (exceptions.InvalidArgument(message=''), make_fake_entry()) datacatalog_facade.get_tag_template.return_value = make_fake_tag_template( ) datacatalog_facade.upsert_tag.side_effect = lambda *args: args[1] upserted_tags = self.__tag_datasource_processor.upsert_tags_from_csv( 'file-path') self.assertEqual(1, len(upserted_tags)) upserted_tag = upserted_tags[0] self.assertEqual('test_template', upserted_tag.template) self.assertEqual('Test value', upserted_tag.fields['string_field'].string_value)
def test_execute_invalid_argument(self): from google.api_core import exceptions from google.cloud.spanner_dbapi.exceptions import ProgrammingError connection = self._make_connection(self.INSTANCE, mock.MagicMock()) cursor = self._make_one(connection) with mock.patch( "google.cloud.spanner_dbapi.parse_utils.classify_stmt", side_effect=exceptions.InvalidArgument("message"), ): with self.assertRaises(ProgrammingError): cursor.execute(sql="sql")
def test_write_mutations_non_retryable_error(self): mock_batch = mock.MagicMock() mock_batch.commit.side_effect = [ exceptions.InvalidArgument('non-retryable'), ] mock_throttler = mock.MagicMock() rpc_stats_callback = mock.MagicMock() mock_throttler.throttle_request.return_value = False with self.assertRaises(exceptions.InvalidArgument): helper.write_mutations(mock_batch, mock_throttler, rpc_stats_callback, throttle_delay=0) rpc_stats_callback.assert_called_once_with(errors=1)
def test_write_mutations_non_retryable_error(self): mock_batch = MagicMock() mock_batch.commit.side_effect = [ exceptions.InvalidArgument('non-retryable'), ] mock_throttler = MagicMock() rpc_stats_callback = MagicMock() mock_throttler.throttle_request.return_value = False mutate = datastoreio._Mutate.DatastoreMutateFn(lambda: None) mutate._batch = mock_batch with self.assertRaises(exceptions.InvalidArgument): mutate.write_mutations(mock_throttler, rpc_stats_callback, throttle_delay=0) rpc_stats_callback.assert_called_once_with(errors=1)
def test_if_transient_error(): assert retry.if_transient_error(exceptions.InternalServerError("")) assert retry.if_transient_error(exceptions.TooManyRequests("")) assert retry.if_transient_error(exceptions.ServiceUnavailable("")) assert not retry.if_transient_error(exceptions.InvalidArgument(""))
def test_if_transient_error(): assert retry.if_transient_error(exceptions.InternalServerError('')) assert retry.if_transient_error(exceptions.TooManyRequests('')) assert not retry.if_transient_error(exceptions.InvalidArgument(''))