Skip to content

Commit f1b8284

Browse files
committed
test: salt unit test for metalk8s_olm
1 parent a819459 commit f1b8284

File tree

2 files changed

+101
-0
lines changed

2 files changed

+101
-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: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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+
class Metalk8sOLMTestCase(TestCase, mixins.LoaderModuleMockMixin):
19+
"""Test case for the olm module"""
20+
21+
loader_module = metalk8s_olm
22+
23+
def test_virtual(self):
24+
"""
25+
Tests the return of `__virtual__` function
26+
"""
27+
self.assertEqual(metalk8s_olm.__virtual__(), "metalk8s_olm")
28+
29+
@utils.parameterized_from_cases(YAML_TESTS_CASES["clustercatalog_serving"])
30+
def test_check_clustercatalog_serving(self, name, manifest, expected_result):
31+
"""
32+
Tests the `check_clustercatalog_serving` function
33+
"""
34+
get_object_mock = MagicMock(return_value=manifest)
35+
with patch.dict(
36+
metalk8s_olm.__salt__, {"metalk8s_kubernetes.get_object": get_object_mock}
37+
):
38+
self.assertEqual(
39+
metalk8s_olm.check_clustercatalog_serving(name), expected_result
40+
)
41+
42+
@utils.parameterized_from_cases(YAML_TESTS_CASES["clusterextension_installed"])
43+
def test_check_clusterextension_installed(self, name, manifest, expected_result):
44+
"""
45+
Tests the `check_clusterextension_installed` function
46+
"""
47+
get_object_mock = MagicMock(return_value=manifest)
48+
with patch.dict(
49+
metalk8s_olm.__salt__, {"metalk8s_kubernetes.get_object": get_object_mock}
50+
):
51+
self.assertEqual(
52+
metalk8s_olm.check_clusterextension_installed(name), expected_result
53+
)

0 commit comments

Comments
 (0)