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' }
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'}