Ejemplo n.º 1
0
    def test_pull_7z_file_must_extract(self):
        dest_dir = 'src'
        os.makedirs(dest_dir)

        seven_zip_source = sources.SevenZip(self.test_7z_file_path, dest_dir)
        seven_zip_source.pull()

        self.assertThat(set(os.listdir(dest_dir)), Equals(self._7z_test_files))
Ejemplo n.º 2
0
    def test_pull_failure(self, mock_run):
        mock_run.side_effect = subprocess.CalledProcessError(1, [])

        os.makedirs("dst")
        seven_zip = sources.SevenZip(self.test_7z_file_path, "dst")
        raised = self.assertRaises(sources.errors.SnapcraftPullError,
                                   seven_zip.pull)
        self.assertThat(raised.command, MatchesRegex("7z x .*/dst/test.7z"))
        self.assertThat(raised.exit_code, Equals(1))
Ejemplo n.º 3
0
    def test_pull_7z_file_must_extract(self):
        test_7z_file_path = os.path.join(Test7z.relative_path(), '7z',
                                         'test.7z')

        dest_dir = 'src'
        os.makedirs(dest_dir)

        seven_zip_source = sources.SevenZip(test_7z_file_path, dest_dir)
        seven_zip_source.pull()

        self.assertEqual(set(os.listdir(dest_dir)), self._7z_test_files)
Ejemplo n.º 4
0
    def test_extract_and_keep_7zfile(self):
        dest_dir = "src"
        os.makedirs(dest_dir)

        seven_zip_source = sources.SevenZip(self.test_7z_file_path, dest_dir)
        # This is the first step done by pull. We don't call pull to call the
        # second step with a different keep_7z value.
        shutil.copy2(seven_zip_source.source, seven_zip_source.source_dir)
        seven_zip_source.provision(dst=dest_dir, keep_7z=True)

        test_output_files = self._7z_test_files.union(
            {os.path.basename(self.test_7z_file_path)})
        self.assertCountEqual(set(os.listdir(dest_dir)), test_output_files)
Ejemplo n.º 5
0
    def test_extract_and_keep_7zfile(self):
        test_7z_file_name = 'test.7z'
        test_7z_file_path = os.path.join(Test7z.relative_path(), '7z',
                                         test_7z_file_name)
        dest_dir = 'src'
        os.makedirs(dest_dir)

        seven_zip_source = sources.SevenZip(test_7z_file_path, dest_dir)
        # This is the first step done by pull. We don't call pull to call the
        # second step with a different keep_7z value.
        shutil.copy2(seven_zip_source.source, seven_zip_source.source_dir)
        seven_zip_source.provision(dst=dest_dir, keep_7z=True)

        test_output_files = self._7z_test_files.union({
            test_7z_file_name,
        })
        self.assertCountEqual(set(os.listdir(dest_dir)), test_output_files)