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