Passed
Pull Request — master (#53)
by Jan
08:01
created

openscap_report.scap_results_parser.data_structures.rule   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Test Coverage

Coverage 95.65%

Importance

Changes 0
Metric Value
wmc 1
eloc 41
dl 0
loc 45
ccs 22
cts 23
cp 0.9565
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A Rule.as_dict() 0 19 1
1 1
from dataclasses import dataclass
2
3 1
from .oval_node import OvalNode
4
5
6 1
@dataclass
7 1
class Rule:  # pylint: disable=R0902
8 1
    rule_id: str = ""
9 1
    title: str = ""
10 1
    result: str = ""
11 1
    multi_check: bool = False
12 1
    time: str = ""
13 1
    severity: str = ""
14 1
    identifiers: list = None
15 1
    references: list = None
16 1
    description: str = ""
17 1
    rationale: str = ""
18 1
    warnings: list = None
19 1
    platforms: list = None
20 1
    oval_definition_id: str = ""
21 1
    message: str = ""
22 1
    remediations: list = None
23 1
    oval_tree: OvalNode = None
24 1
    cpe_tree: OvalNode = None
25
26 1
    def as_dict(self):
27
        return {
28
            "rule_id": self.rule_id,
29
            "title": self.title,
30
            "result": self.result,
31
            "multi_check": self.multi_check,
32
            "time": self.time,
33
            "severity": self.severity,
34
            "identifiers": self.identifiers,
35
            "references": self.references,
36
            "description": self.description,
37
            "rationale": self.rationale,
38
            "warnings": self.warnings,
39
            "platforms": self.platforms,
40
            "oval_definition_id": self.oval_definition_id,
41
            "message": self.message,
42
            "remediations": self.remediations,
43
            "oval_tree": self.oval_tree.as_dict(),
44
            "cpe_tree": self.cpe_tree.as_dict(),
45
        }
46