3 import k8s_bin_versions_inspector as kbvi
9 def exec_main(pod_name_trimmer, acceptable_data):
10 with tempfile.NamedTemporaryFile() as output_temp, tempfile.NamedTemporaryFile() as acceptable_temp:
11 with open(acceptable_temp.name, "w") as stream:
12 yaml.safe_dump(acceptable_data, stream)
26 with open(output_temp.name, "r") as stream:
27 output_data = json.load(stream)
31 pod_name_trimmer(item["pod"]),
33 item["versions"]["python"],
34 item["versions"]["java"],
36 for item in output_data
38 output_sorted = sorted(output_extracted)
40 assert output_sorted == [
41 ("default", "kbvi-test-java-keycloak", "keycloak", [], ["11.0.8"]),
42 ("default", "kbvi-test-java-keycloak-old", "keycloak-old", [], ["11.0.5"]),
45 "kbvi-test-java-keycloak-very-old",
50 ("default", "kbvi-test-python-jupyter", "jupyter", ["3.8.4"], []),
51 ("default", "kbvi-test-python-jupyter-old", "jupyter-old", ["3.6.6"], []),
52 ("default", "kbvi-test-python-stderr-filebeat", "filebeat", ["2.7.5"], []),
53 ("default", "kbvi-test-terminated", "python", [], []),
54 ("ingress-nginx", "kbvi-test-ingress-nginx", "echo-server", [], []),
55 ("kube-system", "kbvi-test-kube-system", "echo-server", [], []),
61 def test_main(pod_name_trimmer):
63 "python": ["2.7.5", "3.6.6", "3.8.4"],
64 "java": ["11.0.5", "11.0.8"],
67 result = exec_main(pod_name_trimmer, acceptable_data)
72 def test_main_neg(pod_name_trimmer):
74 "python": ["3.6.6", "3.8.4"],
75 "java": ["11.0.5", "11.0.8"],
78 result = exec_main(pod_name_trimmer, acceptable_data)