1
|
|
|
# Copyright 2022, Red Hat, Inc. |
2
|
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later |
3
|
|
|
|
4
|
|
|
import subprocess |
5
|
|
|
|
6
|
|
|
import pytest |
7
|
|
|
|
8
|
|
|
# pylint: disable-msg=R0801 |
9
|
|
|
from ..constants import (PATH_TO_ARF, |
10
|
|
|
PATH_TO_ARF_REPRODUCING_DANGLING_REFERENCE_TO, |
11
|
|
|
PATH_TO_ARF_SCANNED_ON_CONTAINER, |
12
|
|
|
PATH_TO_ARF_WITH_MULTI_CHECK, |
13
|
|
|
PATH_TO_ARF_WITH_OS_CPE_CHECK, |
14
|
|
|
PATH_TO_ARF_WITHOUT_INFO, |
15
|
|
|
PATH_TO_ARF_WITHOUT_SYSTEM_DATA, |
16
|
|
|
PATH_TO_RULE_AND_CPE_CHECK_ARF, |
17
|
|
|
PATH_TO_RULE_AND_CPE_CHECK_XCCDF, |
18
|
|
|
PATH_TO_SIMPLE_RULE_FAIL_ARF, |
19
|
|
|
PATH_TO_SIMPLE_RULE_FAIL_XCCDF, |
20
|
|
|
PATH_TO_SIMPLE_RULE_PASS_ARF, |
21
|
|
|
PATH_TO_SIMPLE_RULE_PASS_XCCDF, PATH_TO_XCCDF, |
22
|
|
|
PATH_TO_XCCDF_WITH_MULTI_CHECK, |
23
|
|
|
PATH_TO_XCCDF_WITHOUT_INFO, |
24
|
|
|
PATH_TO_XCCDF_WITHOUT_SYSTEM_DATA) |
25
|
|
|
|
26
|
|
|
OSCAP_REPORT_COMMAND = "oscap-report" |
27
|
|
|
|
28
|
|
|
|
29
|
|
|
@pytest.mark.integration_test |
30
|
|
|
@pytest.mark.parametrize( |
31
|
|
|
"file_path", |
32
|
|
|
[ |
33
|
|
|
PATH_TO_ARF, |
34
|
|
|
PATH_TO_SIMPLE_RULE_FAIL_ARF, |
35
|
|
|
PATH_TO_SIMPLE_RULE_PASS_ARF, |
36
|
|
|
PATH_TO_RULE_AND_CPE_CHECK_ARF, |
37
|
|
|
PATH_TO_ARF_WITHOUT_INFO, |
38
|
|
|
PATH_TO_ARF_WITHOUT_SYSTEM_DATA, |
39
|
|
|
PATH_TO_ARF_WITH_MULTI_CHECK, |
40
|
|
|
PATH_TO_ARF_WITH_OS_CPE_CHECK, |
41
|
|
|
PATH_TO_ARF_SCANNED_ON_CONTAINER, |
42
|
|
|
PATH_TO_ARF_REPRODUCING_DANGLING_REFERENCE_TO, |
43
|
|
|
PATH_TO_XCCDF, |
44
|
|
|
PATH_TO_SIMPLE_RULE_FAIL_XCCDF, |
45
|
|
|
PATH_TO_SIMPLE_RULE_PASS_XCCDF, |
46
|
|
|
PATH_TO_RULE_AND_CPE_CHECK_XCCDF, |
47
|
|
|
PATH_TO_XCCDF_WITHOUT_INFO, |
48
|
|
|
PATH_TO_XCCDF_WITHOUT_SYSTEM_DATA, |
49
|
|
|
PATH_TO_XCCDF_WITH_MULTI_CHECK, |
50
|
|
|
], |
51
|
|
|
) |
52
|
|
|
def test_oscap_report_basic_usage(file_path): |
53
|
|
|
command_stdout = subprocess.check_output([OSCAP_REPORT_COMMAND, str(file_path)]) |
54
|
|
|
assert command_stdout.decode("utf-8").startswith("<!DOCTYPE html>") |
55
|
|
|
|