def tearDownClass(cls):
        with cls.pulp.asserting(True):
            task_reports = [repo.delete(cls.pulp) for repo, _, _ in cls.repos]
        Task.wait_for_reports(cls.pulp, task_reports)

        for consumer in cls.consumers:
            consumer.cli.unregister()
        super(CliConsumerTest, cls).tearDownClass()
示例#2
0
    def tearDownClass(cls):
        with cls.pulp.asserting(True):
            task_reports = [repo.delete(cls.pulp) for repo, _, _ in cls.repos]
        Task.wait_for_reports(cls.pulp, task_reports)

        for consumer in cls.consumers:
            consumer.cli.unregister()
        super(CliConsumerTest, cls).tearDownClass()
 def test_07_assert_nonexisten_unit_uninstall(self):
     unit = {
         'name': '__NO_SUCH_UNIT__'
     }
     rpm = RpmUnit(unit, relevant_data_keys=unit.keys())
     with self.pulp.asserting(True):
         task_reports = [consumer.uninstall_unit(self.pulp, unit, 'rpm') for consumer in self.consumers]
     Task.wait_for_reports(self.pulp, task_reports)
示例#4
0
 def test_07_assert_nonexisten_unit_uninstall(self):
     unit = {'name': '__NO_SUCH_UNIT__'}
     rpm = RpmUnit(unit, relevant_data_keys=unit.keys())
     with self.pulp.asserting(True):
         task_reports = [
             consumer.uninstall_unit(self.pulp, unit, 'rpm')
             for consumer in self.consumers
         ]
     Task.wait_for_reports(self.pulp, task_reports)
 def test_06_assert_nonexisten_unit_install(self):
     # https://bugzilla.redhat.com/show_bug.cgi?id=1062725
     # TODO parse callreport,taskreport and assert that in progress report result is false
     unit = {
         'name': '__NO_SUCH_UNIT__'
     }
     rpm = RpmUnit(unit, relevant_data_keys=unit.keys())
     with self.pulp.asserting(True):
         task_reports = [consumer.install_unit(self.pulp, unit, 'rpm') for consumer in self.consumers]
     Task.wait_for_reports(self.pulp, task_reports)
示例#6
0
 def test_06_assert_nonexisten_unit_install(self):
     # https://bugzilla.redhat.com/show_bug.cgi?id=1062725
     # TODO parse callreport,taskreport and assert that in progress report result is false
     unit = {'name': '__NO_SUCH_UNIT__'}
     rpm = RpmUnit(unit, relevant_data_keys=unit.keys())
     with self.pulp.asserting(True):
         task_reports = [
             consumer.install_unit(self.pulp, unit, 'rpm')
             for consumer in self.consumers
         ]
     Task.wait_for_reports(self.pulp, task_reports)
    def test_04_assert_unit_install(self):
        unit = {
            'name': 'zebra'
        }
        rpm = RpmUnit(unit, relevant_data_keys=unit.keys())
        with self.pulp.asserting(True):
            task_reports = [consumer.install_unit(self.pulp, unit, 'rpm') for consumer in self.consumers]
        Task.wait_for_reports(self.pulp, task_reports)

        for consumer in self.consumers:
            assert rpm in RpmUnit.list(consumer.cli), "rpm %s not installed on %s" % (rpm, consumer)
示例#8
0
    def test_04_assert_unit_install(self):
        unit = {'name': 'pike'}
        rpm = RpmUnit(unit, relevant_data_keys=unit.keys())
        with self.pulp.asserting(True):
            task_reports = [
                consumer.install_unit(self.pulp, unit, 'rpm')
                for consumer in self.consumers
            ]
        Task.wait_for_reports(self.pulp, task_reports)

        for consumer in self.consumers:
            assert rpm in RpmUnit.list(
                consumer.cli), "rpm %s not installed on %s" % (rpm, consumer)
示例#9
0
    def setUpClass(cls):
        super(CliConsumerTest, cls).setUpClass()
        # create all repos
        # get repo configs across all consumers
        repo_configs = sum([consumer.repos for consumer in ROLES.consumers],
                           [])
        # filter&uniq repo configs
        repo_configs = {
            repo.id: repo
            for repo in repo_configs if repo.type == 'rpm'
        }.values()
        with cls.pulp.asserting(True):
            cls.repos = [
                create_yum_repo(cls.pulp, **repo_config)
                for repo_config in repo_configs
            ]

        # sync&publish all repos
        with cls.pulp.asserting(True):
            task_reports = [repo.sync(cls.pulp) for repo, _, _ in cls.repos]
        Task.wait_for_reports(cls.pulp, task_reports)

        with cls.pulp.asserting(True):
            task_reports = [
                repo.publish(cls.pulp, distributor.id)
                for repo, _, distributor in cls.repos
            ]
        Task.wait_for_reports(cls.pulp, task_reports)

        # create all consumers
        # gather all consumers
        consumer_configs = {
            consumer.id: consumer
            for consumer in ROLES.consumers
        }
        with cls.pulp.asserting(True):
            cls.consumers = [
                Consumer(consumer_config)
                for consumer_config in consumer_configs.values()
            ]

        # set up consumer cli & link repos
        for consumer in cls.consumers:
            setattr(consumer, 'cli',
                    Cli.ready_instance(**consumer_configs[consumer.id]))
            setattr(
                consumer, 'repos',
                filter(
                    lambda (repo, importer, distributor):
                    any(repo.id == repo_config.id for repo_config in
                        consumer_configs[consumer.id].repos), cls.repos))
