当前位置: 首页>>代码示例>>Python>>正文


Python yum.YumProfiler类代码示例

本文整理汇总了Python中pulp_rpm.plugins.profilers.yum.YumProfiler的典型用法代码示例。如果您正苦于以下问题:Python YumProfiler类的具体用法?Python YumProfiler怎么用?Python YumProfiler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了YumProfiler类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_install_units

 def test_install_units(self):
     repo_id = "test_repo_id"
     errata_obj = self.get_test_errata_object()
     errata_unit = Unit(TYPE_ID_ERRATA, {"id":errata_obj["id"]}, errata_obj, None)
     existing_units = [errata_unit]
     test_repo = profiler_mocks.get_repo(repo_id)
     conduit = profiler_mocks.get_profiler_conduit(existing_units=existing_units,
                                                   repo_bindings=[test_repo])
     example_errata = {"unit_key":errata_unit.unit_key, "type_id":TYPE_ID_ERRATA}
     prof = YumProfiler()
     translated_units  = prof.install_units(self.test_consumer, [example_errata], None, None,
                                            conduit)
     # check repo_id passed to the conduit get_units()
     self.assertEqual(conduit.get_units.call_args[0][0].id, repo_id)
     # check unit association criteria passed to the conduit get_units()
     self.assertEqual(conduit.get_units.call_args[0][1].type_ids, [TYPE_ID_ERRATA])
     self.assertEqual(conduit.get_units.call_args[0][1].unit_filters, errata_unit.unit_key)
     # validate translated units
     self.assertEqual(len(translated_units), 2)
     expected = []
     for r in prof._get_rpms_from_errata(errata_unit):
         expected_name = "%s-%s:%s-%s.%s" % (r["name"], r["epoch"], r["version"], r["release"],
                                             r["arch"])
         expected.append(expected_name)
     for u in translated_units:
         rpm_name = u["unit_key"]["name"]
         self.assertTrue(rpm_name in expected)
开发者ID:bechtoldt,项目名称:pulp_rpm,代码行数:27,代码来源:test_plugins_profilers_yum.py

示例2: test_update_profile_presorted_profile

    def test_update_profile_presorted_profile(self):
        """
        Test the update_profile() method with a presorted profile. It should not alter it at all.
        """
        profile = [
            {'name': 'Package A', 'epoch': 0, 'version': '1.0.1', 'release': '2.el6',
             'arch': 'x86_64', 'vendor': 'Red Hat, Inc.'},
            {'name': 'Package A', 'epoch': 0, 'version': '1.1.0', 'release': '1.el6',
             'arch': 'x86_64', 'vendor': 'Red Hat, Inc.'},
            {'name': 'Package B', 'epoch': 0, 'version': '2.3.9', 'release': '1.el6',
             'arch': 'x86_64', 'vendor': 'Red Hat, Inc.'},
            {'name': 'Package B', 'epoch': 1, 'version': '1.2.1', 'release': '8.el6',
             'arch': 'x86_64', 'vendor': 'Red Hat, Inc.'},
            {'name': 'Package C', 'epoch': 0, 'version': '1.0.0', 'release': '1.el6',
             'arch': 'x86_64', 'vendor': 'Red Hat, Inc.'},
            {'name': 'Package C', 'epoch': 0, 'version': '1.0.0', 'release': '2.el6',
             'arch': 'x86_64', 'vendor': 'Red Hat, Inc.'},
        ]
        profiler = YumProfiler()

        # The update_profile() method doesn't use any of the args except for profile and
        # content_type, so we'll just pass in strings for the others
        new_profile = profiler.update_profile('consumer', TYPE_ID_RPM, deepcopy(profile), 'config')

        self.assertEqual(new_profile, profile)
开发者ID:BrnoPCmaniak,项目名称:pulp_rpm,代码行数:25,代码来源:test_yum.py

示例3: test_install_units_with_rpms

    def test_install_units_with_rpms(self):
        """
        Make sure install_units() can handle being given RPMs.
        """
        rpms = [{"name": "rpm_1", "type_id": TYPE_ID_RPM}, {"name": "rpm_2", "type_id": TYPE_ID_RPM}]
        profiler = YumProfiler()

        translated_units = profiler.install_units("consumer", deepcopy(rpms), None, None, "conduit")

        # The RPMs should be unaltered
        self.assertEqual(translated_units, rpms)
