Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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)
Exemple #4
0
    def test_update_profile_sorts_profile(self):
        """
        Test that the update_profile() method sorts the profile.
        """
        profile = [
            {
                'name': 'Package A',
                'epoch': 0,
                'version': '1.0.1',
                'release': '2.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.'
            },
            {
                'name': 'Package A',
                'epoch': 0,
                'version': '1.1.0',
                '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 B',
                'epoch': 0,
                'version': '2.3.9',
                'release': '1.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')

        expected_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.'
            },
        ]
        self.assertEqual(new_profile, expected_profile)
Exemple #5
0
    def test_update_profile_sorts_profile(self):
        """
        Test that the update_profile() method sorts the profile.
        """
        profile = [
            {
                "name": "Package A",
                "epoch": 0,
                "version": "1.0.1",
                "release": "2.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.",
            },
            {
                "name": "Package A",
                "epoch": 0,
                "version": "1.1.0",
                "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 B",
                "epoch": 0,
                "version": "2.3.9",
                "release": "1.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")

        expected_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.",
            },
        ]
        self.assertEqual(new_profile, expected_profile)