def test_pesid_to_target_repoids_translation(monkeypatch, caplog):
    """
    Tests whether the actor is able to correctly translate target pesids resulting
    from event processing when it is supplied with a valid dictionary that maps pesids to target repoids.
    """
    monkeypatch.setattr(api, 'show_message', show_message_mocked())
    monkeypatch.setattr(peseventsscanner, '_get_repositories_mapping',
                        lambda dummy_target_pesids: {'repo': 'mapped'})
    monkeypatch.setattr(reporting, 'create_report', create_report_mocked())
    monkeypatch.setenv('LEAPP_VERBOSE', '1')

    to_install = {
        ('pkg01', None): 'repo',
        ('pkg02', ('module', 'stream')): 'repo',
        ('skipped01', None): 'not_mapped',
        ('skipped02', ('module', 'stream')): 'not_mapped'
    }
    map_repositories(to_install)

    msg = (
        '2 packages may not be installed or upgraded due to repositories unknown to leapp:\n'
        '- skipped01 (repoid: not_mapped)\n'
        '- skipped02 [module:stream] (repoid: not_mapped)')
    assert msg in caplog.messages
    assert reporting.create_report.called == 1
    assert reporting.create_report.report_fields['title'] == (
        'Packages from unknown repositories may not be installed')
    assert reporting.create_report.report_fields['summary'] == msg

    assert to_install == {
        ('pkg01', None): 'mapped',
        ('pkg02', ('module', 'stream')): 'mapped'
    }
示例#2
0
def test_map_repositories(monkeypatch, caplog):
    monkeypatch.setattr(api, 'show_message', show_message_mocked())
    monkeypatch.setattr(peseventsscanner, '_get_repositories_mapping',
                        lambda: {'repo': 'mapped'})
    monkeypatch.setattr(reporting, 'create_report', create_report_mocked())
    monkeypatch.setenv('LEAPP_VERBOSE', '1')

    to_install = {
        'pkg01': 'repo',
        'pkg02': 'repo',
        'skipped01': 'not_mapped',
        'skipped02': 'not_mapped'
    }
    map_repositories(to_install)

    msg = (
        '2 packages may not be installed or upgraded due to repositories unknown to leapp:\n'
        '- skipped01 (repoid: not_mapped)\n'
        '- skipped02 (repoid: not_mapped)')
    assert msg in caplog.messages
    assert reporting.create_report.called == 1
    assert reporting.create_report.report_fields['title'] == (
        'Packages from unknown repositories may not be installed')
    assert reporting.create_report.report_fields['summary'] == msg

    assert to_install == {'pkg01': 'mapped', 'pkg02': 'mapped'}