|
23 | 23 | from packageurl import PackageURL |
24 | 24 |
|
25 | 25 | from vulnerabilities.utils import AffectedPackage |
| 26 | +from vulnerabilities.utils import get_item |
26 | 27 | from vulnerabilities.utils import nearest_patched_package |
27 | 28 | from vulnerabilities.utils import split_markdown_front_matter |
28 | 29 |
|
@@ -94,3 +95,17 @@ def test_split_markdown_front_matter(): |
94 | 95 |
|
95 | 96 | results = split_markdown_front_matter(text) |
96 | 97 | assert results == expected |
| 98 | + |
| 99 | + |
| 100 | +def test_get_item(): |
| 101 | + d1 = {"a": {"b": {"c": None}}} |
| 102 | + assert get_item(d1, "a", "b", "c", "d") == None |
| 103 | + d2 = {"a": {"b": {"c": {"d": None}}}} |
| 104 | + assert get_item(d2, "a", "b", "c", "e") == None |
| 105 | + d3 = ["a", "b", "c", "d"] |
| 106 | + assert get_item(d3, "a", "b") == None |
| 107 | + d4 = {"a": {"b": {"c": {"d": []}}}} |
| 108 | + assert get_item(d4, "a", "b", "c", "d", "e") == None |
| 109 | + d5 = {"a": {"b": {"c": "d"}}} |
| 110 | + assert get_item(d5, "a", "b", "c", "d") == None |
| 111 | + assert get_item(d5, "a", "b", "c") == "d" |
0 commit comments