Add CloudFrontedS3Storage, which redirects to CloudFront for non-S3 ips
This commit is contained in:
parent
2d522764f7
commit
010dda2c52
14 changed files with 175 additions and 69 deletions
|
@ -17,6 +17,10 @@ def http_client():
|
|||
sess.mount('https://', adapter)
|
||||
return sess
|
||||
|
||||
@pytest.fixture()
|
||||
def test_aws_ip():
|
||||
return '10.0.0.1'
|
||||
|
||||
@pytest.fixture()
|
||||
def aws_ip_range_handler():
|
||||
@urlmatch(netloc=r'ip-ranges.amazonaws.com')
|
||||
|
@ -35,16 +39,16 @@ def aws_ip_range_handler():
|
|||
|
||||
return handler
|
||||
|
||||
def test_unstarted(app, http_client):
|
||||
def test_unstarted(app, test_aws_ip, http_client):
|
||||
ipresolver = IPResolver(app, client=http_client)
|
||||
assert ipresolver.resolve_ip('10.0.0.1') is None
|
||||
assert ipresolver.resolve_ip(test_aws_ip) is None
|
||||
|
||||
def test_resolved(aws_ip_range_handler, app, http_client):
|
||||
def test_resolved(aws_ip_range_handler, test_aws_ip, app, http_client):
|
||||
with HTTMock(aws_ip_range_handler):
|
||||
ipresolver = IPResolver(app, client=http_client)
|
||||
assert ipresolver._update_aws_ip_range()
|
||||
|
||||
assert ipresolver.resolve_ip('10.0.0.1') == ResolvedLocation(provider='aws', region=u'GLOBAL', service=None, sync_token=123456789)
|
||||
assert ipresolver.resolve_ip(test_aws_ip) == ResolvedLocation(provider='aws', region=u'GLOBAL', service=None, sync_token=123456789)
|
||||
assert ipresolver.resolve_ip('10.0.0.2') == ResolvedLocation(provider='aws', region=u'GLOBAL', service=None, sync_token=123456789)
|
||||
assert ipresolver.resolve_ip('1.2.3.4') == ResolvedLocation(provider='internet', region=u'NA', service=u'US', sync_token=123456789)
|
||||
assert ipresolver.resolve_ip('127.0.0.1') == ResolvedLocation(provider='internet', region=None, service=None, sync_token=123456789)
|
||||
|
|
Reference in a new issue