30 lines
672 B
Python
30 lines
672 B
Python
|
import os
|
||
|
import tarfile
|
||
|
from bunker.files.bunkerfile import BunkeredFile
|
||
|
|
||
|
def test_load_from_tar(tmpdir):
|
||
|
tmpdname = str(tmpdir)
|
||
|
|
||
|
with open(os.path.join(tmpdname, "a.tx"), "wb") as f:
|
||
|
f.write(b"abcdefg")
|
||
|
with open(os.path.join(tmpdname, "b.tx"), "wb") as f:
|
||
|
f.write(b"foobar")
|
||
|
|
||
|
f = tarfile.TarFile(os.path.join(tmpdname, "test.tar"), "w")
|
||
|
|
||
|
f.add(os.path.join(tmpdname, "a.tx"))
|
||
|
f.add(os.path.join(tmpdname, "b.tx"))
|
||
|
|
||
|
f.close()
|
||
|
|
||
|
f = tarfile.TarFile(os.path.join(tmpdname, "test.tar"))
|
||
|
|
||
|
ainfo = f.next()
|
||
|
binfo = f.next()
|
||
|
|
||
|
a = BunkeredFile.from_tar(f, ainfo)
|
||
|
b = BunkeredFile.from_tar(f, binfo)
|
||
|
|
||
|
assert a.read() == b"abcdefg"
|
||
|
assert b.read() == b"foobar"
|