def test_is_processable_vsftpd_installed():
    installed_rpms = [
        RPM(name='sendmail',
            version='8.14.7',
            release='5.el7',
            epoch='0',
            packager='foo',
            arch='x86_64',
            pgpsig='bar'),
        RPM(name='vsftpd',
            version='3.0.2',
            release='25.el7',
            epoch='0',
            packager='foo',
            arch='x86_64',
            pgpsig='bar'),
        RPM(name='postfix',
            version='2.10.1',
            release='7.el7',
            epoch='0',
            packager='foo',
            arch='x86_64',
            pgpsig='bar')
    ]
    installed_rpm_facts = InstalledRedHatSignedRPM(items=installed_rpms)

    res = vsftpdconfigread.is_processable(installed_rpm_facts)

    assert res is True
def test_actor_execution_with_unsigned_data(current_actor_context):
    installed_rpm = [
        RPM(name='sample02',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name='sample04',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name='sample06',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name='sample08',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig='SOME_OTHER_SIG_X')
    ]

    current_actor_context.feed(InstalledUnsignedRPM(items=installed_rpm))
    current_actor_context.run()
    assert current_actor_context.consume(CheckResult)
示例#3
0
def test_actor_execution_with_sample_data(current_actor_context):
    installed_rpm = [
        RPM(name='sample01',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig='SOME_PGP_SIG'),
        RPM(name='sample02',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig='SOME_PGP_SIG')
    ]
    current_actor_context.feed(InstalledRedHatSignedRPM(items=installed_rpm))
    current_actor_context.feed(
        RpmTransactionTasks(to_remove=[rpm.name for rpm in installed_rpm],
                            to_keep=[installed_rpm[0].name]))
    current_actor_context.run()
    result = current_actor_context.consume(FilteredRpmTransactionTasks)
    assert len(result) == 1
    assert result[0].to_keep == [installed_rpm[0].name]
    assert result[0].to_remove == [installed_rpm[1].name]
示例#4
0
def test_has_package(current_actor_context):
    installed_rpm = [
        RPM(name='sample01',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'
            ),
        RPM(name='sample02',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig='SOME_OTHER_SIG_X'),
    ]

    current_actor_context.feed(InstalledRPM(items=installed_rpm))
    current_actor_context.run(config_model=mock_configs.CONFIG)
    assert rpms.has_package(InstalledRedHatSignedRPM,
                            'sample01',
                            context=current_actor_context)
    assert not rpms.has_package(InstalledRedHatSignedRPM,
                                'nosuchpackage',
                                context=current_actor_context)
    assert rpms.has_package(InstalledUnsignedRPM,
                            'sample02',
                            context=current_actor_context)
    assert not rpms.has_package(
        InstalledUnsignedRPM, 'nosuchpackage', context=current_actor_context)
def test_x32_only(current_actor_context):
    ok_rpms = [
        RPM(name='brlapi',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager="RH_PACKAGER",
            arch='i686',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'
            ),
        RPM(name='gnome-online-accounts-devel',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager="RH_PACKAGER",
            arch='i686',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name='geocode-glib-devel',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager="RH_PACKAGER",
            arch='i686',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186'
            ),
    ]

    current_actor_context.feed(InstalledRPM(items=ok_rpms))
    current_actor_context.run()
    assert not current_actor_context.consume(Report)
def test_1_package(current_actor_context):
    pkg = 'geocode-glib-devel'
    problem_rpms = [
        RPM(name=pkg,
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager="RH_PACKAGER",
            arch='x86_64',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name=pkg,
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager="RH_PACKAGER",
            arch='i686',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186'
            )
    ]
    current_actor_context.feed(InstalledRPM(items=problem_rpms))
    current_actor_context.run()
    report = current_actor_context.consume(Report)[0].report
    assert report['title'] == (
        'Some packages have both 32bit and 64bit version installed which are known to'
        ' cause rpm transaction test to fail')
    assert {p['title'] for p in report['detail']['related_resources'] if p['scheme'] == 'package'} == \
           {'{}.i686'.format(pkg)}
