Exemple #1
0
 def unpack(self, unpackdir) -> None:
     pkgs_abs_path = glob.glob(os.path.join(self._downloaddir, '*.deb'))
     for pkg in pkgs_abs_path:
         sources.Deb(None, None).provision(unpackdir,
                                           src=pkg,
                                           clean_target=False,
                                           keep_deb=True)
     self.normalize(unpackdir)
Exemple #2
0
    def test_pull_debfile_must_download_and_extract(self):
        dest_dir = 'src'
        os.makedirs(dest_dir)
        deb_file_name = 'test.deb'
        source = 'http://{}:{}/{file_name}'.format(*self.server.server_address,
                                                   file_name=deb_file_name)
        deb_source = sources.Deb(source, dest_dir)

        deb_source.pull()

        self.mock_deb.assert_called_once_with(
            os.path.join(deb_source.source_dir, deb_file_name))
Exemple #3
0
    def test_extract_and_keep_debfile(self):
        deb_file_name = 'test.deb'
        source = 'http://{}:{}/{file_name}'.format(*self.server.server_address,
                                                   file_name=deb_file_name)
        dest_dir = os.path.abspath(os.curdir)
        deb_source = sources.Deb(source, dest_dir)

        deb_source.download()
        deb_source.provision(dst=dest_dir, keep_deb=True)

        deb_download = os.path.join(deb_source.source_dir, deb_file_name)
        self.mock_deb.assert_called_once_with(
            os.path.join(deb_source.source_dir, deb_file_name))

        with open(deb_download, 'r') as deb_file:
            self.assertEqual('Test fake compressed file', deb_file.read())
Exemple #4
0
    def test_extract_and_keep_debfile(self):
        deb_file_name = "test.deb"
        source = "http://{}:{}/{file_name}".format(*self.server.server_address,
                                                   file_name=deb_file_name)
        dest_dir = os.path.abspath(os.curdir)
        deb_source = sources.Deb(source, dest_dir)

        deb_source.download()
        deb_source.provision(dst=dest_dir, keep_deb=True)

        deb_download = os.path.join(deb_source.source_dir, deb_file_name)
        self.mock_ar.assert_called_once_with(
            os.path.join(deb_source.source_dir, deb_file_name))

        with open(deb_download, "r") as deb_file:
            self.assertThat(deb_file.read(), Equals("Test fake file"))
Exemple #5
0
    def test_invalid_deb(self):
        self.mock_ar.return_value.getnames.return_value = [
            'control.tar.gz', 'debian-binary'
        ]

        deb_file_name = 'test.deb'
        source = 'http://{}:{}/{file_name}'.format(*self.server.server_address,
                                                   file_name=deb_file_name)
        dest_dir = os.path.abspath(os.curdir)
        deb_source = sources.Deb(source, dest_dir)

        deb_source.download()

        self.assertRaises(sources.errors.InvalidDebError,
                          deb_source.provision,
                          dst=dest_dir,
                          keep_deb=True)