def init_env(self, test_local_config=None, client=None): resolver_chain = [] self._user_customized_endpoint_resolver = UserCustomizedEndpointResolver( ) if test_local_config is None: self._local_config_regional_endpoint_resolver = LocalConfigRegionalEndpointResolver( ) self._local_config_global_endpoint_resolver = LocalConfigGlobalEndpointResolver( ) else: self._local_config_regional_endpoint_resolver = \ LocalConfigRegionalEndpointResolver(test_local_config) self._local_config_global_endpoint_resolver = \ LocalConfigGlobalEndpointResolver(test_local_config) if client is not None: self._location_service_endpoint_resolver = LocationServiceEndpointResolver( client) else: self._location_service_endpoint_resolver = LocationServiceEndpointResolver( self.client) resolver_chain.append(self._user_customized_endpoint_resolver) resolver_chain.append(self._local_config_regional_endpoint_resolver) resolver_chain.append(self._local_config_global_endpoint_resolver) resolver_chain.append(self._location_service_endpoint_resolver) self._endpoint_resolver = ChainedEndpointResolver(resolver_chain)
def test_resolver(self): resolver = LocalConfigGlobalEndpointResolver() request = ResolveEndpointRequest("", "", "", "") self.assertEqual(resolver.resolve(request), None) self.assertEqual(resolver._make_endpoint_entry_key("ram"), "ram") request = ResolveEndpointRequest("cn-huhehaote", "ram", "", "") self.assertEqual(resolver.resolve(request), 'ram.aliyuncs.com') self.assertTrue(resolver.is_region_id_valid(request)) request = ResolveEndpointRequest("cn-huhehaote", "ram", "", "innerAPI") self.assertEqual(resolver.resolve(request), None) # _get_normalized_product_code self.assertEqual(resolver._get_normalized_product_code("cloudapi"), "apigateway") self.assertEqual(resolver._get_normalized_product_code("ram"), "ram")
def test_resolver_with_jsonstr(self): resolver = LocalConfigGlobalEndpointResolver("{}") request = ResolveEndpointRequest("", "", "", "") self.assertEqual(resolver.resolve(request), None) self.assertEqual(resolver._make_endpoint_entry_key("ram"), "ram") request = ResolveEndpointRequest("cn-huhehaote", "ram", "", "") self.assertEqual(resolver.resolve(request), None) self.assertTrue(resolver.is_region_id_valid(request)) request = ResolveEndpointRequest("cn-huhehaote", "ram", "", "innerAPI") self.assertEqual(resolver.resolve(request), None)
def __init__(self, client, user_config=None): self._user_customized_endpoint_resolver = UserCustomizedEndpointResolver() endpoint_resolvers = [ self.predefined_endpoint_resolver, self._user_customized_endpoint_resolver, LocalConfigRegionalEndpointResolver(user_config), LocalConfigGlobalEndpointResolver(user_config), LocationServiceEndpointResolver(client), ] self._resolver = ChainedEndpointResolver(endpoint_resolvers)