def test_missing_message_in_response2(self): # test missing Code in response 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"{\"Code\": \"YouMessedSomethingUp\"}" 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.describe_regions() 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("YouMessedSomethingUp", e.error_code) if six.PY2: self.assertEqual('ServerResponseBody: {"Code": "YouMessedSomethingUp"}', e.error_message) else: self.assertEqual("""ServerResponseBody: b'{"Code": "YouMessedSomethingUp"}'""", e.error_message)
def test_missing_message_in_response(self): # test missing message in response 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"{\"Message\": \"Some message\"}" 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.describe_regions() 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) self.assertEqual("""Some message""", e.error_message)
def test_endpoint_comes_from_location_service(self): temp_client = self.temp_client('ECS', None, None, 'ecs') self.init_env(temp_client.config, temp_client.credentials_provider, "{}") # empty local config from alibabacloud.clients.ecs_20140526 import EcsClient ecs_client = EcsClient(self.client_config, self.init_credentials_provider()) ecs_client.describe_regions() ecs_client.endpoint_resolver = DefaultEndpointResolver( ecs_client.config, ecs_client.credentials_provider) with patch.object(self._location_service_endpoint_resolver, '_call_location_service', wraps=self._location_service_endpoint_resolver. _call_location_service) as monkey: for i in range(3): self.assertEqual( "ecs-cn-hangzhou.aliyuncs.com", ecs_client.endpoint_resolver.resolve( self.resolve_request("cn-hangzhou", "ecs", "ecs", None))) self.assertEqual(0, monkey.call_count)
def test_call_rpc_request_with_client(self): ecs_client = EcsClient(self.client_config, self.init_credentials_provider()) response = ecs_client.describe_regions() self.assertTrue(response.get('RequestId'))