tests.unit_tests.test_shared_static_methods_of_parser   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 37
dl 0
loc 51
rs 10
c 0
b 0
f 0
wmc 4

4 Functions

Rating   Name   Duplication   Size   Complexity  
A test_get_key_of_xml_element() 0 9 1
A test_get_unique_id_in_dict() 0 11 1
A test_get_text_of_xml_element() 0 9 1
A fixture_parametrized_element() 0 5 1
1
# Copyright 2022, Red Hat, Inc.
2
# SPDX-License-Identifier: LGPL-2.1-or-later
3
4
import pytest
5
from lxml import etree
6
7
from openscap_report.scap_results_parser.parsers.shared_static_methods_of_parser import \
8
    SharedStaticMethodsOfParser
9
10
11
@pytest.mark.unit_test
12
@pytest.mark.parametrize("object_, dict_", [
13
    (etree.Element("xml_element"), {}),
14
    (etree.Element("xml_element"), {"xml_element": "value"}),
15
    (etree.Element("xml_element"), {"xml": "value"}),
16
    (etree.Element("{}xml_element"), {"xml_element": "value"}),
17
    (etree.Element("{NAME_SPACE}xml_element"), {"xml_element": "value"}),
18
])
19
def test_get_unique_id_in_dict(object_, dict_):
20
    unique_id = SharedStaticMethodsOfParser.get_unique_id_in_dict(object_, dict_)
21
    assert unique_id not in dict_.keys()
22
23
24
@pytest.mark.unit_test
25
@pytest.mark.parametrize("elem, expect_key", [
26
    (etree.Element("xml_element"), "xml_element"),
27
    (etree.Element("{}xml_element"), "xml_element"),
28
    (etree.Element("{NAME_SPACE}xml_element"), "xml_element"),
29
])
30
def test_get_key_of_xml_element(elem, expect_key):
31
    key_element = SharedStaticMethodsOfParser.get_key_of_xml_element(elem)
32
    assert key_element == expect_key
33
34
35
@pytest.fixture(name="parametrized_element")
36
def fixture_parametrized_element(request):
37
    e = etree.Element("xml_element")
38
    e.text = request.param
39
    return e
40
41
42
@pytest.mark.unit_test
43
@pytest.mark.parametrize("parametrized_element, expected_text", [
44
    (None, ""),
45
    ("", ""),
46
    ("abcd", "abcd"),
47
], indirect=["parametrized_element"])
48
def test_get_text_of_xml_element(parametrized_element, expected_text):
49
    text = SharedStaticMethodsOfParser.get_text_of_xml_element(parametrized_element)
50
    assert text == expected_text
51