def test_find_string_glob():
    from esss_jenkins import filter_jobs_by_find_string

    assert filter_jobs_by_find_string(JOBS, "network-refacto*".split()) == [
        "alfasim-fb-ASIM-501-network-refactorings-part1-app-win64",
        "alfasim-fb-ASIM-501-network-refactorings-part1-app-win64g",
        "alfasim-fb-ASIM-501-network-refactorings-part1-app-linux64",
        "alfasim-fb-ASIM-501-network-refactorings-part1-calc-linux64",
        "alfasim-fb-ASIM-501-network-refactorings-part1-synthetic-linux64",
        "alfasim-fb-ASIM-480-network-refactorings-part1-synthetic-linux64",
    ]

    assert filter_jobs_by_find_string(
        JOBS, "network-refacto* win64,linux*".split()) == [
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-win64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-linux64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-calc-linux64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-synthetic-linux64",
            "alfasim-fb-ASIM-480-network-refactorings-part1-synthetic-linux64",
        ]
    assert filter_jobs_by_find_string(
        JOBS, "network-refacto* linux*".split()) == [
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-linux64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-calc-linux64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-synthetic-linux64",
            "alfasim-fb-ASIM-480-network-refactorings-part1-synthetic-linux64",
        ]

    assert (filter_jobs_by_find_string(
        JOBS, "simbr network-refacto* win64,linux*".split()) == [])
def test_find_string_case_sensitive(tr):
    from esss_jenkins import filter_jobs_by_find_string

    assert filter_jobs_by_find_string(
        JOBS,
        tr("ASIM-501 app win64").split()) == [
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-win64"
        ]

    assert filter_jobs_by_find_string(
        JOBS,
        tr("ASIM-501 app win64,linux64").split()) == [
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-win64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-linux64",
        ]

    assert filter_jobs_by_find_string(
        JOBS,
        tr("ASIM-501 win64,linux64").split()) == [
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-win64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-linux64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-calc-linux64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-synthetic-linux64",
        ]

    assert filter_jobs_by_find_string(JOBS, [tr("eden-win64-27")]) == [
        "eden-fb-ASIM-483-remove-dummy-velocity-part5-win64-27",
        "eden-win64-27",
    ]

    assert filter_jobs_by_find_string(
        JOBS, [tr('"eden-win64-27"')]) == ["eden-win64-27"]
def test_find_string_long_glob():
    from esss_jenkins import filter_jobs_by_find_string

    assert filter_jobs_by_find_string(JOBS, '"*rb*kra*"'.split()) == [
        "etk-rb-KRA-v2.5.0-win64-27",
        "etk-rb-KRA-v2.5.0-win64-35",
    ]
def test_find_string_basic():
    from esss_jenkins import filter_jobs_by_find_string

    assert filter_jobs_by_find_string(
        JOBS, "ASIM-501 app win64,linux64".split()) == [
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-win64",
            "alfasim-fb-ASIM-501-network-refactorings-part1-app-linux64",
        ]