1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-24 06:59:52 +01:00

Spaces in test responses

It seems like JSON in responses is now minimized without spaces? I'm not
sure what changed in the stack to do that.
This commit is contained in:
Ed Summers 2023-06-29 18:11:34 -04:00
parent e824ffda8a
commit 5b72d96871
No known key found for this signature in database
GPG Key ID: D012FF557AFFF80A
3 changed files with 20 additions and 20 deletions

View File

@ -36,7 +36,7 @@ def header_test_server(environ, start_response):
# ============================================================================ # ============================================================================
def cookie_test_server(environ, start_response): def cookie_test_server(environ, start_response):
body = 'cookie value: ' + environ.get('HTTP_COOKIE', '') body = 'cookie value:' + environ.get('HTTP_COOKIE', '')
body = body.encode('utf-8') body = body.encode('utf-8')
headers = [('Content-Length', str(len(body))), headers = [('Content-Length', str(len(body))),
('Content-Type', 'text/plain')] ('Content-Type', 'text/plain')]
@ -76,14 +76,14 @@ class TestLiveRewriter(HttpBinLiveTests, BaseConfigTest):
resp = self.post('/live/{0}httpbin.org/post', fmod_sl, {'foo': 'bar', 'test': 'abc'}) resp = self.post('/live/{0}httpbin.org/post', fmod_sl, {'foo': 'bar', 'test': 'abc'})
assert resp.status_int == 200 assert resp.status_int == 200
resp.charset = 'utf-8' resp.charset = 'utf-8'
assert '"foo": "bar"' in resp.text assert '"foo":"bar"' in resp.text
assert '"test": "abc"' in resp.text assert '"test":"abc"' in resp.text
assert resp.status_int == 200 assert resp.status_int == 200
def test_live_anchor_encode(self, fmod_sl): def test_live_anchor_encode(self, fmod_sl):
resp = self.get('/live/{0}httpbin.org/get?val=abc%23%23xyz', fmod_sl) resp = self.get('/live/{0}httpbin.org/get?val=abc%23%23xyz', fmod_sl)
assert 'get?val=abc%23%23xyz"' in resp.text assert 'get?val=abc%23%23xyz"' in resp.text
assert '"val": "abc##xyz"' in resp.text assert '"val":"abc##xyz"' in resp.text
#assert '"http://httpbin.org/anything/abc##xyz"' in resp.text #assert '"http://httpbin.org/anything/abc##xyz"' in resp.text
assert resp.status_int == 200 assert resp.status_int == 200
@ -125,18 +125,18 @@ class TestLiveRewriter(HttpBinLiveTests, BaseConfigTest):
headers={'Host': 'example.com'}) headers={'Host': 'example.com'})
assert resp.headers['Set-Cookie'] == 'testcookie=cookie-val; Path=/live/{0}http://localhost:{1}/'.format(fmod_sl, self.cookie_test_serv.port) assert resp.headers['Set-Cookie'] == 'testcookie=cookie-val; Path=/live/{0}http://localhost:{1}/'.format(fmod_sl, self.cookie_test_serv.port)
assert resp.text == 'cookie value: ' assert resp.text == 'cookie value:'
resp = self.get('/live/{0}http://localhost:%s/' % self.cookie_test_serv.port, fmod_sl, resp = self.get('/live/{0}http://localhost:%s/' % self.cookie_test_serv.port, fmod_sl,
headers={'Host': 'example.com'}) headers={'Host': 'example.com'})
assert resp.text == 'cookie value: testcookie=cookie-val' assert resp.text == 'cookie value:testcookie=cookie-val'
resp = self.get('/live/{0}http://localhost:%s/' % self.cookie_test_serv.port, fmod_sl, resp = self.get('/live/{0}http://localhost:%s/' % self.cookie_test_serv.port, fmod_sl,
headers={'Host': 'sub.example.com'}) headers={'Host': 'sub.example.com'})
assert 'Set-Cookie' not in resp.headers assert 'Set-Cookie' not in resp.headers
assert resp.text == 'cookie value: testcookie=cookie-val' assert resp.text == 'cookie value:testcookie=cookie-val'
def test_fetch_page_with_html_title(self, fmod_sl): def test_fetch_page_with_html_title(self, fmod_sl):
resp = self.get('/live/{0}http://localhost:%s/html-title' % self.header_test_serv.port, fmod_sl, resp = self.get('/live/{0}http://localhost:%s/html-title' % self.header_test_serv.port, fmod_sl,
@ -178,7 +178,7 @@ class TestLiveRewriter(HttpBinLiveTests, BaseConfigTest):
def test_deflate(self, fmod_sl): def test_deflate(self, fmod_sl):
resp = self.get('/live/{0}http://httpbin.org/deflate', fmod_sl) resp = self.get('/live/{0}http://httpbin.org/deflate', fmod_sl)
assert b'"deflated": true' in resp.body assert b'"deflated":true' in resp.body
def test_live_origin_and_referrer(self, fmod_sl): def test_live_origin_and_referrer(self, fmod_sl):
headers = {'Referer': 'http://localhost:80/live/{0}http://example.com/test'.format(fmod_sl), headers = {'Referer': 'http://localhost:80/live/{0}http://example.com/test'.format(fmod_sl),

View File

@ -26,12 +26,12 @@ class TestRecordDedup(HttpBinLiveTests, CollsDirMixin, BaseConfigTest, FakeRedis
def test_record_1(self): def test_record_1(self):
res = self.testapp.get('/test-dedup/record/mp_/http://httpbin.org/get?A=B', headers={"Referer": "http://httpbin.org/"}) res = self.testapp.get('/test-dedup/record/mp_/http://httpbin.org/get?A=B', headers={"Referer": "http://httpbin.org/"})
assert '"A": "B"' in res.text assert '"A":"B"' in res.text
time.sleep(1.2) time.sleep(1.2)
res = self.testapp.get('/test-dedup/record/mp_/http://httpbin.org/get?A=B', headers={"Referer": "http://httpbin.org/"}) res = self.testapp.get('/test-dedup/record/mp_/http://httpbin.org/get?A=B', headers={"Referer": "http://httpbin.org/"})
assert '"A": "B"' in res.text assert '"A":"B"' in res.text
def test_single_redis_entry(self): def test_single_redis_entry(self):
res = self.redis.zrange("pywb:test-dedup:cdxj", 0, -1) res = self.redis.zrange("pywb:test-dedup:cdxj", 0, -1)

View File

@ -35,7 +35,7 @@ class TestRecordReplay(HttpBinLiveTests, CollsDirMixin, BaseConfigTest):
def test_record_1(self): def test_record_1(self):
res = self.testapp.get('/test/record/mp_/http://httpbin.org/get?A=B') res = self.testapp.get('/test/record/mp_/http://httpbin.org/get?A=B')
assert '"A": "B"' in res.text assert '"A":"B"' in res.text
def test_record_head(self): def test_record_head(self):
res = self.testapp.head('/test/record/mp_/http://httpbin.org/get?A=B') res = self.testapp.head('/test/record/mp_/http://httpbin.org/get?A=B')
@ -47,7 +47,7 @@ class TestRecordReplay(HttpBinLiveTests, CollsDirMixin, BaseConfigTest):
fmod_slash = fmod + '/' if fmod else '' fmod_slash = fmod + '/' if fmod else ''
res = self.get('/test/{0}http://httpbin.org/get?A=B', fmod_slash) res = self.get('/test/{0}http://httpbin.org/get?A=B', fmod_slash)
assert '"A": "B"' in res.text assert '"A":"B"' in res.text
def test_replay_head(self, fmod): def test_replay_head(self, fmod):
fmod_slash = fmod + '/' if fmod else '' fmod_slash = fmod + '/' if fmod else ''
@ -58,25 +58,25 @@ class TestRecordReplay(HttpBinLiveTests, CollsDirMixin, BaseConfigTest):
def test_record_2(self): def test_record_2(self):
res = self.testapp.get('/test2/record/mp_/http://httpbin.org/get?C=D') res = self.testapp.get('/test2/record/mp_/http://httpbin.org/get?C=D')
assert '"C": "D"' in res.text assert '"C":"D"' in res.text
def test_replay_2(self, fmod): def test_replay_2(self, fmod):
self.ensure_empty() self.ensure_empty()
fmod_slash = fmod + '/' if fmod else '' fmod_slash = fmod + '/' if fmod else ''
res = self.get('/test2/{0}http://httpbin.org/get?C=D', fmod_slash) res = self.get('/test2/{0}http://httpbin.org/get?C=D', fmod_slash)
assert '"C": "D"' in res.text assert '"C":"D"' in res.text
def test_record_again_1(self): def test_record_again_1(self):
res = self.testapp.get('/test/record/mp_/http://httpbin.org/get?C=D2') res = self.testapp.get('/test/record/mp_/http://httpbin.org/get?C=D2')
assert '"C": "D2"' in res.text assert '"C":"D2"' in res.text
def test_replay_again_1(self, fmod): def test_replay_again_1(self, fmod):
self.ensure_empty() self.ensure_empty()
fmod_slash = fmod + '/' if fmod else '' fmod_slash = fmod + '/' if fmod else ''
res = self.get('/test/{0}http://httpbin.org/get?C=D2', fmod_slash) res = self.get('/test/{0}http://httpbin.org/get?C=D2', fmod_slash)
assert '"C": "D2"' in res.text assert '"C":"D2"' in res.text
assert len(os.listdir(os.path.join(self.root_dir, '_test_colls', 'test', 'archive'))) == 1 assert len(os.listdir(os.path.join(self.root_dir, '_test_colls', 'test', 'archive'))) == 1
@ -94,10 +94,10 @@ class TestRecordReplay(HttpBinLiveTests, CollsDirMixin, BaseConfigTest):
fmod_slash = fmod + '/' if fmod else '' fmod_slash = fmod + '/' if fmod else ''
res = self.get('/all/{0}http://httpbin.org/get?C=D', fmod_slash) res = self.get('/all/{0}http://httpbin.org/get?C=D', fmod_slash)
assert '"C": "D"' in res.text assert '"C":"D"' in res.text
res = self.get('/all/mp_/http://httpbin.org/get?A=B', fmod_slash) res = self.get('/all/mp_/http://httpbin.org/get?A=B', fmod_slash)
assert '"A": "B"' in res.text assert '"A":"B"' in res.text
def test_cdx_all_coll(self): def test_cdx_all_coll(self):
res = self.testapp.get('/all/cdx?url=http://httpbin.org/get*&output=json') res = self.testapp.get('/all/cdx?url=http://httpbin.org/get*&output=json')
@ -163,7 +163,7 @@ class TestRecordCustomConfig(HttpBinLiveTests, CollsDirMixin, BaseConfigTest):
assert os.path.isdir(dir_name) assert os.path.isdir(dir_name)
res = self.testapp.get('/test-new/record/mp_/http://httpbin.org/get?A=B') res = self.testapp.get('/test-new/record/mp_/http://httpbin.org/get?A=B')
assert '"A": "B"' in res.text assert '"A":"B"' in res.text
names = os.listdir(dir_name) names = os.listdir(dir_name)
assert len(names) == 1 assert len(names) == 1
@ -176,7 +176,7 @@ class TestRecordCustomConfig(HttpBinLiveTests, CollsDirMixin, BaseConfigTest):
def test_no_brotli(self): def test_no_brotli(self):
res = self.testapp.get('/test-new/record/mp_/http://httpbin.org/get?C=D', res = self.testapp.get('/test-new/record/mp_/http://httpbin.org/get?C=D',
headers={'Accept-Encoding': 'gzip, deflate, br'}) headers={'Accept-Encoding': 'gzip, deflate, br'})
assert '"C": "D"' in res.text assert '"C":"D"' in res.text
with open(self.warc_name, 'rb') as fh: with open(self.warc_name, 'rb') as fh:
for record in ArchiveIterator(fh): for record in ArchiveIterator(fh):