2017-05-03 20:05:07 -07:00
|
|
|
from .base_config_test import BaseConfigTest, fmod
|
2015-04-01 16:21:44 -07:00
|
|
|
|
2016-02-23 13:26:53 -08:00
|
|
|
from .memento_fixture import *
|
2015-04-01 16:21:44 -07:00
|
|
|
|
2017-02-27 19:07:51 -08:00
|
|
|
# ============================================================================
|
2017-05-03 20:05:07 -07:00
|
|
|
class TestMemento(MementoMixin, BaseConfigTest):
|
2017-02-27 19:07:51 -08:00
|
|
|
@classmethod
|
|
|
|
def setup_class(cls):
|
2017-05-03 20:05:07 -07:00
|
|
|
super(TestMemento, cls).setup_class('config_test.yaml')
|
2015-04-01 16:21:44 -07:00
|
|
|
|
2017-02-27 19:07:51 -08:00
|
|
|
def _test_top_frame_replay(self):
|
2015-04-01 16:21:44 -07:00
|
|
|
resp = self.testapp.get('/pywb/20140127171238/http://www.iana.org/')
|
|
|
|
|
|
|
|
# Memento Headers
|
|
|
|
# no vary header
|
|
|
|
assert VARY not in resp.headers
|
|
|
|
assert MEMENTO_DATETIME in resp.headers
|
|
|
|
|
|
|
|
# memento link
|
|
|
|
dt = 'Mon, 27 Jan 2014 17:12:38 GMT'
|
|
|
|
|
|
|
|
links = self.get_links(resp)
|
|
|
|
assert self.make_memento_link('http://www.iana.org/', '20140127171238mp_', dt) in links
|
|
|
|
|
|
|
|
#timegate link
|
|
|
|
assert '<http://localhost:80/pywb/mp_/http://www.iana.org/>; rel="timegate"' in links
|
|
|
|
|
|
|
|
# Body
|
2016-02-23 13:26:53 -08:00
|
|
|
assert '<iframe ' in resp.text
|
|
|
|
assert '/pywb/20140127171238mp_/http://www.iana.org/' in resp.text, resp.text
|
2015-04-01 16:21:44 -07:00
|
|
|
|
2017-05-03 20:05:07 -07:00
|
|
|
def test_memento_content_replay(self, fmod):
|
|
|
|
fmod_slash = fmod + '/' if fmod else ''
|
|
|
|
resp = self.get('/pywb/20140127171238{0}/http://www.iana.org/', fmod)
|
2015-04-01 16:21:44 -07:00
|
|
|
|
|
|
|
# Memento Headers
|
|
|
|
# no vary header
|
|
|
|
assert VARY not in resp.headers
|
|
|
|
assert MEMENTO_DATETIME in resp.headers
|
|
|
|
|
|
|
|
# memento link
|
|
|
|
dt = 'Mon, 27 Jan 2014 17:12:38 GMT'
|
|
|
|
|
|
|
|
links = self.get_links(resp)
|
2017-05-03 20:05:07 -07:00
|
|
|
assert self.make_memento_link('http://www.iana.org/', '20140127171238{0}'.format(fmod), dt) in links
|
2015-04-01 16:21:44 -07:00
|
|
|
|
|
|
|
# timegate link
|
2017-05-03 20:05:07 -07:00
|
|
|
assert '<http://localhost:80/pywb/{0}http://www.iana.org/>; rel="timegate"'.format(fmod_slash) in links
|
2015-04-01 16:21:44 -07:00
|
|
|
|
|
|
|
# Body
|
2016-02-23 13:26:53 -08:00
|
|
|
assert '"20140127171238"' in resp.text
|
|
|
|
assert 'wb.js' in resp.text
|
|
|
|
assert 'new _WBWombat' in resp.text, resp.text
|
2017-05-03 20:05:07 -07:00
|
|
|
assert '/pywb/20140127171238{0}/http://www.iana.org/time-zones"'.format(fmod) in resp.text
|