示例#10
0
    def test_02_bind_distributor(self):
        # assert binding distributor works
        # bind all repos
        with self.pulp.asserting(True):
            task_reports = [consumer.bind_distributor(self.pulp, repo.id, distributor.id) \
                             for consumer in self.consumers for repo, _, distributor in consumer.repos]

        Task.wait_for_reports(self.pulp, task_reports)

        # assert all bound repos are available on all consumer
        for consumer in self.consumers:
            rpm_repo_ids = {repo.id for repo in RpmRepo.list(consumer.cli)}
            repo_ids = {repo.id for repo, _, _ in consumer.repos}
            self.assertEqual(repo_ids, rpm_repo_ids & repo_ids, "consumer %s misses repos: %s" % \
                (consumer, (repo_ids - (rpm_repo_ids & repo_ids))))
    def test_02_bind_distributor(self):
        # assert binding distributor works
        # bind all repos
        with self.pulp.asserting(True):
           task_reports = [consumer.bind_distributor(self.pulp, repo.id, distributor.id) \
                            for consumer in self.consumers for repo, _, distributor in consumer.repos]

        Task.wait_for_reports(self.pulp, task_reports)

        # assert all bound repos are available on all consumer
        for consumer in self.consumers:
            rpm_repo_ids = {repo.id for repo in RpmRepo.list(consumer.cli)}
            repo_ids = {repo.id for repo, _, _ in consumer.repos}
            self.assertEqual(repo_ids, rpm_repo_ids & repo_ids, "consumer %s misses repos: %s" % \
                (consumer, (repo_ids - (rpm_repo_ids & repo_ids))))
    def setUpClass(cls):
        super(CliConsumerTest, cls).setUpClass()
        # create all repos
        # get repo configs across all consumers
        repo_configs = sum([consumer.repos for consumer in ROLES.consumers], [])
        # filter&uniq repo configs
        repo_configs = {repo.id: repo for repo in repo_configs if repo.type == 'rpm'}.values()
        with cls.pulp.asserting(True):
            cls.repos = [ create_yum_repo(cls.pulp, **repo_config) for repo_config in repo_configs ]

        # sync&publish all repos
        with cls.pulp.asserting(True):
            task_reports = [repo.sync(cls.pulp) for repo, _, _ in cls.repos]
        Task.wait_for_reports(cls.pulp, task_reports)

        with cls.pulp.asserting(True):
            task_reports = [ repo.publish(cls.pulp, distributor.id) for repo, _, distributor in cls.repos]
        Task.wait_for_reports(cls.pulp, task_reports)

        # create all consumers
        # gather all consumers
        consumer_configs = {consumer.id: consumer for consumer in ROLES.consumers}
        with cls.pulp.asserting(True):
            cls.consumers = [Consumer(consumer_config) for consumer_config in consumer_configs.values()]

        # set up consumer cli & link repos
        for consumer in cls.consumers:
            setattr(consumer, 'cli', Cli.ready_instance(**consumer_configs[consumer.id]))
            setattr(
                consumer,
                'repos',
                filter(
                    lambda (repo, importer, distributor): any(repo.id == repo_config.id for repo_config in consumer_configs[consumer.id].repos),
                    cls.repos
                )
            )
示例#13
0
 def test_08_unbind_repos(self):
     # assert unbinding distributors works
     with self.pulp.asserting(True):
         task_reports = [consumer.unbind_distributor(self.pulp, repo.id, distributor.id) \
                         for consumer in self.consumers for repo, _, distributor in consumer.repos]
     Task.wait_for_reports(self.pulp, task_reports)
 def test_08_unbind_repos(self):
     # assert unbinding distributors works
     with self.pulp.asserting(True):
         task_reports = [consumer.unbind_distributor(self.pulp, repo.id, distributor.id) \
                         for consumer in self.consumers for repo, _, distributor in consumer.repos]
     Task.wait_for_reports(self.pulp, task_reports)