def test_constructs_regionalized_endpoints_for_exact_matches(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('not-regionalized', 'eu-baz') self.assertEquals('not-regionalized.eu-baz.amazonaws.com', result['hostname']) self.assertEquals('aws', result['partition']) self.assertEquals('eu-baz', result['endpointName'])
def test_merges_service_keys(self): resolver = regions.EndpointResolver(self._template()) us_foo = resolver.construct_endpoint('merge', 'us-foo') us_bar = resolver.construct_endpoint('merge', 'us-bar') self.assertEquals(['http'], us_foo['protocols']) self.assertEquals(['v4'], us_foo['signatureVersions']) self.assertEquals(['https'], us_bar['protocols']) self.assertEquals(['v2'], us_bar['signatureVersions'])
def test_gives_hostname_and_common_name_unaltered(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('s3', 'eu-baz') self.assertEquals('s3.eu-baz.amazonaws.com', result['sslCommonName']) self.assertEquals('foo', result['hostname'])
def test_merges_partition_default_keys_with_overwrite(self): resolver = regions.EndpointResolver(self._template()) resolved = resolver.construct_endpoint('s3', 'foo-2') self.assertEquals('bar', resolved['foo']) self.assertEquals(['http'], resolved['protocols'])
def test_constructs_endpoints_for_unknown_service_but_known_region(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('unknown', 'us-foo') self.assertEquals('unknown.us-foo.amazonaws.com', result['hostname'])
def test_constructs_endpoints_for_regionalized_regex_match(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('s3', 'us-abc') self.assertEquals('s3.us-abc.amazonaws.com', result['hostname'])
def test_constructs_partition_endpoints_for_regex_match(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('not-regionalized', 'us-abc') self.assertEquals('not-regionalized', result['hostname'])
def test_gets_endpoint_names_for_partition(self): resolver = regions.EndpointResolver(self._template()) result = resolver.get_available_endpoints('ec2', allow_non_regional=True, partition_name='foo') self.assertEqual(['foo-1', 'foo-2', 'foo-3'], sorted(result))
def test_returns_none_when_no_match(self): resolver = regions.EndpointResolver(self._template()) self.assertIsNone(resolver.construct_endpoint('foo', 'baz'))
def test_returns_empty_list_when_no_service_found(self): resolver = regions.EndpointResolver(self._template()) self.assertEquals([], resolver.get_available_endpoints('what?'))
def test_list_regional_endpoints_only(self): resolver = regions.EndpointResolver(self._template()) result = resolver.get_available_endpoints( 's3', allow_non_regional=False) self.assertEquals(['eu-baz', 'us-bar', 'us-foo'], sorted(result))
def test_returns_empty_list_when_listing_for_different_partition(self): resolver = regions.EndpointResolver(self._template()) self.assertEquals([], resolver.get_available_endpoints('s3', 'bar'))
def test_ensures_required_keys_present(self): with self.assertRaises(ValueError): regions.EndpointResolver({})
def test_ensures_region_is_not_none(self): with self.assertRaises(NoRegionError): resolver = regions.EndpointResolver(self._template()) resolver.construct_endpoint('foo', None)
def tests_uses_partition_endpoint_when_no_region_provided(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('not-regionalized') self.assertEquals('not-regionalized', result['hostname']) self.assertEquals('aws', result['endpointName'])
def test_constructs_partition_endpoints_for_real_partition_region(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('not-regionalized', 'us-bar') self.assertEquals('not-regionalized', result['hostname']) self.assertEquals('aws', result['partition']) self.assertEquals('aws', result['endpointName'])
def test_returns_dns_suffix_if_available(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('not-regionalized') self.assertEqual(result['dnsSuffix'], 'amazonaws.com')
def test_gets_endpoint_names(self): resolver = regions.EndpointResolver(self._template()) result = resolver.get_available_endpoints('ec2', allow_non_regional=True) self.assertEqual(['d', 'eu-baz', 'us-bar', 'us-foo'], sorted(result))