Exemplo n.º 1
0
def test_errored_rpm_call(config, call):
    compliance_client = ComplianceClient(config)
    compliance_client.get_policies = lambda: [{'ref_id': 'foo'}]
    compliance_client.find_scap_policy = lambda ref_id: '/usr/share/xml/scap/foo.xml'
    compliance_client.run_scan = lambda ref_id, policy_xml: None
    with raises(SystemExit):
        compliance_client.oscap_scan()
Exemplo n.º 2
0
def test_get_policies_error(config):
    compliance_client = ComplianceClient(config)
    compliance_client.hostname = 'foo'
    compliance_client.conn.session.get = Mock(return_value=Mock(
        status_code=500))
    assert compliance_client.get_policies() == []
    compliance_client.conn.session.get.assert_called_with(
        'https://localhost/app/compliance/systems',
        params={'search': 'name=foo'})
Exemplo n.º 3
0
def test_get_policies_no_policies(config):
    compliance_client = ComplianceClient(config)
    compliance_client.hostname = 'foo'
    compliance_client.conn.session.get = Mock(return_value=Mock(
        status_code=200, json=Mock(return_value={'data': []})))
    assert compliance_client.get_policies() == []
    compliance_client.conn.session.get.assert_called_with(
        'https://localhost/app/compliance/profiles',
        params={'search': 'system_names=foo'})
Exemplo n.º 4
0
def test_oscap_scan(config, assert_rpms):
    compliance_client = ComplianceClient(config)
    compliance_client.get_policies = lambda: [{'ref_id': 'foo'}]
    compliance_client.find_scap_policy = lambda ref_id: '/usr/share/xml/scap/foo.xml'
    compliance_client.run_scan = lambda ref_id, policy_xml, output_path: None
    compliance_client.archive.archive_tmp_dir = '/tmp'
    compliance_client.archive.archive_name = 'insights-compliance-test'
    archive, content_type = compliance_client.oscap_scan()
    assert archive == '/tmp/insights-compliance-test.tar.gz'
    assert content_type == COMPLIANCE_CONTENT_TYPE
Exemplo n.º 5
0
def test_missing_packages(config, call):
    compliance_client = ComplianceClient(config)
    compliance_client.get_policies = lambda: [{
        'attributes': {
            'ref_id': 'foo'
        }
    }]
    compliance_client.find_scap_policy = lambda ref_id: '/usr/share/xml/scap/foo.xml'
    compliance_client.run_scan = lambda ref_id, policy_xml: None
    with raises(SystemExit):
        compliance_client.oscap_scan()
Exemplo n.º 6
0
def test_oscap_scan(config):
    compliance_client = ComplianceClient(config)
    compliance_client.get_policies = lambda: [{
        'attributes': {
            'ref_id': 'foo'
        }
    }]
    compliance_client.find_scap_policy = lambda ref_id: '/usr/share/xml/scap/foo.xml'
    compliance_client.run_scan = lambda ref_id, policy_xml: None
    payload, content_type = compliance_client.oscap_scan()
    assert payload == OSCAP_RESULTS_OUTPUT
    assert content_type == COMPLIANCE_CONTENT_TYPE