Exemplo n.º 1
0
def test_scan_invalid_file_csv(monkeypatch):
    monkeypatch.setattr(reporting, 'report_generic', report_generic_mocked())
    with pytest.raises(StopActorExecution):
        scan_repositories('files/tests/sample04.csv')
    assert reporting.report_generic.called == 1
    assert 'inhibitor' in reporting.report_generic.report_fields['flags']
    assert 'Repositories map file is invalid' in reporting.report_generic.report_fields['title']
Exemplo n.º 2
0
def test_scan_empty_file(monkeypatch):
    monkeypatch.setattr(reporting, 'create_report', create_report_mocked())
    with pytest.raises(StopActorExecution):
        scan_repositories('files/tests/sample02.csv')
    assert reporting.create_report.called == 1
    assert 'inhibitor' in reporting.create_report.report_fields['flags']
    assert 'Repositories map file is invalid' in reporting.create_report.report_fields[
        'title']
Exemplo n.º 3
0
def test_scan_invalid_file_csv(monkeypatch, line):
    monkeypatch.setattr(api, 'current_actor',
                        CurrentActorMocked(architecture.ARCH_X86_64))
    monkeypatch.setattr(api, 'produce', produce_mocked())
    with pytest.raises(StopActorExecutionError) as err:
        library.scan_repositories(read_repofile_func=ReadRepoFileMock([line]))
    assert not api.produce.called
    assert 'The repository mapping file is invalid' in str(err)
Exemplo n.º 4
0
def test_scan_invalid_file_csv(monkeypatch):
    monkeypatch.setattr(api, 'current_actor',
                        CurrentActorMocked(architecture.ARCH_PPC64LE))
    monkeypatch.setattr(reporting, 'create_report', create_report_mocked())
    with pytest.raises(StopActorExecution):
        scan_repositories('files/tests/sample04.csv')
    assert reporting.create_report.called == 1
    assert 'inhibitor' in reporting.create_report.report_fields['flags']
    assert 'Repositories map file is invalid' in reporting.create_report.report_fields[
        'title']
Exemplo n.º 5
0
def test_repository_mapping_file_not_found(monkeypatch):
    def file_not_exists(_filepath):
        return False
    monkeypatch.setattr('os.path.isfile', file_not_exists)
    monkeypatch.setattr(reporting, 'report_generic', report_generic_mocked())
    with pytest.raises(StopActorExecution):
        scan_repositories('/etc/leapp/files/repomap.csv')
    assert reporting.report_generic.called == 1
    assert 'inhibitor' in reporting.report_generic.report_fields['flags']
    assert 'Repositories map file not found' in reporting.report_generic.report_fields['title']
Exemplo n.º 6
0
def test_scan_missing_or_empty_file(monkeypatch, isFile, err_summary):
    monkeypatch.setattr(api, 'current_actor',
                        CurrentActorMocked(architecture.ARCH_X86_64))
    monkeypatch.setattr(api, 'produce', produce_mocked())
    monkeypatch.setattr('os.path.isfile', lambda dummy: isFile)
    if isFile:
        monkeypatch.setattr('os.path.getsize', lambda dummy: 0)
    with pytest.raises(StopActorExecutionError) as err:
        library.scan_repositories()
    assert not api.produce.called
    assert err_summary in str(err)
Exemplo n.º 7
0
def test_repository_mapping_file_not_found(monkeypatch):
    def file_not_exists(_filepath):
        return False

    monkeypatch.setattr(api, 'current_actor',
                        CurrentActorMocked(architecture.ARCH_X86_64))
    monkeypatch.setattr('os.path.isfile', file_not_exists)
    monkeypatch.setattr(reporting, 'create_report', create_report_mocked())
    with pytest.raises(StopActorExecution):
        scan_repositories('/etc/leapp/files/repomap.csv')
    assert reporting.create_report.called == 1
    assert 'inhibitor' in reporting.create_report.report_fields['flags']
    assert 'Repositories map file not found' in reporting.create_report.report_fields[
        'title']
