Exemplo n.º 1
0
 def test_directory_multiple_files_one_archive(self):
   from detail.archive import ZipArchive
   arch = ZipArchive(
       os.path.join(test_dir_path, 'multiple files - one archive.zip')
   )
   self.assertEqual(
       arch.namelist(),
       [
           'multiple files - one archive/a.txt',
           'multiple files - one archive/b.txt',
           'multiple files - one archive/c.txt',
           'multiple files - one archive/d.txt',
           'multiple files - one archive/e.txt',
       ]
   )
   arch.extractall(self.temp_path)
   result_struct = [x for x in os.walk(self.temp_path)]
   result_struct[1][2].sort()
       # may be not sorted for some reason (found on drone.io server)
   self.assertEqual(
       result_struct,
       [
           ('./__tmp_testing__', ['multiple files - one archive'], []),
           (
               './__tmp_testing__/multiple files - one archive',
               [],
               ['a.txt', 'b.txt', 'c.txt', 'd.txt', 'e.txt']
           )
       ]
   )
Exemplo n.º 2
0
 def test_one_file_one_archive(self):
   from detail.archive import ZipArchive
   arch = ZipArchive(
       os.path.join(test_dir_path, 'one file - one archive.zip')
   )
   self.assertEqual(arch.namelist(), ['a.txt'])
   arch.extractall(self.temp_path)
   self.assertEqual(
       [x for x in os.walk(self.temp_path)],
       [('./__tmp_testing__', [], ['a.txt'])]
   )
Exemplo n.º 3
0
 def test_one_directory_with_files(self):
   from detail.archive import ZipArchive
   from detail.archive import Archive
   arch = ZipArchive(
       os.path.join(test_dir_path, 'one directory with files.zip')
   )
   top_file, top_dir = Archive.check_has_only_one_top(arch.raw_namelist())
   self.assertEqual(top_file, '')
   self.assertEqual(top_dir, 'dir', arch.raw_namelist())
   self.assertEqual(arch.separate_directory, '')
   self.assertEqual(
       arch.namelist(),
       [
           'dir/',
           'dir/a.txt',
           'dir/b.txt',
           'dir/c.txt',
           'dir/d.txt',
           'dir/e.txt'
       ]
   )
   arch.extractall(self.temp_path)
   result_struct = [x for x in os.walk(self.temp_path)]
   result_struct[1][2].sort()
       # may be not sorted for some reason (found on drone.io server)
   self.assertEqual(
       result_struct,
       [
           ('./__tmp_testing__', ['dir'], []),
           (
               './__tmp_testing__/dir',
               [],
               ['a.txt', 'b.txt', 'c.txt', 'd.txt', 'e.txt']
           )
       ]
   )
Exemplo n.º 4
0
  def test_directory_tree(self):
    from detail.archive import ZipArchive
    """archive consist of two directories, check new prefix directory added"""
    arch = ZipArchive(
        os.path.join(test_dir_path, 'directory tree.zip')
    )
    self.assertEqual(
        arch.namelist(),
        [
            'directory tree/dir1/',
            'directory tree/dir1/a.txt',
            'directory tree/dir1/b.txt',
            'directory tree/dir1/c.txt',
            'directory tree/dir1/d.txt',
            'directory tree/dir1/e.txt',
            'directory tree/dir2/',
            'directory tree/dir2/a.txt',
            'directory tree/dir2/b.txt',
            'directory tree/dir2/c.txt',
            'directory tree/dir2/d.txt',
            'directory tree/dir2/e.txt'
        ]
    )
    arch.extractall(self.temp_path)
    result_struct = [x for x in os.walk(self.temp_path)]
    self.assertEqual(
        result_struct[0],
        ('./__tmp_testing__', ['directory tree'], [])
    )
    del result_struct[0]

    result_struct[0][1].sort()
        # may be not sorted for some reason (found on drone.io server)
    self.assertEqual(
        result_struct[0],
        ('./__tmp_testing__/directory tree', ['dir1', 'dir2'], [])
    )
    del result_struct[0]

    result_struct.sort()
    result_struct[0][2].sort()
    self.assertEqual(
        result_struct[0],
        (
            './__tmp_testing__/directory tree/dir1',
            [],
            ['a.txt', 'b.txt', 'c.txt', 'd.txt', 'e.txt']
        )
    )
    del result_struct[0]

    result_struct[0][2].sort()
    self.assertEqual(
        result_struct,
        [
            (
                './__tmp_testing__/directory tree/dir2',
                [],
                ['a.txt', 'b.txt', 'c.txt', 'd.txt', 'e.txt']
            )
        ]
    )