Skip to content

Commit

Permalink
tests: sync quoting style
Browse files Browse the repository at this point in the history
  • Loading branch information
markokr committed Jul 31, 2020
1 parent ca569f5 commit c9e603b
Show file tree
Hide file tree
Showing 8 changed files with 183 additions and 183 deletions.
144 changes: 72 additions & 72 deletions test/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,37 +15,37 @@

def test_not_rar():
with pytest.raises(rarfile.NotRarFile):
rarfile.RarFile('rarfile.py', 'r')
rarfile.RarFile("rarfile.py", "r")
with pytest.raises(rarfile.NotRarFile):
with open('rarfile.py', 'rb') as f:
rarfile.RarFile(f, 'r')
with open("rarfile.py", "rb") as f:
rarfile.RarFile(f, "r")


def test_bad_arc_mode_w():
with pytest.raises(NotImplementedError):
rarfile.RarFile('test/files/rar3-comment-plain.rar', 'w')
rarfile.RarFile("test/files/rar3-comment-plain.rar", "w")


def test_bad_arc_mode_rb():
with pytest.raises(NotImplementedError):
rarfile.RarFile('test/files/rar3-comment-plain.rar', 'rb')
rarfile.RarFile("test/files/rar3-comment-plain.rar", "rb")


def test_bad_errs():
with pytest.raises(ValueError):
rarfile.RarFile('test/files/rar3-comment-plain.rar', 'r', errors='foo')
rarfile.RarFile("test/files/rar3-comment-plain.rar", "r", errors="foo")


def test_bad_open_mode_w():
rf = rarfile.RarFile('test/files/rar3-comment-plain.rar')
rf = rarfile.RarFile("test/files/rar3-comment-plain.rar")
with pytest.raises(NotImplementedError):
rf.open('qwe', 'w')
rf.open("qwe", "w")


def test_bad_open_psw():
rf = rarfile.RarFile('test/files/rar3-comment-psw.rar')
rf = rarfile.RarFile("test/files/rar3-comment-psw.rar")
with pytest.raises(rarfile.PasswordRequired):
rf.open('file1.txt')
rf.open("file1.txt")


def test_bad_filelike():
Expand All @@ -54,70 +54,70 @@ def test_bad_filelike():


def test_open_psw_late_rar3():
rf = rarfile.RarFile('test/files/rar3-comment-psw.rar')
d1 = rf.open('file1.txt', 'r', 'password').read()
d2 = rf.open('file1.txt', 'r', b'password').read()
rf = rarfile.RarFile("test/files/rar3-comment-psw.rar")
d1 = rf.open("file1.txt", "r", "password").read()
d2 = rf.open("file1.txt", "r", b"password").read()
assert d1 == d2


def test_open_psw_late_rar5():
rf = rarfile.RarFile('test/files/rar5-psw.rar')
rf.open('stest1.txt', 'r', 'password').read()
rf.open('stest1.txt', 'r', b'password').read()
rf = rarfile.RarFile("test/files/rar5-psw.rar")
rf.open("stest1.txt", "r", "password").read()
rf.open("stest1.txt", "r", b"password").read()


def test_open_pathlib_path():
rf = rarfile.RarFile('test/files/rar5-psw.rar')
rf.open(Path('stest1.txt'), 'r', 'password').read()
rf = rarfile.RarFile("test/files/rar5-psw.rar")
rf.open(Path("stest1.txt"), "r", "password").read()


def test_read_psw_late_rar3():
rf = rarfile.RarFile('test/files/rar3-comment-psw.rar')
rf.read('file1.txt', 'password')
rf.read('file1.txt', b'password')
rf = rarfile.RarFile("test/files/rar3-comment-psw.rar")
rf.read("file1.txt", "password")
rf.read("file1.txt", b"password")


def test_read_psw_late_rar5():
rf = rarfile.RarFile('test/files/rar5-psw.rar')
rf.read('stest1.txt', 'password')
rf.read('stest1.txt', b'password')
rf = rarfile.RarFile("test/files/rar5-psw.rar")
rf.read("stest1.txt", "password")
rf.read("stest1.txt", b"password")


def test_open_psw_late():
rf = rarfile.RarFile('test/files/rar5-psw.rar')
rf = rarfile.RarFile("test/files/rar5-psw.rar")
with pytest.raises(rarfile.BadRarFile):
rf.read('stest1.txt', 'password222')
rf.read("stest1.txt", "password222")


def test_create_from_pathlib_path():
# Make sure we can open both relative and absolute Paths
rarfile.RarFile(Path('test/files/rar5-psw.rar'))
rarfile.RarFile(Path('test/files/rar5-psw.rar').resolve())
rarfile.RarFile(Path("test/files/rar5-psw.rar"))
rarfile.RarFile(Path("test/files/rar5-psw.rar").resolve())


def test_detection():
assert rarfile.is_rarfile('test/files/ctime4.rar.exp') is False
assert rarfile.is_rarfile('test/files/ctime4.rar') is True
assert rarfile.is_rarfile('test/files/rar5-crc.rar') is True
assert rarfile.is_rarfile("test/files/ctime4.rar.exp") is False
assert rarfile.is_rarfile("test/files/ctime4.rar") is True
assert rarfile.is_rarfile("test/files/rar5-crc.rar") is True

