|
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
|
|
|
|