1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 00:03:28 +01:00
pywb/tests/test_force_https.py

62 lines
2.6 KiB
Python

from .base_config_test import BaseConfigTest, fmod
# ============================================================================
class TestForceHttps(BaseConfigTest):
@classmethod
def setup_class(cls):
super(TestForceHttps, cls).setup_class('config_test.yaml')
def test_force_https_replay_1(self, fmod):
resp = self.get('/pywb/20140128051539{0}/http://example.com/', fmod,
headers={'X-Forwarded-Proto': 'https'})
assert '"https://localhost:80/pywb/20140128051539{0}/http://www.iana.org/domains/example"'.format(fmod) in resp.text, resp.text
# ============================================================================
class TestForceHttpsConfig(BaseConfigTest):
@classmethod
def setup_class(cls):
super(TestForceHttpsConfig, cls).setup_class('config_test.yaml',
custom_config={'force_scheme': 'https'})
def test_force_https_replay_1(self, fmod):
resp = self.get('/pywb/20140128051539{0}/http://example.com/', fmod)
assert '"https://localhost:80/pywb/20140128051539{0}/http://www.iana.org/domains/example"'.format(fmod) in resp.text, resp.text
# ============================================================================
class TestForceHttpsRedirect(BaseConfigTest):
@classmethod
def setup_class(cls):
super(TestForceHttpsRedirect, cls).setup_class('config_test_redirect_classic.yaml')
def test_force_https_redirect_replay_1(self, fmod):
resp = self.get('/pywb/20140128051539{0}/http://example.com/', fmod,
headers={'X-Forwarded-Proto': 'https'})
assert resp.headers['Location'] == 'https://localhost:80/pywb/20140127171251{0}/http://example.com'.format(fmod)
resp = resp.follow()
assert resp.headers['Location'] == 'https://localhost:80/pywb/20140127171251{0}/http://example.com/'.format(fmod)
resp = resp.follow()
assert '"https://localhost:80/pywb/20140127171251{0}/http://www.iana.org/domains/example"'.format(fmod) in resp.text, resp.text
# ============================================================================
class TestForceHttpsRoot(BaseConfigTest):
@classmethod
def setup_class(cls):
super(TestForceHttpsRoot, cls).setup_class('config_test_root_coll.yaml')
def test_force_https_root_replay_1(self, fmod):
resp = self.get('/20140128051539{0}/http://www.iana.org/domains/example', fmod,
headers={'X-Forwarded-Proto': 'https'})
assert resp.headers['Location'] == 'https://localhost:80/20140128051539{0}/https://www.iana.org/domains/reserved'.format(fmod)