Ejemplo n.º 1
0
def integration_tests_1():
    input_data = InputData("test_return_make_none_1")
    input_data.add(Specs.redhat_release, RHEL7)
    yield input_data, None

    input_data = InputData("test_return_make_none_2")
    input_data.add(Specs.redhat_release, RHEL7)
    yield input_data, MAKE_NONE_RESULT
Ejemplo n.º 2
0
def integration_tests_3():
    input_data = InputData("test_return_skip_exception_1")
    input_data.add(Specs.redhat_release, RHEL7)
    yield input_data, None

    input_data = InputData("test_return_skip_exception_2")
    input_data.add(Specs.redhat_release, RHEL7)
    yield input_data, None
Ejemplo n.º 3
0
def test_integration_tests():
    comp = insights_heartbeat.is_insights_heartbeat

    input_data = InputData(name="Match: no kernel")
    input_data.add(Specs.hostname, insights_heartbeat.HOST)
    expected = make_fail(insights_heartbeat.ERROR_KEY)
    run_test(comp, input_data, expected)

    input_data = InputData(name="No Match: bad hostname")
    input_data.add(Specs.hostname, NON_MATCHING_HOSTNAME)
    run_test(comp, input_data, None)
Ejemplo n.º 4
0
def test_integration_2(run_rule):
    input_data = InputData("test_return_none_2_1")
    input_data.add(Specs.redhat_release, RHEL7)
    result = run_rule(returns_none.report_none, input_data)
    assert result is None

    input_data = InputData("test_return_none_2_2")
    input_data.add(Specs.redhat_release, RHEL7)
    result = run_rule(returns_none.report_none,
                      input_data,
                      return_make_none=True)
    assert result == MAKE_NONE_RESULT
Ejemplo n.º 5
0
def test_integration_3(run_rule):
    input_data = InputData("test_return_skip_exception_2_1")
    input_data.add(Specs.redhat_release, RHEL7)
    result = run_rule(returns_none.report_skip_exception, input_data)
    assert result is None

    input_data = InputData("test_return_skip_exception_2_2")
    input_data.add(Specs.redhat_release, RHEL7)
    result = run_rule(returns_none.report_skip_exception,
                      input_data,
                      return_make_none=True)
    assert result is None
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
def integration_test():

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

    yield input_data, expected

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

    yield input_data, expected
def integration_tests():
    # Test that should pass
    data = InputData("localhost_in_hosts")
    data.add('hosts', HOSTS_WITH_LOCALHOST)
    yield data, []

    # Test that should fail
    data = InputData("localhost_not_in_hosts")
    data.add('hosts', HOSTS_WITHOUT_LOCALHOST)
    expected = make_response(localhost_in_hosts.ERROR_KEY,
                             message=localhost_in_hosts.MESSAGE,
                             hosts_defined=set({
                                 'fte.example.com', 'nonlocal.example.com',
                                 'nonlocal2.fte.example.com'
                             }))
    yield data, [expected]
Ejemplo n.º 9
0
def integration_tests():
    """
    InputData acts as the data source for the parsers
    so that they may execute and then be used as input
    to the rule.  So this is essentially and end-to-end
    test of the component chain.
    """
    input_data = InputData("GOOD_CONFIG")
    input_data.add(Specs.sshd_config, GOOD_CONFIG)
    input_data.add(Specs.installed_rpms, OPENSSH_RPM)
    yield input_data, None

    input_data = InputData("BAD_CONFIG")
    input_data.add(Specs.sshd_config, BAD_CONFIG)
    input_data.add(Specs.installed_rpms, OPENSSH_RPM)
    errors = {
        'AuthenticationMethods': 'badkey',
        'LogLevel': 'normal',
        'PermitRootLogin': '******',
        'Protocol': '1'
    }
    expected = make_response(sshd_secure.ERROR_KEY,
                             errors=errors,
                             openssh=EXPECTED_OPENSSH)
    yield input_data, expected

    input_data = InputData("DEFAULT_CONFIG")
    input_data.add(Specs.sshd_config, DEFAULT_CONFIG)
    input_data.add(Specs.installed_rpms, OPENSSH_RPM)
    errors = {
        'AuthenticationMethods': 'default',
        'LogLevel': 'default',
        'PermitRootLogin': '******'
    }
    expected = make_response(sshd_secure.ERROR_KEY,
                             errors=errors,
                             openssh=EXPECTED_OPENSSH)
    yield input_data, expected
