def report(rpms, uname):
    if rpms is not None:
        bash_ver = rpms.get_max('bash')
        if uname is not None:
            return make_pass('PASS', bash_ver=bash_ver.nvr, uname_ver=uname.version)
        else:
            return make_fail('FAIL', bash_ver=bash_ver.nvr, path=rpms.file_path)
Esempio n. 2
0
def test_validate_good_response():
    assert plugins.make_response("a_test", foo="bar") == {
        "type": "rule",
        "error_key": "a_test",
        "foo": "bar"
    }
    assert plugins.make_fail("a_test", foo="bar") == {
        "type": "rule",
        "error_key": "a_test",
        "foo": "bar"
    }
    assert plugins.make_pass("a_test", foo="bar") == {
        "type": "pass",
        "pass_key": "a_test",
        "foo": "bar"
    }
    assert plugins.make_fingerprint("a_test", foo="bar") == {
        "type": "fingerprint",
        "fingerprint_key": "a_test",
        "foo": "bar"
    }
    assert plugins.make_metadata(foo="bar") == {
        "type": "metadata",
        "foo": "bar"
    }
    assert plugins.make_metadata_key("foo", "bar") == {
        "type": "metadata_key",
        "key": "foo",
        "value": "bar"
    }
Esempio n. 3
0
def report(root_login, sshd, release):
    if sshd and release:
        if root_login:
            # The issue is detected.
            return make_fail('SSHD_ROOT_LOGIN_PERMITTED', os=release)
        # The issue does not exist.
        return make_pass('SSHD_ROOT_LOGIN_DISABLED', os=release)
Esempio n. 4
0
def report(rel):
    """Fires if the machine is running Fedora."""

    if "Fedora" in rel.product:
        return make_pass("IS_FEDORA", product=rel.product)
    else:
        return make_fail("IS_NOT_FEDORA", product=rel.product)
def report(rel, hostname):
    """Fires if the machine is running Fedora."""

    if "Fedora" in rel.product:
        return make_pass(ERROR_KEY_IS_FEDORA,
                         hostname=hostname.hostname,
                         product=rel.product)
    else:
        return make_fail(ERROR_KEY_IS_FEDORA,
                         hostname=hostname.hostname,
                         product=rel.product)
Esempio n. 6
0
def report(hostname, release):
    if release and release.is_rhel:
        return make_pass(ERROR_KEY_1,
                         hostname=hostname.fqdn,
                         release=release.version)
    elif release:
        return make_fail(ERROR_KEY_2,
                         hostname=hostname.fqdn,
                         release=release.raw)
    else:
        return make_fail(ERROR_KEY_3, hostname=hostname.fqdn)
def integration_test():

    input_data = InputData("no_bash_bug")
    input_data.add(Specs.installed_rpms, CURRENT_VERSION)
    expected = make_pass("BASH_BUG", bash=CURRENT_VERSION, found=NOT_FOUND)

    yield input_data, expected

    input_data = InputData("is_bash_bug")
    input_data.add(Specs.installed_rpms, BUG_VERSION)
    expected = make_fail("BASH_BUG", bash=BUG_VERSION, found=FOUND)

    yield input_data, expected
Esempio n. 8
0
def integration_test():

    input_data = InputData("test_fedora")
    input_data.add(Specs.redhat_release, FEDORA)
    input_data.add(Specs.hostname, TEST_HOSTNAME)
    expected = make_pass("IS_FEDORA", hostname=TEST_HOSTNAME, product="Fedora")

    yield input_data, expected

    input_data = InputData("test_rhel")
    input_data.add(Specs.redhat_release, RHEL)
    input_data.add(Specs.hostname, TEST_HOSTNAME)
    expected = make_fail("IS_NOT_FEDORA",
                         hostname=TEST_HOSTNAME,
                         product="Red Hat Enterprise Linux Server")

    yield input_data, expected
Esempio n. 9
0
def test_rules_fixture(run_rule):
    input_data = [UNAME, RPMS]
    expected = make_pass('PASS', bash_ver='bash-4.1.23-6.fc29', uname_ver='2.6.32')
    results = run_rule('test_pass', rules_fixture_plugin.report, input_data)
    assert results == expected

    input_data = [RPMS]
    expected = make_fail('FAIL', bash_ver='bash-4.1.23-6.fc29', path=RPMS['path'])
    results = run_rule('test_fail_list', rules_fixture_plugin.report, input_data)
    assert results == expected

    input_data = RPMS
    expected = make_fail('FAIL', bash_ver='bash-4.1.23-6.fc29', path=RPMS['path'])
    results = run_rule('test_fail_dict', rules_fixture_plugin.report, input_data)
    assert results == expected

    input_data = []
    expected = None
    results = run_rule('test_ret_none', rules_fixture_plugin.report, input_data)
    assert results == expected
Esempio n. 10
0
def test_rules_fixture(run_rule):
    input_data = InputData('test_pass')
    input_data.add(UNAME['spec'], UNAME['data'])
    input_data.add(RPMS['spec'], RPMS['data'], path=RPMS['path'])
    expected = make_pass('PASS',
                         bash_ver='bash-4.1.23-6.fc29',
                         uname_ver='2.6.32')
    results = run_rule(rules_fixture_plugin.report, input_data)
    assert results == expected

    input_data = InputData('test_fail')
    input_data.add(RPMS['spec'], RPMS['data'], path=RPMS['path'])
    expected = make_fail('FAIL',
                         bash_ver='bash-4.1.23-6.fc29',
                         path=RPMS['path'])
    results = run_rule(rules_fixture_plugin.report, input_data)
    assert results == expected

    input_data = InputData('test_ret_none')
    results = run_rule(rules_fixture_plugin.report, input_data)
    assert results is None
Esempio n. 11
0
def test_always_fires():
    i = InputData()
    expected = make_pass("ALWAYS_FIRES", kernel="this is junk")
    run_test(always_fires.report, i, expected)
Esempio n. 12
0
def report(rpms):
    bash_ver = rpms.get_max('bash')
    return make_pass(KEY, bash_version=bash_ver)