Esempio n. 1
0
    def test_server_error_with_a_bad_json(self):

        def _handle_request(context):
            context.retry_flag = False
            context.http_response = Response()
            context.http_response.status_code = 400
            context.http_response.headers = {}
            context.http_response._content = b"bad-json"

        ecs_client = EcsClient(self.client_config, self.init_credentials_provider())

        ecs_client.handlers = DEFAULT_HANDLERS

        with patch.object(http_handler, "handle_request", wraps=_handle_request):
            try:
                ecs_client.delete_instance()
                assert False
            except ServerException as e:
                self.assertEqual(400, e.http_status)
                self.assertEqual("Ecs", e.service_name)
                self.assertEqual("ecs-cn-hangzhou.aliyuncs.com", e.endpoint)
                self.assertEqual("SDK.UnknownServerError", e.error_code)
                if six.PY2:
                    self.assertEqual('ServerResponseBody: bad-json', e.error_message)
                else:
                    self.assertEqual("ServerResponseBody: b'bad-json'", e.error_message)
Esempio n. 2
0
 def test_server_error_normal(self):
     ecs_client = EcsClient(self.client_config, self.init_credentials_provider())
     try:
         ecs_client.delete_instance(instance_id="blah")
         assert False
     except ServerException as e:
         self.assertEqual("InvalidInstanceId.NotFound", e.error_code)
         self.assertEqual("The specified InstanceId does not exist.",
                          e.error_message)