Fix security versions script
[integration.git] / test / security / check_versions / tests / test_verify_versions_acceptability.py
1 #!/usr/bin/env python3
2
3 import k8s_bin_versions_inspector as kbvi
4 import yaml
5 import tempfile
6 import pathlib
7
8
9 def exec_verify_versions_acceptability(containers):
10     config = {
11         "python": ["1.1.1", "2.2.2"],
12         "java": ["3.3.3"],
13     }
14
15     with tempfile.NamedTemporaryFile() as temp:
16         with open(temp.name, "w") as stream:
17             yaml.safe_dump(config, stream)
18         acceptable = pathlib.Path(temp.name)
19         result = kbvi.verify_versions_acceptability(containers, acceptable, True)
20
21     return result
22
23
24 def test_verify_versions_acceptability():
25     containers = [
26         kbvi.ContainerInfo("a", "b", "c", None, kbvi.ContainerVersions([], [])),
27         kbvi.ContainerInfo(
28             "a", "b", "c", None, kbvi.ContainerVersions(["1.1.1"], ["3.3.3"])
29         ),
30     ]
31
32     result = exec_verify_versions_acceptability(containers)
33
34     assert result == 0
35
36
37 def test_verify_versions_acceptability_neg_1():
38     containers = [
39         kbvi.ContainerInfo("a", "b", "c", None, kbvi.ContainerVersions(["3.3.3"], []))
40     ]
41
42     result = exec_verify_versions_acceptability(containers)
43
44     assert result == 1
45
46
47 def test_verify_versions_acceptability_neg_2():
48     containers = [
49         kbvi.ContainerInfo("a", "b", "c", None, kbvi.ContainerVersions([], ["1.1.1"]))
50     ]
51
52     result = exec_verify_versions_acceptability(containers)
53
54     assert result == 1