Example #1
0
def full():
    """ Full example """
    return relevancy_to_adjust("""
    # feature has been added in Fedora 33
    distro < fedora-33: False

    # using logical operators
    component = firefox && arch = ppc64: False

    arch = s390x: PHASES=novalgrind # modify environment

    # try special operators
    collection contains httpd24 && fips defined: False
    """.replace('    ', ''))
Example #2
0
def mini():
    """ Minimal example """
    return relevancy_to_adjust("distro = fedora: False")
Example #3
0
def test_empty():
    """ Empty relevancy """
    assert relevancy_to_adjust('') == list()
Example #4
0
def check(condition, expected):
    """ Check condition against expected """
    adjusted = relevancy_to_adjust(f"{condition}: False")[0]['when']
    assert adjusted == expected
Example #5
0
def test_invalid_operator():
    """ Invalid relevancy operator """
    with pytest.raises(ConvertError, match='Invalid.*operator'):
        relevancy_to_adjust("distro <> fedora-33: False")
Example #6
0
def test_invalid_expression():
    """ Invalid relevancy expression """
    with pytest.raises(ConvertError, match='Invalid.*expression'):
        relevancy_to_adjust("distro * fedora-33: False")
Example #7
0
def test_invalid_decision():
    """ Invalid relevancy decision """
    with pytest.raises(ConvertError, match='Invalid.*decision'):
        relevancy_to_adjust("distro < fedora-33: weird")
Example #8
0
def test_invalid_rule():
    """ Invalid relevancy rule """
    with pytest.raises(ConvertError, match='Invalid.*rule'):
        relevancy_to_adjust("weird")