Exemplo n.º 8
0
def test_scan_valid_file(monkeypatch):
    monkeypatch.setattr(api, 'produce', produce_mocked())
    scan_repositories('files/tests/sample01.csv')

    assert api.produce.called == 1
    assert len(api.produce.model_instances) == 1
    assert isinstance(api.produce.model_instances[0], RepositoriesMap)
    assert len(api.produce.model_instances[0].repositories) == 4
    assert isinstance(api.produce.model_instances[0].repositories[0], RepositoryMap)
    assert api.produce.model_instances[0].repositories[0].from_id == 'FromRepo01'
    assert api.produce.model_instances[0].repositories[0].repo_type == 'rpm'
    assert isinstance(api.produce.model_instances[0].repositories[3], RepositoryMap)
    assert api.produce.model_instances[0].repositories[3].to_id == 'ToRepo04'
    assert api.produce.model_instances[0].repositories[3].arch == 'ppc64le'
Exemplo n.º 9
0
def test_scan_valid_file_without_comments(monkeypatch, arch, src_type,
                                          dst_type):
    envars = {
        'LEAPP_DEVEL_SOURCE_PRODUCT_TYPE': src_type,
        'LEAPP_DEVEL_TARGET_PRODUCT_TYPE': dst_type
    }
    input_data, expected_records = gen_test_data(arch, src_type, dst_type)
    monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch, envars))
    monkeypatch.setattr(api, 'produce', produce_mocked())
    library.scan_repositories(read_repofile_func=ReadRepoFileMock(input_data))
    assert api.produce.called == 1
    assert api.produce.model_instances == [
        gen_RepositoriesMap(expected_records)
    ]
Exemplo n.º 10
0
def test_scan_valid_file_with_comments(monkeypatch, arch, src_type, dst_type):
    envars = {
        'LEAPP_DEVEL_SOURCE_PRODUCT_TYPE': src_type,
        'LEAPP_DEVEL_TARGET_PRODUCT_TYPE': dst_type
    }
    input_data, expected_records = gen_test_data(arch, src_type, dst_type)
    monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch, envars))
    monkeypatch.setattr(api, 'produce', produce_mocked())
    # add one comment and one empty line into the repomap file
    repofile = ReadRepoFileMock(input_data)
    repofile.repomap_file.insert(2, '')
    repofile.repomap_file.insert(3, '# comment')
    # run
    library.scan_repositories(read_repofile_func=repofile)
    assert api.produce.called == 1
    assert api.produce.model_instances == [
        gen_RepositoriesMap(expected_records)
    ]
Exemplo n.º 11
0
def test_scan_valid_file(monkeypatch):
    monkeypatch.setattr(api, 'current_actor',
                        CurrentActorMocked(architecture.ARCH_X86_64))
    monkeypatch.setattr(api, 'produce', produce_mocked())
    scan_repositories('files/tests/sample01.csv')

    assert api.produce.called == 1
    assert len(api.produce.model_instances) == 1
    assert isinstance(api.produce.model_instances[0], RepositoriesMap)
    assert len(api.produce.model_instances[0].repositories) == 4
    assert isinstance(api.produce.model_instances[0].repositories[0],
                      RepositoryMap)
    assert api.produce.model_instances[0].repositories[
        0].from_repoid == 'FromRepo01'
    assert api.produce.model_instances[0].repositories[0].repo_type == 'rpm'
    assert isinstance(api.produce.model_instances[0].repositories[3],
                      RepositoryMap)
    assert api.produce.model_instances[0].repositories[
        3].to_repoid == 'ToRepo04'
    assert api.produce.model_instances[0].repositories[
        2].to_pes_repo == 'ToName03'
    assert api.produce.model_instances[0].repositories[
        3].arch == architecture.ARCH_X86_64
Exemplo n.º 12
0
 def process(self):
     scan_repositories('/etc/leapp/files/repomap.csv')
Exemplo n.º 13
0
 def process(self):
     scan_repositories()