示例#7
0
def test_actor_without_acpid_package(current_actor_context):
    without_acpid = [
        RPM(name='powertop',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'
            ),
        RPM(name='sed',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'
            )
    ]

    current_actor_context.feed(
        create_modulesfacts(installed_rpm=without_acpid))
    current_actor_context.run()
    assert not current_actor_context.consume(Report)
 def consume_unsigned_message_mocked(*models):
     installed_rpm = [
         RPM(name='sample02',
             version='0.1',
             release='1.sm01',
             epoch='1',
             packager=RH_PACKAGER,
             arch='noarch',
             pgpsig='SOME_OTHER_SIG_X'),
         RPM(name='sample04',
             version='0.1',
             release='1.sm01',
             epoch='1',
             packager=RH_PACKAGER,
             arch='noarch',
             pgpsig='SOME_OTHER_SIG_X'),
         RPM(name='sample06',
             version='0.1',
             release='1.sm01',
             epoch='1',
             packager=RH_PACKAGER,
             arch='noarch',
             pgpsig='SOME_OTHER_SIG_X'),
         RPM(name='sample08',
             version='0.1',
             release='1.sm01',
             epoch='1',
             packager=RH_PACKAGER,
             arch='noarch',
             pgpsig='SOME_OTHER_SIG_X')
     ]
     yield InstalledUnsignedRPM(items=installed_rpm)
示例#9
0
def test_actor_with_grep_package(current_actor_context):
    rpms = [
        RPM(name='wireshark',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'
            ),
        RPM(name='powertop',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'
            )
    ]

    current_actor_context.feed(InstalledRedHatSignedRPM(items=rpms))
    current_actor_context.run()
    assert current_actor_context.consume(Report)
def test_gpg_pubkey_pkg(current_actor_context):
    installed_rpm = [
        RPM(name='gpg-pubkey',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID aa17105e03152d37'
            ),
        RPM(name='gpg-pubkey',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager='Tester',
            arch='noarch',
            pgpsig=
            'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 9ea903b1361e896b'
            ),
    ]

    current_actor_context.feed(InstalledRPM(items=installed_rpm))
    current_actor_context.run()
    assert current_actor_context.consume(InstalledRedHatSignedRPM)
    assert len(
        current_actor_context.consume(InstalledRedHatSignedRPM)[0].items) == 1
    assert current_actor_context.consume(InstalledUnsignedRPM)
    assert len(
        current_actor_context.consume(InstalledUnsignedRPM)[0].items) == 1