assert rarfile.is_rarfile(Path('test/files/rar5-crc.rar')) is True
assert rarfile.is_rarfile(Path("test/files/rar5-crc.rar")) is True


def test_signature_error():
with pytest.raises(rarfile.NotRarFile):
rarfile.RarFile('test/files/ctime4.rar.exp')
rarfile.RarFile("test/files/ctime4.rar.exp")


def test_signature_error_mem():
data = io.BytesIO(b'x' * 40)
data = io.BytesIO(b"x" * 40)
with pytest.raises(rarfile.NotRarFile):
rarfile.RarFile(data)


def test_with():
with rarfile.RarFile('test/files/rar5-crc.rar') as rf:
data = rf.read('stest1.txt')
with rf.open('stest1.txt') as f:
with rarfile.RarFile("test/files/rar5-crc.rar") as rf:
data = rf.read("stest1.txt")
with rf.open("stest1.txt") as f:
dst = io.BytesIO()
while True:
buf = f.read(7)
Expand All @@ -139,34 +139,34 @@ def load_readline(rf, fn):
res.append(ln)
return res

rf = rarfile.RarFile('test/files/seektest.rar')
v1 = load_readline(rf, 'stest1.txt')
v2 = load_readline(rf, 'stest2.txt')
rf = rarfile.RarFile("test/files/seektest.rar")
v1 = load_readline(rf, "stest1.txt")
v2 = load_readline(rf, "stest2.txt")
assert len(v1) == 512
assert v1 == v2


def test_printdir(capsys):
rf = rarfile.RarFile('test/files/seektest.rar')
rf = rarfile.RarFile("test/files/seektest.rar")
rf.printdir()
res = capsys.readouterr()
assert res.out == 'stest1.txt\nstest2.txt\n'
assert res.out == "stest1.txt\nstest2.txt\n"


def test_testrar():
rf = rarfile.RarFile('test/files/seektest.rar')
rf = rarfile.RarFile("test/files/seektest.rar")
rf.testrar()


def test_iter():
rf = rarfile.RarFile('test/files/seektest.rar')
rf = rarfile.RarFile("test/files/seektest.rar")
n1 = rf.namelist()
n2 = [m.filename for m in rf]
assert n1 == n2


def test_testrar_mem():
with open('test/files/seektest.rar', 'rb') as f:
with open("test/files/seektest.rar", "rb") as f:
arc = f.read()
rf = rarfile.RarFile(io.BytesIO(arc))
rf.testrar()
Expand All @@ -179,32 +179,32 @@ def test_extract(tmp_path):
os.makedirs(str(ex1))
os.makedirs(str(ex2))
os.makedirs(str(ex3))
rf = rarfile.RarFile('test/files/seektest.rar')
rf = rarfile.RarFile("test/files/seektest.rar")

rf.extractall(str(ex1))
assert os.path.isfile(str(ex1 / 'stest1.txt')) is True
assert os.path.isfile(str(ex1 / 'stest2.txt')) is True
assert os.path.isfile(str(ex1 / "stest1.txt")) is True
assert os.path.isfile(str(ex1 / "stest2.txt")) is True

rf.extract('stest1.txt', str(ex2))
assert os.path.isfile(str(ex2 / 'stest1.txt')) is True
assert os.path.isfile(str(ex2 / 'stest2.txt')) is False
rf.extract("stest1.txt", str(ex2))
assert os.path.isfile(str(ex2 / "stest1.txt")) is True
assert os.path.isfile(str(ex2 / "stest2.txt")) is False

inf = rf.getinfo('stest2.txt')
inf = rf.getinfo("stest2.txt")
rf.extract(inf, str(ex3))
assert os.path.isfile(str(ex3 / 'stest1.txt')) is False
assert os.path.isfile(str(ex3 / 'stest2.txt')) is True
assert os.path.isfile(str(ex3 / "stest1.txt")) is False
assert os.path.isfile(str(ex3 / "stest2.txt")) is True

rf.extractall(str(ex2), ['stest1.txt'])
assert os.path.isfile(str(ex2 / 'stest1.txt')) is True
rf.extractall(str(ex2), ["stest1.txt"])
assert os.path.isfile(str(ex2 / "stest1.txt")) is True

rf.extractall(str(ex3), [rf.getinfo('stest2.txt')])
assert os.path.isfile(str(ex3 / 'stest2.txt')) is True
rf.extractall(str(ex3), [rf.getinfo("stest2.txt")])
assert os.path.isfile(str(ex3 / "stest2.txt")) is True

ex4 = tmp_path / "extract4"
os.makedirs(str(ex4))
rf.extractall(ex4)
assert os.path.isfile(str(ex4 / 'stest1.txt')) is True
assert os.path.isfile(str(ex4 / 'stest2.txt')) is True
assert os.path.isfile(str(ex4 / "stest1.txt")) is True
assert os.path.isfile(str(ex4 / "stest2.txt")) is True


