Skip to content

Commit 77e4481

Browse files
committed
test: salt unit test for metalk8s_olm
1 parent 862e0e8 commit 77e4481

File tree

2 files changed

+102
-0
lines changed

2 files changed

+102
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
clustercatalog_serving:
2+
- name: serving-catalog
3+
manifest:
4+
status:
5+
conditions:
6+
- type: "Serving"
7+
status: "True"
8+
reason: "Serving"
9+
message: "Serving"
10+
expected_result: True
11+
- name: failed-catalog
12+
manifest:
13+
status:
14+
conditions:
15+
- type: "Serving"
16+
status: "False"
17+
reason: "Failed"
18+
message: "Failed"
19+
expected_result: False
20+
- name: unknown-state
21+
manifest:
22+
status:
23+
conditions: []
24+
expected_result: False
25+
clusterextension_installed:
26+
- name: extension-installed
27+
manifest:
28+
status:
29+
conditions:
30+
- type: "Installed"
31+
status: "True"
32+
reason: "Installed"
33+
message: "Installed"
34+
expected_result: True
35+
- name: failed-install
36+
manifest:
37+
status:
38+
conditions:
39+
- type: "Installed"
40+
status: "False"
41+
reason: "Failed"
42+
message: "Failed"
43+
expected_result: False
44+
- name: unknown-install-state
45+
manifest:
46+
status:
47+
conditions: []
48+
expected_result: False
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import os.path
2+
from unittest import TestCase
3+
from unittest.mock import MagicMock, patch
4+
import yaml
5+
6+
from _modules import metalk8s_olm
7+
8+
from tests.unit import mixins
9+
from tests.unit import utils
10+
11+
YAML_TESTS_FILE = os.path.join(
12+
os.path.dirname(os.path.abspath(__file__)), "files", "test_metalk8s_olm.yaml"
13+
)
14+
15+
with open(YAML_TESTS_FILE) as fd:
16+
YAML_TESTS_CASES = yaml.safe_load(fd)
17+
18+
19+
class Metalk8sOLMTestCase(TestCase, mixins.LoaderModuleMockMixin):
20+
"""Test case for the olm module"""
21+
22+
loader_module = metalk8s_olm
23+
24+
def test_virtual(self):
25+
"""
26+
Tests the return of `__virtual__` function
27+
"""
28+
self.assertEqual(metalk8s_olm.__virtual__(), "metalk8s_olm")
29+
30+
@utils.parameterized_from_cases(YAML_TESTS_CASES["clustercatalog_serving"])
31+
def test_check_clustercatalog_serving(self, name, manifest, expected_result):
32+
"""
33+
Tests the `check_clustercatalog_serving` function
34+
"""
35+
get_object_mock = MagicMock(return_value=manifest)
36+
with patch.dict(
37+
metalk8s_olm.__salt__, {"metalk8s_kubernetes.get_object": get_object_mock}
38+
):
39+
self.assertEqual(
40+
metalk8s_olm.check_clustercatalog_serving(name), expected_result
41+
)
42+
43+
@utils.parameterized_from_cases(YAML_TESTS_CASES["clusterextension_installed"])
44+
def test_check_clusterextension_installed(self, name, manifest, expected_result):
45+
"""
46+
Tests the `check_clusterextension_installed` function
47+
"""
48+
get_object_mock = MagicMock(return_value=manifest)
49+
with patch.dict(
50+
metalk8s_olm.__salt__, {"metalk8s_kubernetes.get_object": get_object_mock}
51+
):
52+
self.assertEqual(
53+
metalk8s_olm.check_clusterextension_installed(name), expected_result
54+
)

0 commit comments

Comments
 (0)