Esempio n. 1
0
    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)
Esempio n. 2
0
    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")
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)
Esempio n. 5
0
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(''))