def upload_dummy_package(self, config):
     filename = "my-app-0.1-linux-ubuntu-xenial-x64.deb"
     write_file(filename, "")
     sync._upload_file('127.0.0.1', config.ftpserver.port,
                       config.ftpserver.username, config.ftpserver.password,
                       'main-stable', filename)
     return filename
    def test_consume_file(self):
        indexer = vmware_studio_updates.VmwareStudioUpdatesIndexer(
            self.config, INDEX)
        indexer.initialise()
        src = 'host-power-tools-for-vmware-1.6.13-vmware-esx-x86_OVF10_UPDATE_ZIP.zip'
        dst = path.join(indexer.base_directory, 'host-power-tools-for-vmware')
        utils.write_file(src, '')
        with mock.patch.object(
                vmware_studio_updates,
                'log_execute_assert_success') as log_execute_assert_success:
            indexer.consume_file(src, '', '')
        self.assertTrue(
            path.exists(
                path.join(indexer.base_directory,
                          'host-power-tools-for-vmware', src)))
        log_execute_assert_success.assert_called_with(
            ['unzip', '-qq', '-o',
             path.join(dst, src), '-d', dst])

        src = 'host-power-tools-for-vmware-1.7.4-vmware-esx-x86_OVF10_UPDATE_ZIP.zip'
        utils.write_file(src, '')
        with mock.patch.object(
                vmware_studio_updates,
                'log_execute_assert_success') as log_execute_assert_success:
            indexer.consume_file(src, '', '')
        log_execute_assert_success.assert_called_with(
            ['unzip', '-qq', '-o',
             path.join(dst, src), '-d', dst])

        src = 'host-power-tools-for-vmware-1.7.3-vmware-esx-x86_OVF10_UPDATE_ZIP.zip'
        utils.write_file(src, '')
        with mock.patch.object(
                vmware_studio_updates,
                'log_execute_assert_success') as log_execute_assert_success:
            indexer.consume_file(src, '', '')
        log_execute_assert_success.assert_not_called()

        self.assertTrue(
            "1.7.4" in indexer._get_latest_update_file_in_directory(
                path.join(indexer.base_directory,
                          'host-power-tools-for-vmware')))
Exemple #3
0
    def rebuild_index(self):
        packages = []
        for package in self._iter_packages():
            releases = []
            for release in sorted(self._iter_releases(package), reverse=True, key=lambda release: parse_version(release['version'])):
                release['distributions'] = list(self._iter_distributions(package, release))
                if not release['distributions']:
                    continue
                releases.append(release)
            write_file(path.join(package['abspath'], 'releases.json'), encode(releases, indent=4, large_object=True))

            latest_release = self._get_latest_release(releases)
            latest_release_txt = path.join(package['abspath'], 'latest_release.txt')
            if latest_release:
                package['latest_version'] = latest_release['version']
                package['installation_instructions'] = self._get_installation_instructions(package, latest_release)
                packages.append(package)
                write_file(latest_release_txt, latest_release['version'])
            elif path.exists(latest_release_txt):
                remove(latest_release_txt)
        sorted_packages = sorted(packages, key=lambda package: package['product_name'])
        write_file(path.join(self.base_directory, 'packages.json'), encode(sorted_packages, indent=4, large_object=True))
Exemple #4
0
    def rebuild_index(self):
        packages = []
        log_execute_assert_success([
            'find', self.base_directory, '-type', 'd', '-empty', '-print',
            '-delete'
        ])
        for package in self._iter_packages():
            releases = []
            for release in sorted(
                    self._iter_releases(package),
                    reverse=True,
                    key=lambda release: parse_version(release['version'])):
                release['distributions'] = list(
                    self._iter_distributions(package, release))
                if not release['distributions']:
                    continue
                releases.append(release)
            write_file(path.join(package['abspath'], 'releases.json'),
                       encode(releases, indent=4, large_object=True))

            latest_release = self._get_latest_release(releases)
            latest_release_txt = path.join(package['abspath'],
                                           'latest_release.txt')
            if latest_release:
                package['latest_version'] = latest_release['version']
                package['latest_version_release_date'] = latest_release[
                    'release_date']
                package[
                    'installation_instructions'] = self._get_installation_instructions(
                        package, latest_release)

                packages.append(package)
                write_file(latest_release_txt, latest_release['version'])
            elif path.exists(latest_release_txt):
                remove(latest_release_txt)
        sorted_packages = sorted(packages,
                                 key=lambda package: package['product_name'])
        write_file(path.join(self.base_directory, 'packages.json'),
                   encode(sorted_packages, indent=4, large_object=True))
    def test_consume_file(self):
        indexer = vmware_studio_updates.VmwareStudioUpdatesIndexer(self.config, INDEX)
        indexer.initialise()
        src = 'host-power-tools-for-vmware-1.6.13-vmware-esx-x86_OVF10_UPDATE_ZIP.zip'
        dst = path.join(indexer.base_directory, 'host-power-tools-for-vmware')
        utils.write_file(src, '')
        with mock.patch.object(vmware_studio_updates, 'log_execute_assert_success') as log_execute_assert_success:
            indexer.consume_file(src, '', '')
        self.assertTrue(path.exists(path.join(indexer.base_directory, 'host-power-tools-for-vmware', src)))
        log_execute_assert_success.assert_called_with(['unzip', '-qq', '-o', path.join(dst, src), '-d', dst])

        src = 'host-power-tools-for-vmware-1.7.4-vmware-esx-x86_OVF10_UPDATE_ZIP.zip'
        utils.write_file(src, '')
        with mock.patch.object(vmware_studio_updates, 'log_execute_assert_success') as log_execute_assert_success:
            indexer.consume_file(src, '', '')
        log_execute_assert_success.assert_called_with(['unzip', '-qq', '-o', path.join(dst, src), '-d', dst])

        src = 'host-power-tools-for-vmware-1.7.3-vmware-esx-x86_OVF10_UPDATE_ZIP.zip'
        utils.write_file(src, '')
        with mock.patch.object(vmware_studio_updates, 'log_execute_assert_success') as log_execute_assert_success:
            indexer.consume_file(src, '', '')
        log_execute_assert_success.assert_not_called()

        self.assertTrue("1.7.4" in indexer._get_latest_update_file_in_directory(path.join(indexer.base_directory, 'host-power-tools-for-vmware')))
Exemple #6
0
 def upload_dummy_package(self, config):
     filename =  "my-app-0.1-linux-ubuntu-natty-x64.deb"
     write_file(filename, "")
     sync._upload_file('127.0.0.1', config.ftpserver.port, config.ftpserver.username, config.ftpserver.password,
                       'main-stable', filename)
     return filename