示例#11
0
def test_actor_execution_with_signed_unsigned_data(current_actor_context):
    installed_rpm = [
        RPM(name='sample01', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'),
        RPM(name='sample02', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name='sample03', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186'),
        RPM(name='sample04', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name='sample05', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 938a80caf21541eb'),
        RPM(name='sample06', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name='sample07', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID fd372689897da07a'),
        RPM(name='sample08', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name='sample09', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 45689c882fa658e0')]

    current_actor_context.feed(InstalledRPM(items=installed_rpm))
    current_actor_context.run()
    assert current_actor_context.consume(InstalledRedHatSignedRPM)
    assert len(current_actor_context.consume(InstalledRedHatSignedRPM)[0].items) == 5
    assert current_actor_context.consume(InstalledUnsignedRPM)
    assert len(current_actor_context.consume(InstalledUnsignedRPM)[0].items) == 4
def test_actor_execution_with_sample_data(current_actor_context):
    installed_rpm = [
        RPM(name='sample01',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig='SOME_PGP_SIG'),
        RPM(name='sample02',
            version='0.1',
            release='1.sm01',
            epoch='1',
            packager=RH_PACKAGER,
            arch='noarch',
            pgpsig='SOME_PGP_SIG')
    ]
    modules_to_enable = [
        Module(name='enable', stream='1'),
        Module(name='enable', stream='2')
    ]
    modules_to_reset = [
        Module(name='reset', stream='1'),
        Module(name='reset', stream='2')
    ]
    current_actor_context.feed(InstalledRedHatSignedRPM(items=installed_rpm))
    current_actor_context.feed(
        RpmTransactionTasks(
            to_remove=[rpm.name for rpm in installed_rpm],
            to_keep=[installed_rpm[0].name],
            modules_to_enable=modules_to_enable,
            modules_to_reset=modules_to_reset,
        ))
    current_actor_context.feed(
        RpmTransactionTasks(
            modules_to_enable=modules_to_enable,
            modules_to_reset=modules_to_reset,
        ))
    current_actor_context.run()
    result = current_actor_context.consume(FilteredRpmTransactionTasks)
    assert len(result) == 1
    assert result[0].to_keep == [installed_rpm[0].name]
    assert result[0].to_remove == [installed_rpm[1].name]

    assert len(result[0].modules_to_enable) == 2
    assert all(m.name == 'enable' for m in result[0].modules_to_enable)
    assert '1' in {m.stream for m in result[0].modules_to_enable}
    assert '2' in {m.stream for m in result[0].modules_to_enable}

    assert len(result[0].modules_to_reset) == 2
    assert all(m.name == 'reset' for m in result[0].modules_to_reset)
    assert '1' in {m.stream for m in result[0].modules_to_reset}
    assert '2' in {m.stream for m in result[0].modules_to_reset}
示例#13
0
def process():
    output = rpms.get_installed_rpms()
    pkg_repos = get_package_repository_data()
    rpm_streams = map_modular_rpms_to_modules()

    result = InstalledRPM()
    for entry in output:
        entry = entry.strip()
        if not entry:
            continue
        name, version, release, epoch, packager, arch, pgpsig = entry.split('|')
        repository = pkg_repos.get(name, '')
        rpm_key = (name, epoch, version, release, arch)
        module, stream = rpm_streams.get(rpm_key, (None, None))
        result.items.append(RPM(
            name=name,
            version=version,
            epoch=epoch,
            packager=packager,
            arch=arch,
            release=release,
            pgpsig=pgpsig,
            repository=repository,
            module=module,
            stream=stream))
    api.produce(result)
示例#14
0
    def process(self):
        LEAPP_PACKAGES = [
            'leapp', 'leapp-repository', 'snactor',
            'leapp-repository-deps-el8', 'leapp-deps-el8', 'python2-leapp',
            'leapp-repository-sos-plugin'
        ]
        installed_rpms = get_installed_rpms()
        if not installed_rpms:
            return

        to_remove = LeftoverPackages()
        unsigned = [
            pkg.name for pkg in next(self.consume(InstalledUnsignedRPM),
                                     InstalledUnsignedRPM()).items
        ]

        for rpm in installed_rpms:
            rpm = rpm.strip()
            if not rpm:
                continue
            name, version, release, epoch, packager, arch, pgpsig = rpm.split(
                '|')

            if 'el7' in release and name not in set(unsigned + LEAPP_PACKAGES):
                to_remove.items.append(
                    RPM(name=name,
                        version=version,
                        epoch=epoch,
                        packager=packager,
                        arch=arch,
                        release=release,
                        pgpsig=pgpsig))

        self.produce(to_remove)
示例#15
0
    def process(self):
        leftover_packages = next(self.consume(LeftoverPackages), LeftoverPackages())
        if not leftover_packages.items:
            self.log.info('No leftover packages, skipping...')
            return

        installed_rpms = get_installed_rpms()

        to_remove = ['-'.join([pkg.name, pkg.version, pkg.release]) for pkg in leftover_packages.items]
        cmd = ['dnf', 'remove', '-y', '--noautoremove'] + to_remove
        if rhsm.skip_rhsm():
            # ensure we don't use suscription-manager when it should be skipped
            cmd += ['--disableplugin', 'subscription-manager']
        try:
            stdlib.run(cmd)
        except stdlib.CalledProcessError:
            error = 'Failed to remove packages: {}'.format(', '.join(to_remove))
            self.log.error(error)
            return

        removed_packages = RemovedPackages()
        removed = list(set(installed_rpms) - set(get_installed_rpms()))
        for pkg in removed:
            name, version, release, epoch, packager, arch, pgpsig = pkg.split('|')
            removed_packages.items.append(RPM(
                name=name,
                version=version,
                epoch=epoch,
                packager=packager,
                arch=arch,
                release=release,
                pgpsig=pgpsig
            ))
        self.produce(removed_packages)
def test_all_rpms_signed(current_actor_context):
    installed_rpm = [
        RPM(name='sample01', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'),
        RPM(name='sample02', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='SOME_OTHER_SIG_X'),
        RPM(name='sample03', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186'),
        RPM(name='sample04', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch',
            pgpsig='SOME_OTHER_SIG_X')
    ]

    current_actor_context.feed(InstalledRPM(items=installed_rpm))
    current_actor_context.run(config_model=mock_configs.CONFIG_ALL_SIGNED)
    assert current_actor_context.consume(InstalledRedHatSignedRPM)
    assert len(current_actor_context.consume(InstalledRedHatSignedRPM)[0].items) == 4
    assert not current_actor_context.consume(InstalledUnsignedRPM)[0].items
示例#17
0
 def consume_message_mocked(*models):
     pkgs = [
         RPM(name='original',
             epoch='',
             packager='',
             version='',
             release='',
             arch='',
             pgpsig=''),
         RPM(name='removed',
             epoch='',
             packager='',
             version='',
             release='',
             arch='',
             pgpsig='')
     ]
     yield InstalledRedHatSignedRPM(items=pkgs)
def mock_rpm(name):
    return RPM(
        name=name,
        epoch="0",
        packager="Red Hat Inc.",
        version="4.6.0",
        release="1.el7",
        arch="x86_64",
        pgpsig="dummy",
    )
def get_sample_rpm(name, repository):
    return RPM(
        name=name,
        epoch='1',
        packager='Red Hat Inc.',
        version='0.0.1',
        release='1.el7',
        arch='x86_64',
        pgpsig=
        'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM UTC, Key ID 0123456789abcdef',
        repository=repository)
def test_kernel_rpm(version_string, release_string, version, release):
    rpm = RPM(
        name='kernel',
        arch='noarch',
        version=version_string,
        release=release_string,
        epoch='0',
        packager=RH_PACKAGER,
        pgpsig='SOME_OTHER_SIG_X',
    )
    assert version == checkinstalledkernels.get_kernel_rpm_version(rpm)
    assert release == checkinstalledkernels.get_kernel_rpm_release(rpm)
 def consume_signed_rpms_mocked(*models):
     installed = [
         RPM(name='c',
             version='0.1',
             release='1.sm01',
             epoch='1',
             packager=RH_PACKAGER,
             arch='noarch',
             pgpsig=
             'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'
             )
     ]
     yield InstalledRedHatSignedRPM(items=installed)
def test_katello_pkg_goes_to_signed(current_actor_context):
    installed_rpm = [
        RPM(name='katello-ca-consumer-vm-098.example.com',
            version='1.0',
            release='1',
            epoch='(none)',
            packager='None',
            arch='noarch',
            pgpsig=''),
    ]

    current_actor_context.feed(InstalledRPM(items=installed_rpm))
    current_actor_context.run(config_model=mock_configs.CONFIG_ALL_SIGNED)
    assert current_actor_context.consume(InstalledRedHatSignedRPM)
    assert len(current_actor_context.consume(InstalledRedHatSignedRPM)[0].items) == 1
    assert not current_actor_context.consume(InstalledUnsignedRPM)[0].items
def create_rpm(
    version,
    release,
    name='kernel',
    packager=RH_PACKAGER,
    pgpsig='SOME_OTHER_SIG_X',
    epoch='0',
):
    return RPM(
        name=name,
        arch=release.split('.')[-1],
        version=version,
        release='.'.join(release.split('.')[0:-1]),
        epoch='0',
        packager=RH_PACKAGER,
        pgpsig='SOME_OTHER_SIG_X',
    )
示例#24
0
def _generate_rpm_with_name(name):
    """
    Generate new RPM model item with given name.

    Parameters:
        name (str): rpm name

    Returns:
        rpm  (RPM): new RPM object with name parameter set
    """
    return RPM(name=name,
               version='0.1',
               release='1.sm01',
               epoch='1',
               pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51',
               packager='Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>',
               arch='noarch')
示例#25
0
    def process(self):
        output = get_installed_rpms()

        result = InstalledRPM()
        for entry in output:
            entry = entry.strip()
            if not entry:
                continue
            name, version, release, epoch, packager, arch, pgpsig = entry.split('|')
            result.items.append(RPM(
                name=name,
                version=version,
                epoch=epoch,
                packager=packager,
                arch=arch,
                release=release,
                pgpsig=pgpsig))
        self.produce(result)
示例#26
0
def mocked_consume(pkgs):  # pkgs = [(name, version-number)]
    installed_rpms = []
    version = 1
    for pkg in pkgs:
        installed_rpms.append(
            RPM(name=pkg[0],
                arch='noarch',
                version=str(version),
                release='{}.sm01'.format(pkg[1]),
                epoch='0',
                packager=RH_PACKAGER,
                pgpsig='SOME_OTHER_SIG_X'))
        version += 1

    def f(*a):
        yield InstalledRedHatSignedRPM(items=installed_rpms)

    return f
示例#27
0
 def process(self):
     output = check_output([
         '/bin/rpm', '-qa', '--queryformat',
         r'%{NAME}|%{VERSION}|%{RELEASE}|%|EPOCH?{%{EPOCH}}:{}||%|ARCH?{%{ARCH}}:{}|\n'
     ]).decode('utf-8')
     result = InstalledRPM()
     for entry in output.split('\n'):
         entry = entry.strip()
         if not entry:
             continue
         name, version, release, epoch, arch = entry.split('|')
         result.items.append(
             RPM(name=name,
                 version=version,
                 epoch=epoch,
                 arch=arch,
                 release=release))
     self.produce(result)
示例#28
0
def mocked_consume(pkg_names):
    installed_rpms = []
    version = 1
    for pkg in pkg_names:
        installed_rpms.append(
            RPM(name=pkg,
                arch='noarch',
                version=str(version),
                release='1.sm01',
                epoch='0',
                packager=RH_PACKAGER,
                pgpsig='SOME_OTHER_SIG_X'))
        version += 1

    def f(*a):
        yield InstalledRedHatSignedRPM(items=installed_rpms)

    return f
示例#29
0
 def process(self):
     output = check_output([
         '/bin/rpm',
         '-qa',
         '--queryformat',
         r'%{NAME}|%{VERSION}|%{RELEASE}|%|EPOCH?{%{EPOCH}}:{(none)}||%|PACKAGER?{%{PACKAGER}}:{(none)}||%|'
         r'ARCH?{%{ARCH}}:{}||%|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:{(none)}|}|\n'
     ])
     result = InstalledRPM()
     for entry in output.split('\n'):
         entry = entry.strip()
         if not entry:
             continue
         name, version, release, epoch, packager, arch, pgpsig = entry.split('|')
         result.items.append(RPM(
             name=name,
             version=version,
             epoch=epoch,
             packager=packager,
             arch=arch,
             release=release,
             pgpsig=pgpsig))
     self.produce(result)
示例#30
0
import os

import pytest

from leapp.libraries.actor.library import BrlttyConf
from leapp.models import InstalledRedHatSignedRPM, RPM, BrlttyMigrationDecision
from leapp.reporting import Report

RH_PACKAGER = 'Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>'

with_brltty = [
    RPM(name='grep',
        version='0.1',
        release='1.sm01',
        epoch='1',
        packager=RH_PACKAGER,
        arch='noarch',
        pgpsig=
        'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'
        ),
    RPM(name='brltty',
        version='0.1',
        release='1.sm01',
        epoch='1',
        packager=RH_PACKAGER,
        arch='noarch',
        pgpsig=
        'RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')
]

without_brltty = [