def test_extract_mem(tmp_path):
Expand All @@ -215,22 +215,22 @@ def test_extract_mem(tmp_path):
os.makedirs(str(ex2))
os.makedirs(str(ex3))

with open('test/files/seektest.rar', 'rb') as f:
with open("test/files/seektest.rar", "rb") as f:
arc = f.read()
rf = rarfile.RarFile(io.BytesIO(arc))

rf.extractall(str(ex1))
assert os.path.isfile(str(ex1 / 'stest1.txt')) is True
assert os.path.isfile(str(ex1 / 'stest2.txt')) is True
assert os.path.isfile(str(ex1 / "stest1.txt")) is True
assert os.path.isfile(str(ex1 / "stest2.txt")) is True

rf.extract('stest1.txt', str(ex2))
assert os.path.isfile(str(ex2 / 'stest1.txt')) is True
assert os.path.isfile(str(ex2 / 'stest2.txt')) is False
rf.extract("stest1.txt", str(ex2))
assert os.path.isfile(str(ex2 / "stest1.txt")) is True
assert os.path.isfile(str(ex2 / "stest2.txt")) is False

inf = rf.getinfo('stest2.txt')
inf = rf.getinfo("stest2.txt")
rf.extract(inf, str(ex3))
assert os.path.isfile(str(ex3 / 'stest1.txt')) is False
assert os.path.isfile(str(ex3 / 'stest2.txt')) is True
assert os.path.isfile(str(ex3 / "stest1.txt")) is False
assert os.path.isfile(str(ex3 / "stest2.txt")) is True


def get_rftype(h):
Expand All @@ -248,7 +248,7 @@ def test_infocb():
def info_cb(info):
infos.append((info.type, info.needs_password(), get_rftype(info), info._must_disable_hack()))

rf = rarfile.RarFile('test/files/seektest.rar', info_callback=info_cb)
rf = rarfile.RarFile("test/files/seektest.rar", info_callback=info_cb)
assert infos == [
(rarfile.RAR_BLOCK_MAIN, False, "---", False),
(rarfile.RAR_BLOCK_FILE, False, "F--", False),
Expand All @@ -257,7 +257,7 @@ def info_cb(info):
rf.close()

infos = []
rf = rarfile.RarFile('test/files/rar5-solid-qo.rar', info_callback=info_cb)
rf = rarfile.RarFile("test/files/rar5-solid-qo.rar", info_callback=info_cb)
assert infos == [
(rarfile.RAR_BLOCK_MAIN, False, "---", True),
(rarfile.RAR_BLOCK_FILE, False, "F--", False),
Expand All @@ -271,7 +271,7 @@ def info_cb(info):

# pylint: disable=singleton-comparison
def test_rarextfile():
with rarfile.RarFile('test/files/seektest.rar') as rf:
with rarfile.RarFile("test/files/seektest.rar") as rf:
for fn in ("stest1.txt", "stest2.txt"):
with rf.open(fn) as f:
assert f.tell() == 0
Expand Down
2 changes: 1 addition & 1 deletion test/test_compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def compare(rmaincls, zmaincls):
for name, zval in znames.items():
if not inspect.isroutine(zval) or name[0] == "_" or name in _ignore:
continue
assert name in rnames, "member not found: '%s'" % name
assert name in rnames, "member not found: \"%s\"" % name

rval = rnames[name]
zsig = inspect.signature(zval)
Expand Down
16 changes: 8 additions & 8 deletions test/test_crypto.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,25 @@ def aes_encrypt(key, iv, data):

@pytest.mark.skipif(not rarfile._have_crypto, reason="No crypto")
def test_aes128_cbc():
data = b'0123456789abcdef' * 2
key = b'\x02' * 16
iv = b'\x80' * 16
data = b"0123456789abcdef" * 2
key = b"\x02" * 16
iv = b"\x80" * 16

#encdata = aes_encrypt(key, iv, data)
encdata = unhexlify('4b0d438b4a1b972bd4ab81cd64674dcce4b0158090fbe616f455354284d53502')
encdata = unhexlify("4b0d438b4a1b972bd4ab81cd64674dcce4b0158090fbe616f455354284d53502")

ctx = rarfile.AES_CBC_Decrypt(key, iv)
assert ctx.decrypt(encdata) == data


@pytest.mark.skipif(not rarfile._have_crypto, reason="No crypto")
def test_aes256_cbc():
data = b'0123456789abcdef' * 2
key = b'\x52' * 32
iv = b'\x70' * 16
data = b"0123456789abcdef" * 2
key = b"\x52" * 32
iv = b"\x70" * 16

#encdata = aes_encrypt(key, iv, data)
encdata = unhexlify('24988f387592e4d95b6eaab013137a221f81b25aa7ecde0ef4f4d7a95f92c250')
encdata = unhexlify("24988f387592e4d95b6eaab013137a221f81b25aa7ecde0ef4f4d7a95f92c250")

ctx = rarfile.AES_CBC_Decrypt(key, iv)
assert ctx.decrypt(encdata) == data
Expand Down
Loading

0 comments on commit c9e603b

Please sign in to comment.