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"