示例#1
0
 def test_response_protocol_error(self, request_async):
     request_async.side_effect = net.NotFoundError(
         msg='not found',
         status_code=404,
         response='not found',
         headers={
             # no X-Prpc-Grpc-Code header.
         },
     )
     with self.assertRaises(prpc_client.ProtocolError):
         self.make_test_client().Take(empty_pb2.Empty())
示例#2
0
 def test_response_rpc_error(self, request_async):
     request_async.side_effect = net.NotFoundError(
         msg='not found',
         status_code=404,
         response='not found',
         headers={
             'X-Prpc-Grpc-Code': str(codes.StatusCode.NOT_FOUND[0]),
         },
     )
     with self.assertRaises(prpc_client.RpcError) as cm:
         self.make_test_client().Take(empty_pb2.Empty())
     self.assertEqual(cm.exception.status_code, codes.StatusCode.NOT_FOUND)
示例#3
0
 def test_publish_ok(self):
     self.mock_requests([
         # First attempt. Encounters 404 due to non-existing topic.
         {
             'url':
             'https://pubsub.googleapis.com/v1/projects/a/topics/def:publish',
             'method': 'POST',
             'payload': {
                 'messages': [
                     {
                         'attributes': {
                             'a': 1,
                             'b': 2
                         },
                         'data': 'bXNn',
                     },
                 ],
             },
             'response': net.NotFoundError('topic not found', 404, ''),
         },
         # Creates the topic.
         {
             'url':
             'https://pubsub.googleapis.com/v1/projects/a/topics/def',
             'method': 'PUT',
             'payload': None,
         },
         # Second attempt, succeeds.
         {
             'url':
             'https://pubsub.googleapis.com/v1/projects/a/topics/def:publish',
             'method': 'POST',
             'payload': {
                 'messages': [
                     {
                         'attributes': {
                             'a': 1,
                             'b': 2
                         },
                         'data': 'bXNn',
                     },
                 ],
             },
         },
     ])
     pubsub.publish('projects/a/topics/def', 'msg', {'a': 1, 'b': 2})
示例#4
0
 def retrieve_machine(*args, **kwargs):
     raise net.NotFoundError('404', 404, '404')
示例#5
0
 def json_request(*args, **kwargs):
     raise net.NotFoundError('404', 404, '404')
示例#6
0
 def test_get_project_configs_async_receives_404(self):
     net.json_request_async.side_effect = net.NotFoundError(
         'Not found', 404, None)
     with self.assertRaises(net.NotFoundError):
         self.provider.get_project_configs_async('cfg').get_result()