Ejemplo n.º 10
0
    def _run_rule(name, rule, input_data):
        """
        Fixture for rule integration testing

        Use this fixture to create an integration test for your rule plugin.

        Sample code::

            def test_myrule(run_rule):
                input_data = {'spec': Specs.installed_rpms, 'data': RPMS_DATA}
                expected = make_fail(ERROR_KEY, bad_data=data_expected)
                results = run_rule('my test name', my_rule, input_data)
                assert results == expected

        Arguments:
            name (str): Name to identify this test in output.
            rule (object): Your rule function object.
            data (list or dict):  List of dict of each data spec your rule requires
                to trigger.  If a single input data spec then a dict can be passed instead.
                Each dict must include both ``spec`` and ``data`` keys, and may optionally
                include ``path`` if necessary for the spec.

        Return:
            results of call to make_pass, make_fail, etc., or None

        Raises:
            KeyError: Raises if either spec or data keywords are not present.
        """
        idata = InputData(name)
        input_data = input_data if isinstance(input_data,
                                              list) else [input_data]
        for d in input_data:
            if 'path' in d:
                idata.add(d['spec'], d['data'], path=d['path'])
            else:
                idata.add(d['spec'], d['data'])
        return run_test(rule, idata)
Ejemplo n.º 11
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
Ejemplo n.º 12
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))
def integration_test_no_hit():
    data = InputData("test1")
    data.add(Specs.installed_rpms, INSTALLED_TUNED_HIT)
    expected = make_fail(tuned_not_applying_profiles.ERROR_KEY,
                         installed_package='tuned-2.11.0-5.el7',
                         kcs=tuned_not_applying_profiles.KCS)
    yield data, expected

    data = InputData("test2")
    data.add(Specs.installed_rpms, INSTALLED_TUNED_FDP_HIT)
    expected = make_fail(tuned_not_applying_profiles.ERROR_KEY,
                         installed_package='tuned-2.11.0-5.el7fdp',
                         kcs=tuned_not_applying_profiles.KCS)
    yield data, expected

    data = InputData("test3")
    data.add(Specs.installed_rpms, INSTALLED_TUNED_NOT_HIT)
    yield data, None

    data = InputData("test4")
    data.add(Specs.installed_rpms, INSTALLED_TUNED_FDP_NOT_HIT)
    yield data, None
Ejemplo n.º 14
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))
Ejemplo n.º 15
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
def generate_inputs(things):
    for kernel in things:
        uname_line = UNAME_TEMPLATE % kernel
        i = InputData()
        i.add(Specs.uname, uname_line)
        yield (kernel, i)
def integration_test_no_hit():
    good_env = InputData("good_environment_no_hit_1")
    good_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_NOT_HIT)
    good_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_HIT)
    good_env.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_HIT)
    good_env.add(Specs.redhat_release, RHEL7)
    yield good_env, None

    good_env = InputData("good_environment_no_hit_2")
    good_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    good_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_NOT_HIT)
    good_env.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_HIT)
    good_env.add(Specs.redhat_release, RHEL7)
    yield good_env, None

    good_env = InputData("good_environment_no_hit_3")
    good_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    good_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_HIT)
    good_env.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_NOT_HIT)
    good_env.add(Specs.redhat_release, RHEL7)
    yield good_env, None

    good_env = InputData("good_environment_no_hit_4")
    good_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    good_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_HIT)
    good_env.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_HIT)
    good_env.add(Specs.redhat_release, RHEL6)
    yield good_env, None