开发者ID:,项目名称:,代码行数:11,代码来源:

示例4: test_unit_applicable_false

    def test_unit_applicable_false(self):
        rpm_unit_key = self.create_profile_entry("bla-bla", 0, "0.1", "2", "x86_64", "Test Vendor")
        rpm_unit = Unit(TYPE_ID_RPM, rpm_unit_key, {}, None)
        test_repo = profiler_mocks.get_repo("test_repo_id")
        conduit = profiler_mocks.get_profiler_conduit(repo_units=[rpm_unit], repo_bindings=[test_repo])

        prof = YumProfiler()
        unit_profile = self.test_consumer.profiles[TYPE_ID_RPM]
        bound_repo_id = "test_repo_id"
        report_list = prof.calculate_applicable_units(unit_profile, bound_repo_id, None, conduit)
        self.assertEqual(report_list, {TYPE_ID_RPM: [], TYPE_ID_ERRATA: []})
开发者ID:,项目名称:,代码行数:11,代码来源:

示例5: test_rpm_applicable_to_consumer

    def test_rpm_applicable_to_consumer(self):
        rpm = {}
        prof = YumProfiler()
        applicable = prof._is_rpm_applicable(rpm, {})
        self.assertEqual(applicable, False)

        # Test with newer RPM
        # The consumer has already been configured with a profile containing 'emoticons'
        rpm = self.create_profile_entry("emoticons", 0, "0.1", "2", "x86_64", "Test Vendor")
        applicable = prof._is_rpm_applicable(rpm, self.test_consumer_lookup)
        self.assertTrue(applicable)
开发者ID:BrnoPCmaniak,项目名称:pulp_rpm,代码行数:11,代码来源:test_yum.py

示例6: test_update_profile_with_errata

    def test_update_profile_with_errata(self):
        """
        Test the update_profile() method with a presorted profile. It should not alter it at all.
        """
        profile = ["one_errata", "two_errata", "three_errata", "four_errata"]
        profiler = YumProfiler()

        # The update_profile() method doesn't use any of the args except for profile and
        # content_type, so we'll just pass in strings for the others
        # This test just asserts that the profile is returned unaltered
        new_profile = profiler.update_profile("consumer", TYPE_ID_ERRATA, deepcopy(profile), "config")

        self.assertEqual(new_profile, profile)
开发者ID:,项目名称:,代码行数:13,代码来源:

示例7: test_unit_applicable_true

    def test_unit_applicable_true(self):
        rpm_unit_key = self.create_profile_entry("emoticons", 0, "0.1", "2", "x86_64", "Test Vendor")
        rpm_unit = Unit(TYPE_ID_RPM, rpm_unit_key, {}, None)
        # Let's give it an id, so we can assert for it later
        rpm_unit.id = "a_test_id"
        test_repo = profiler_mocks.get_repo("test_repo_id")
        conduit = profiler_mocks.get_profiler_conduit(repo_units=[rpm_unit], repo_bindings=[test_repo])

        prof = YumProfiler()
        unit_profile = self.test_consumer.profiles[TYPE_ID_RPM]
        bound_repo_id = "test_repo_id"
        report_list = prof.calculate_applicable_units(unit_profile, bound_repo_id, None, conduit)
        self.assertEqual(report_list, {TYPE_ID_RPM: [rpm_unit.id], TYPE_ID_ERRATA: []})
开发者ID:,项目名称:,代码行数:13,代码来源:

示例8: test_install_units_with_rpms

    def test_install_units_with_rpms(self):
        """
        Make sure install_units() can handle being given RPMs.
        """
        rpms = [{'name': 'rpm_1', 'type_id': TYPE_ID_RPM},
                {'name': 'rpm_2', 'type_id': TYPE_ID_RPM}]
        profiler = YumProfiler()

        translated_units = profiler.install_units('consumer', deepcopy(rpms), None, None,
                                                  'conduit')

        # The RPMs should be unaltered
        self.assertEqual(translated_units, rpms)
开发者ID:BrnoPCmaniak,项目名称:pulp_rpm,代码行数:13,代码来源:test_yum.py

