Exemple #1
0
    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)
Exemple #2
0
 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")
Exemple #3
0
 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)