def integration_test_hit():
    bad_env = InputData("bad_environment_hit_1")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_HIT)
    bad_env.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_HIT)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(ocp_tuned_regression.ERROR_KEY, tuned_version='tuned-2.11.0-5.el7')
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_2")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_HIT2)
    bad_env.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_HIT)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(ocp_tuned_regression.ERROR_KEY, tuned_version='tuned-2.11.0-5.el7fdp')
    yield bad_env, expected
Ejemplo n.º 19
0
def integration_tests():
    # Test that should pass
    data = InputData("good_test_1")
    data.add('messages', MESSAGES)
    data.add('rsyslog.conf', RSYSLOG_CONF_DEFAULT_LIMITS)
    yield data, []

    data = InputData("good_test_2")
    data.add('messages', MESSAGES_WITH_FEW_DROPS)
    data.add('rsyslog.conf', RSYSLOG_CONF_DEFAULT_LIMITS)
    yield data, []

    # Test that should fail
    data = InputData("bad_default_limit_high_drops")
    data.add('messages', MESSAGES_WITH_MANY_DROPS)
    data.add('rsyslog.conf', RSYSLOG_CONF_DEFAULT_LIMITS)
    expected = make_response(
        rsyslog_dropping_messages.ERROR_KEY,
        drops_by_process={'55082': {
            'count': 725,
            'max': 245,
            'lines': 3
        }},
        current_interval=5,
        current_limit=200,
        new_limit=245,
        new_config="$SysLogRateLimitBurst {m}".format(m=245),
    )
    yield data, [expected]

    data = InputData("bad_low_limit_high_drops")
    data.add('messages', MESSAGES_WITH_MANY_DROPS)
    data.add('rsyslog.conf', RSYSLOG_CONF_LOW_BURST)
    expected = make_response(
        rsyslog_dropping_messages.ERROR_KEY,
        drops_by_process={'55082': {
            'count': 725,
            'max': 245,
            'lines': 3
        }},
        current_interval=5,
        current_limit=10,
        new_limit=245,
        new_config="$SysLogRateLimitBurst {m}".format(m=245),
    )
    yield data, [expected]

    data = InputData("bad_low_limit_few_drops")
    data.add('messages', MESSAGES_WITH_FEW_DROPS)
    data.add('rsyslog.conf', RSYSLOG_CONF_LOW_BURST)
    expected = make_response(
        rsyslog_dropping_messages.ERROR_KEY,
        drops_by_process={'sshd': {
            'count': 23,
            'max': 12,
            'lines': 2
        }},
        current_interval=5,
        current_limit=10,
        new_limit=12,
        new_config="$SysLogRateLimitBurst {m}".format(m=12),
    )
    yield data, [expected]
Ejemplo n.º 20
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))
def integration_test_no_hit():
    data = InputData("test1")
    data.add(Specs.redhat_release, RHEL7)
    data.add(Specs.ps_aux, CONTENT_PS_AUX_HIT)
    data.add(Specs.systemctl_list_units, LIST_UNITS_FIREWALLD_RUNNING)
    data.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_HIT)
    expected = make_fail(ocp_firewalld_enabled.ERROR_KEY, firewalld_service=True, version="4.1.9")
    yield data, expected

    data = InputData("test2")
    data.add(Specs.redhat_release, RHEL6)
    data.add(Specs.ps_aux, CONTENT_PS_AUX_HIT)
    data.add(Specs.systemctl_list_units, LIST_UNITS_FIREWALLD_RUNNING)
    data.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_HIT)
    yield data, None

    data = InputData("test3")
    data.add(Specs.redhat_release, RHEL7)
    data.add(Specs.ps_aux, CONTENT_PS_AUX_NOT_HIT)
    data.add(Specs.systemctl_list_units, LIST_UNITS_FIREWALLD_RUNNING)
    data.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_HIT)
    yield data, None

    data = InputData("test4")
    data.add(Specs.redhat_release, RHEL7)
    data.add(Specs.ps_aux, CONTENT_PS_AUX_HIT)
    data.add(Specs.systemctl_list_units, LIST_UNITS_FIREWALLD_NOT_RUNNING)
    data.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_HIT)
    yield data, None

    data = InputData("test5")
    data.add(Specs.redhat_release, RHEL7)
    data.add(Specs.ps_aux, CONTENT_PS_AUX_HIT)
    data.add(Specs.systemctl_list_units, LIST_UNITS_FIREWALLD_RUNNING)
    data.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_NOT_HIT)
    yield data, None

    data = InputData("test6")
    data.add(Specs.redhat_release, RHEL7)
    data.add(Specs.ps_aux, CONTENT_PS_AUX_NOT_HIT)
    data.add(Specs.systemctl_list_units, LIST_UNITS_FIREWALLD_NOT_RUNNING)
    data.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_NOT_HIT)
    yield data, None
