Passed
Pull Request — master (#53)
by Jan
16:54 queued 10:56
created

openscap_report.scap_results_parser.data_structures.remediation   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Test Coverage

Coverage 92.86%

Importance

Changes 0
Metric Value
wmc 2
eloc 27
dl 0
loc 33
ccs 13
cts 14
cp 0.9286
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A Remediation.get_type() 0 10 1
A Remediation.as_dict() 0 8 1
1 1
from dataclasses import dataclass
2
3
4 1
@dataclass
5 1
class Remediation:
6 1
    remediation_id: str = ""
7 1
    system: str = ""
8 1
    complexity: str = ""
9 1
    disruption: str = ""
10 1
    strategy: str = ""
11 1
    fix: str = ""
12
13 1
    def as_dict(self):
14
        return {
15
            "remediation_id": self.remediation_id,
16
            "system": self.system,
17
            "complexity": self.complexity,
18
            "disruption": self.disruption,
19
            "strategy": self.strategy,
20
            "fix": self.fix,
21
        }
22
23 1
    def get_type(self):
24 1
        script_types = {
25
            "urn:xccdf:fix:script:sh": "Shell script",
26
            "urn:xccdf:fix:script:ansible": "Ansible snippet",
27
            "urn:xccdf:fix:script:puppet": "Puppet snippet",
28
            "urn:redhat:anaconda:pre": "Anaconda snippet",
29
            "urn:xccdf:fix:script:kubernetes": "Kubernetes snippet",
30
            "urn:redhat:osbuild:blueprint": "OSBuild Blueprint snippet",
31
        }
32
        return script_types.get(self.system, "script")
33