예제 #1
0
def test_noselinux():
    for first, second, policy_type, selinux_type in MATCHING + NON_MATCHING + INVALID:
        second = second.format(policy_type)
        input_data = InputData()
        input_data.add('sestatus', SESTATUS_DISABLED)
        input_data.add('installed-rpms', first + '\n' + second)
        input_data.add('selinux-config', SELINUX_CONFIG.format(selinux_type))
        response = integrate(input_data, rule.report)
        assert response == []
        tests.append((input_data, response))

        input_data = InputData()
        input_data.add('sestatus', SESTATUS_PERMISSIVE)
        input_data.add('installed-rpms', first + '\n' + second)
        input_data.add('selinux-config', SELINUX_CONFIG.format(selinux_type))
        response = integrate(input_data, rule)
        assert response == []
        tests.append((input_data, response))
예제 #2
0
def test_valid_selinux():
    for first, second, policy_type, selinux_type in MATCHING:
        second = second.format(policy_type)
        input_data = InputData()
        input_data.add('sestatus', SESTATUS_OK)
        input_data.add('installed-rpms', first + '\n' + second)
        input_data.add('selinux-config', SELINUX_CONFIG.format(selinux_type))
        response = integrate(input_data, rule.report)
        assert response == []
        tests.append((input_data, response))
예제 #3
0
def test_nonmatching_selinux():
    for first, second, policy_type, selinux_type in NON_MATCHING:
        second = second.format(policy_type)
        input_data = InputData()
        input_data.add('sestatus', SESTATUS_OK)
        input_data.add('installed-rpms', first + '\n' + second)
        input_data.add('selinux-config', SELINUX_CONFIG.format(selinux_type))
        response = integrate(input_data, rule.report)
        assert 'policy_rpm' in response[0]
        assert 'policy_type_rpm' in response[0]
        assert 'policy_type' in response[0]
        assert response[0]['policy_rpm'] == first[:first.rfind('.')]
        assert response[0]['policy_type_rpm'] == second[:second.rfind('.')]
        assert response[0]['policy_type'] == policy_type
        tests.append((input_data, response))
예제 #4
0
def test_integration(component, compare_func, input_data, expected):
    actual = integrate(input_data, component)
    compare_func(actual, expected)