Ejemplo n.º 22
0
def integration_tests():
    data = InputData("Hit test 1")
    data.add(Specs.redhat_release, RHEL7)
    data.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    data.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_HIT)
    data.add(Specs.messages, CONTENT_MESSAGES_HIT)
    expected = make_info(ocp_elasticsearch_crashbackoff.ERROR_KEY,
                         kcs=ocp_elasticsearch_crashbackoff.KCS,
                         checked_sysctl="vm.max_map_count=65530")
    yield data, expected

    data = InputData("No Hit test 1")
    data.add(Specs.redhat_release, RHEL6)
    data.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    data.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_HIT)
    data.add(Specs.messages, CONTENT_MESSAGES_HIT)
    yield data, None

    data = InputData("No Hit test 2")
    data.add(Specs.redhat_release, RHEL7)
    data.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_NOT_HIT)
    data.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_HIT)
    data.add(Specs.messages, CONTENT_MESSAGES_HIT)
    yield data, None

    data = InputData("No Hit test 3")
    data.add(Specs.redhat_release, RHEL7)
    data.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    data.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_NOT_HIT)
    data.add(Specs.messages, CONTENT_MESSAGES_HIT)
    yield data, None

    data = InputData("No Hit test 4")
    data.add(Specs.redhat_release, RHEL7)
    data.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    data.add(Specs.sysctl, CONTENT_SYSCTL_COMMAND_HIT)
    data.add(Specs.messages, CONTENT_MESSAGES_NOT_HIT)
    yield data, None
Ejemplo n.º 23
0
def integration_test_hit():
    bad_env = InputData("bad_environment_hit_1")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_750_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT1)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-57.el7', 'systemd-219-67.el7'])
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_2")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_750_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT2)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-57.el7', 'systemd-219-67.el7'])
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_3")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_750_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT3)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-57.el7', 'systemd-219-67.el7'])
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_4")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_750_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT4)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-57.el7', 'systemd-219-67.el7'])
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_5")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_750_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT5)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-57.el7', 'systemd-219-67.el7'])
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_6")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_760_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT1)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-62.el7', 'systemd-219-62.el7_6.9'])
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_7")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_760_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT2)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-62.el7', 'systemd-219-62.el7_6.9'])
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_8")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_760_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT3)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-62.el7', 'systemd-219-62.el7_6.9'])
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_9")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_760_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT4)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-62.el7', 'systemd-219-62.el7_6.9'])
    yield bad_env, expected

    bad_env = InputData("bad_environment_hit_10")
    bad_env.add(Specs.systemctl_list_units, CONTENT_SYSTEMCTL_LIST_UNITS_HIT)
    bad_env.add(Specs.installed_rpms, CONTENT_INSTALLED_RPMS_760_HIT)
    bad_env.add(Specs.messages, CONTENT_MESSAGE_HIT5)
    bad_env.add(Specs.redhat_release, RHEL7)
    expected = make_fail(
        ocp_systemd_dbus_regression.ERROR_KEY,
        systemd_version=['systemd-219-62.el7', 'systemd-219-62.el7_6.9'])
    yield bad_env, expected