File: test_components.py

package info (click to toggle)
scap-security-guide 0.1.76-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 110,644 kB
  • sloc: xml: 241,883; sh: 73,777; python: 32,527; makefile: 27
file content (67 lines) | stat: -rw-r--r-- 2,558 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import os
import pytest

import ssg.components

ssg_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
data_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "data"))
components_dir = os.path.join(data_dir, "components_dir")
component_file = os.path.join(components_dir, "fapolicyd.yml")


def test_load():
    cs = ssg.components.load(components_dir)
    assert isinstance(cs, dict)
    assert len(cs) == 1
    assert "fapolicyd" in cs
    assert isinstance(cs["fapolicyd"], ssg.components.Component)
    assert cs["fapolicyd"].name == "fapolicyd"


def test_package_component_mapping():
    cs = ssg.components.load(components_dir)
    package_to_component = ssg.components.package_component_mapping(cs)
    assert isinstance(package_to_component, dict)
    assert len(package_to_component.keys()) == 1
    assert "fapolicyd-server" in package_to_component
    assert package_to_component["fapolicyd-server"] == ["fapolicyd"]


def test_template_component_mapping():
    cs = ssg.components.load(components_dir)
    template_to_component = ssg.components.template_component_mapping(cs)
    assert isinstance(template_to_component, dict)
    assert len(template_to_component.keys()) == 1
    assert "file_policy_blocked" in template_to_component
    assert template_to_component["file_policy_blocked"] == ["fapolicyd"]


def test_group_components_mapping():
    cs = ssg.components.load(components_dir)
    group_to_component = ssg.components.group_component_mapping(cs)
    assert isinstance(group_to_component, dict)
    assert len(group_to_component.keys()) == 2
    assert "fapolicy" in group_to_component
    assert len(group_to_component["fapolicy"]) == 1
    assert group_to_component["fapolicy"][0] == "fapolicyd"
    assert "integrity" in group_to_component
    assert len(group_to_component["integrity"]) == 1
    assert group_to_component["integrity"][0] == "fapolicyd"


def test_component_parse():
    c = ssg.components.Component(component_file)
    assert c.name == "fapolicyd"
    assert len(c.groups) == 2
    assert "fapolicy" in c.groups
    assert "integrity" in c.groups
    assert len(c.packages) == 1
    assert "fapolicyd-server" in c.packages
    assert len(c.rules) == 3
    assert "fapolicy_default_deny" in c.rules
    assert "fapolicyd_prevent_home_folder_access" in c.rules
    assert "service_fapolicyd_enabled" in c.rules
    assert len(c.templates) == 1
    assert "file_policy_blocked" in c.templates
    assert len(c.changelog) == 1
    assert "created in 2023" in c.changelog