def test_deep_nesting(self): nesting_levels = [ os.path.join('test'), os.path.join('test', 'dir1'), os.path.join('test', 'dir2'), os.path.join('test', 'dir1', 'dir1_dir1'), os.path.join('test', 'dir1', 'dir1_dir2'), os.path.join('test', 'dir1', 'dir1_dir1', 'testfile.txt'), os.path.join('test', 'dir1', 'dir1_dir2', 'testfile.txt'), os.path.join('test', 'dir2', 'dir2_dir1'), os.path.join('test', 'dir2', 'dir2_dir1', 'testfile.txt'), ] backend = PythonTarFileBackend(archive_path='test', archive_name='test', compression='') backend.readmode = False testfile = io.StringIO() testfile.write('testcontent') testfile.seek(0) backend.add_file(os.path.join('dir1', 'dir1_dir1', 'testfile.txt'), testfile) testfile.seek(0) backend.add_file(os.path.join('dir2', 'dir2_dir1', 'testfile.txt'), testfile) testfile.seek(0) backend.add_file(os.path.join('dir1', 'dir1_dir2', 'testfile.txt'), testfile) backend.close() backend.readmode = True archive = backend.read_archive() for member in archive.getmembers(): self.assertTrue(member.name in nesting_levels)
def test_bzip2_size(self): backend_uncompressed = PythonTarFileBackend( archive_path='test_uncompressed', archive_name='test_uncompressed', compression='') backend_uncompressed.readmode = False backend_bz2 = PythonTarFileBackend( archive_path='test_gz', archive_name='test_gz', compression='bz2') backend_bz2.readmode = False testfile = io.StringIO() testfile.write(lorem_ipsum) testfile.seek(0) backend_uncompressed.add_file('testfile_uncompressed.txt', testfile) backend_uncompressed.close() testfile.seek(0) backend_bz2.add_file('testfile_gz_compressed.txt', testfile) backend_bz2.close() backend_uncompressed.readmode = True backend_bz2.readmode = True self.assertTrue(backend_bz2.archive_size() < backend_uncompressed.archive_size())
def test_add_file(self): backend = PythonTarFileBackend(archive_path='test', archive_name='test', compression='') backend.readmode = False testfile = io.StringIO() testfile.write('testcontent') testfile.seek(0) backend.add_file('testfile.txt', testfile) backend.close()