示例9: test_unit_applicable_updated_rpm_already_installed

    def test_unit_applicable_updated_rpm_already_installed(self):
        # Errata refers to RPMs already installed, i.e. the consumer has these exact NEVRA already
        errata_obj = self.get_test_errata_object()
        errata_unit = Unit(TYPE_ID_ERRATA, {"id": errata_obj["id"]}, errata_obj, None)
        test_repo = profiler_mocks.get_repo("test_repo_id")

        prof = YumProfiler()
        errata_rpms = prof._get_rpms_from_errata(errata_unit)
        conduit = profiler_mocks.get_profiler_conduit(repo_units=[errata_unit],
                                                      repo_bindings=[test_repo],
                                                      errata_rpms=errata_rpms)
        unit_profile = self.test_consumer_been_updated.profiles[TYPE_ID_RPM]
        bound_repo_id = "test_repo_id"
        report_list = prof.calculate_applicable_units(unit_profile, bound_repo_id, None, conduit)
        self.assertEqual(report_list, {TYPE_ID_RPM: [], TYPE_ID_ERRATA: []})
开发者ID:BrnoPCmaniak,项目名称:pulp_rpm,代码行数:15,代码来源:test_yum.py

示例10: test_unit_applicable_false

    def test_unit_applicable_false(self):
        # Errata refers to RPMs which are NOT part of our test consumer's profile
        errata_obj = self.get_test_errata_object_unrelated()
        errata_unit = Unit(TYPE_ID_ERRATA, {"id": errata_obj["id"]}, errata_obj, None)
        test_repo = profiler_mocks.get_repo("test_repo_id")

        prof = YumProfiler()
        errata_rpms = prof._get_rpms_from_errata(errata_unit)
        conduit = profiler_mocks.get_profiler_conduit(repo_units=[errata_unit],
                                                      repo_bindings=[test_repo],
                                                      errata_rpms=errata_rpms)
        unit_profile = self.test_consumer.profiles[TYPE_ID_RPM]
        bound_repo_id = "test_repo_id"
        report_list = prof.calculate_applicable_units(unit_profile, bound_repo_id, None, conduit)
        self.assertEqual(report_list, {TYPE_ID_ERRATA: [], TYPE_ID_RPM: []})
开发者ID:BrnoPCmaniak,项目名称:pulp_rpm,代码行数:15,代码来源:test_yum.py

示例11: test_rpm_applicable_with_profile_containing_duplicate_packages

 def test_rpm_applicable_with_profile_containing_duplicate_packages(self):
     """
     If a consumer profile contains multiple rpms with same name and arch (eg. in case of
     kernel rpms), make sure that the applicability calculations take into consideration
     the newest rpm installed.
     """
     consumer_profile = self.get_test_profile_with_duplicate_packages()
     test_consumer_lookup = YumProfiler._form_lookup_table(consumer_profile[TYPE_ID_RPM])
     rpm = self.create_profile_entry("patb", 0, "0.0.2", "1", "x86_64", "Test Vendor")
     yum_profiler = YumProfiler()
     applicable = yum_profiler._is_rpm_applicable(rpm, test_consumer_lookup)
     self.assertFalse(applicable)
     newer_rpm = self.create_profile_entry("patb", 0, "0.0.3", "1", "x86_64", "Test Vendor")
     applicable = yum_profiler._is_rpm_applicable(newer_rpm, test_consumer_lookup)
     self.assertTrue(applicable)
开发者ID:BrnoPCmaniak,项目名称:pulp_rpm,代码行数:15,代码来源:test_yum.py

示例12: test_unit_applicable_same_name_diff_arch

    def test_unit_applicable_same_name_diff_arch(self):
        # Errata refers to RPMs that are x86_64, the test consumer is i386
        # the rpms installed share the same name as the errata, but the client arch is different
        # so this errata is marked as unapplicable
        errata_obj = self.get_test_errata_object()
        errata_unit = Unit(TYPE_ID_ERRATA, {"id": errata_obj["id"]}, errata_obj, None)
        test_repo = profiler_mocks.get_repo("test_repo_id")

        prof = YumProfiler()
        errata_rpms = prof._get_rpms_from_errata(errata_unit)
        conduit = profiler_mocks.get_profiler_conduit(repo_units=[errata_unit],
                                                      repo_bindings=[test_repo],
                                                      errata_rpms=errata_rpms)
        unit_profile = self.test_consumer_i386.profiles[TYPE_ID_RPM]
        bound_repo_id = "test_repo_id"
        report_list = prof.calculate_applicable_units(unit_profile, bound_repo_id, None, conduit)
        self.assertEqual(report_list, {TYPE_ID_RPM: [], TYPE_ID_ERRATA: []})
