Python3 compability for tests
This commit is contained in:
parent
ae1800e157
commit
0dcd09ac80
|
@ -43,7 +43,9 @@ def datadir(tmp_path):
|
|||
new_path.mkdir()
|
||||
_datadir(v, new_path)
|
||||
else:
|
||||
(path / k).write_text(v.decode())
|
||||
if hasattr(v, 'decode'):
|
||||
v = v.decode() # python2 compability
|
||||
(path / k).write_text(v)
|
||||
|
||||
return path
|
||||
return _datadir
|
||||
|
@ -66,6 +68,7 @@ def download_ok(r, expected_data, expected_code=200):
|
|||
|
||||
def make_request(path='/', host='localhost', port=8080, method='get', protocol='http', **kwargs):
|
||||
url = '{}://{}:{}{}'.format(protocol, host, port, path)
|
||||
print('Calling {} on {} with {}'.format(method, url, kwargs))
|
||||
r = getattr(requests, method)(url, **kwargs)
|
||||
|
||||
return r
|
||||
|
@ -83,9 +86,10 @@ def check_download(expected_data=None, path='/', status_code=200, **kwargs):
|
|||
|
||||
|
||||
def test_version(run_servefile):
|
||||
s = run_servefile('--version', stderr=subprocess.PIPE)
|
||||
# we expect the version on stdout (python3.4+) or stderr(python2.6-3.3)
|
||||
s = run_servefile('--version', stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
s.wait()
|
||||
version = s.stderr.readline().strip()
|
||||
version = s.stdout.readline().decode().strip()
|
||||
assert version == 'servefile 0.4.5-unreleased'
|
||||
|
||||
|
||||
|
@ -192,7 +196,7 @@ def test_upload(run_servefile, tmp_path):
|
|||
assert 'multipart/form-data' in r.text
|
||||
|
||||
# upload file
|
||||
files = {'file': ('haiku.txt', data.decode())}
|
||||
files = {'file': ('haiku.txt', data)}
|
||||
r = make_request(method='post', files=files)
|
||||
assert 'Thanks' in r.text
|
||||
assert r.status_code == 200
|
||||
|
@ -200,7 +204,7 @@ def test_upload(run_servefile, tmp_path):
|
|||
assert f.read() == data
|
||||
|
||||
# upload file AGAIN!! (and check it is available unter a different name)
|
||||
files = {'file': ('haiku.txt', data.decode())}
|
||||
files = {'file': ('haiku.txt', data)}
|
||||
r = make_request(method='post', files=files)
|
||||
assert r.status_code == 200
|
||||
with open(str(uploaddir / 'haiku.txt(1)')) as f:
|
||||
|
@ -246,7 +250,7 @@ def test_tar_mode(run_servefile, datadir):
|
|||
for filename, content in d['foo'].items():
|
||||
info = tar.getmember('foo/{}'.format(filename))
|
||||
assert info.isfile
|
||||
assert tar.extractfile(info.path).read() == content
|
||||
assert tar.extractfile(info.path).read().decode() == content
|
||||
|
||||
|
||||
def test_tar_compression(run_servefile, datadir):
|
||||
|
|
Loading…
Reference in New Issue