示例#1
0
    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()
示例#2
0
    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())
示例#3
0
    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)