开发者ID:BrnoPCmaniak,项目名称:pulp_rpm,代码行数:17,代码来源:test_yum.py

示例13: test_install_units

    def test_install_units(self):
        """
        Verify that all available packages in the erratum are installed

        In this test, there are two packages in the erratum, and both are
        available to the consumer. Thus, both should be installed.
        """
        repo_id = "test_repo_id"
        errata_obj = self.get_test_errata_object()
        errata_unit = Unit(TYPE_ID_ERRATA, {"id": errata_obj["id"]}, errata_obj, None)
        existing_units = [errata_unit]
        test_repo = profiler_mocks.get_repo(repo_id)

        # create two RPM units that match what is in the erratum
        rpm_units = []
        rpm_unit_key_1 = self.create_profile_entry("emoticons", 0, "0.1", "2", "x86_64",
                                                   "Test Vendor")
        rpm_units.append(Unit(TYPE_ID_RPM, rpm_unit_key_1, {}, None))

        rpm_unit_key_2 = self.create_profile_entry("patb", 0, "0.1", "2", "x86_64", "Test Vendor")
        rpm_units.append(Unit(TYPE_ID_RPM, rpm_unit_key_2, {}, None))

        existing_units += rpm_units

        conduit = profiler_mocks.get_profiler_conduit(existing_units=existing_units,
                                                      repo_bindings=[test_repo],
                                                      repo_units=rpm_units)

        example_errata = {"unit_key": errata_unit.unit_key, "type_id": TYPE_ID_ERRATA}
        prof = YumProfiler()
        translated_units = prof.install_units(self.test_consumer, [example_errata], None, None,
                                              conduit)
        # check repo_id passed to the conduit get_units()
        self.assertEqual(conduit.get_units.call_args[0][0].id, repo_id)
        # check unit association criteria passed to the conduit get_units()
        self.assertEqual(conduit.get_units.call_args_list[0][0][1].type_ids, [TYPE_ID_ERRATA])
        self.assertEqual(conduit.get_units.call_args_list[0][0][1].unit_filters,
                         errata_unit.unit_key)
        # validate translated units
        self.assertEqual(len(translated_units), 2)
        expected = prof._get_rpms_from_errata(errata_unit)
        for u in translated_units:
            rpm_unit_key = u["unit_key"]
            self.assertTrue(rpm_unit_key in expected)
开发者ID:msutter,项目名称:pulp_rpm,代码行数:44,代码来源:test_yum.py

示例14: test_form_lookup_table

 def test_form_lookup_table(self):
     """
     Test that form_lookup_table creates a table with the latest rpm in the profile as a value
     corresponding to the rpm name and arch.
     """
     test_profile = self.get_test_profile_with_duplicate_packages()
     consumer_lookup = YumProfiler._form_lookup_table(test_profile[TYPE_ID_RPM])
     self.assertEqual(len(consumer_lookup), 2)
     self.assertEqual(consumer_lookup['patb x86_64'],
                      self.create_profile_entry("patb", 0, "0.0.2", "1", "x86_64", "Test Vendor"))
开发者ID:asmacdo,项目名称:pulp_rpm,代码行数:10,代码来源:test_yum.py

示例15: test_create_nevra

    def test_create_nevra(self):
        rpm = {'name': "foo",
               'epoch': 0,
               'version': '1',
               'release': '5',
               'arch': '8088',
               'extra_field': 'extra'}

        result = YumProfiler._create_nevra(rpm)
        self.assertEquals(result, {'name': 'foo', 'epoch': '0', 'version': '1',
                                   'release': '5', 'arch': '8088'})
开发者ID:BrnoPCmaniak,项目名称:pulp_rpm,代码行数:11,代码来源:test_yum.py


注:本文中的pulp_rpm.plugins.profilers.yum.YumProfiler类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。