1
|
|
|
"""Module to test LivenessController.""" |
2
|
|
|
# pylint: disable=invalid-name,relative-beyond-top-level |
3
|
|
|
|
4
|
1 |
|
from unittest.mock import MagicMock |
5
|
|
|
|
6
|
|
|
|
7
|
1 |
|
class TestLivenessController: # pylint: disable=too-many-public-methods |
8
|
|
|
"""Test the Main class.""" |
9
|
|
|
|
10
|
1 |
|
def test_boostrap_indexes(self, liveness_controller) -> None: |
11
|
|
|
"""Test_boostrap_indexes.""" |
12
|
1 |
|
liveness_controller.bootstrap_indexes() |
13
|
|
|
|
14
|
1 |
|
expected_indexes = [("liveness", [("enabled", 1)])] |
15
|
1 |
|
mock = liveness_controller.mongo.bootstrap_index |
16
|
1 |
|
assert mock.call_count == len(expected_indexes) |
17
|
1 |
|
indexes = [(v[0][0], v[0][1]) for v in mock.call_args_list] |
18
|
1 |
|
assert expected_indexes == indexes |
19
|
|
|
|
20
|
1 |
|
def test_get_enabled_interfaces(self, liveness_controller) -> None: |
21
|
|
|
"""Test get_enabled_interfaces.""" |
22
|
1 |
|
liveness_controller.get_enabled_interfaces() |
23
|
1 |
|
assert liveness_controller.db.liveness.aggregate.call_count == 1 |
24
|
1 |
|
call_args = liveness_controller.db.liveness.aggregate.call_args |
25
|
1 |
|
assert call_args[0][0] == [ |
26
|
|
|
{"$match": {"enabled": True}}, |
27
|
|
|
{"$sort": {"_id": 1}}, |
28
|
|
|
{"$project": {"_id": 0}}, |
29
|
|
|
] |
30
|
|
|
|
31
|
1 |
|
def test_upsert_interfaces(self, liveness_controller) -> None: |
32
|
|
|
"""Test upsert_interfaces.""" |
33
|
1 |
|
intf_ids = ["00:00:00:00:00:00:00:01:2", "00:00:00:00:00:00:00:02:2"] |
34
|
1 |
|
intf_dicts = [{"enabled": True}, {"enabled": True}] |
35
|
1 |
|
liveness_controller.upsert_interfaces(intf_ids, intf_dicts) |
36
|
1 |
|
assert liveness_controller.db.liveness.bulk_write.call_count == 1 |
37
|
|
|
|
38
|
1 |
|
def test_enable_interfaces(self, liveness_controller) -> None: |
39
|
|
|
"""Test enable_interfaces.""" |
40
|
1 |
|
intf_ids = ["00:00:00:00:00:00:00:01:2", "00:00:00:00:00:00:00:02:2"] |
41
|
1 |
|
liveness_controller.upsert_interfaces = MagicMock() |
42
|
1 |
|
upsert_mock = liveness_controller.upsert_interfaces |
43
|
1 |
|
liveness_controller.enable_interfaces(intf_ids) |
44
|
1 |
|
assert upsert_mock.call_count == 1 |
45
|
1 |
|
upsert_mock.assert_called_with( |
46
|
|
|
intf_ids, |
47
|
|
|
[{"enabled": True}, {"enabled": True}], |
48
|
|
|
upsert=True, |
49
|
|
|
) |
50
|
|
|
|
51
|
1 |
|
def test_disable_interfaces(self, liveness_controller) -> None: |
52
|
|
|
"""Test disable_interfaces.""" |
53
|
1 |
|
intf_ids = ["00:00:00:00:00:00:00:01:2", "00:00:00:00:00:00:00:02:2"] |
54
|
1 |
|
liveness_controller.upsert_interfaces = MagicMock() |
55
|
1 |
|
upsert_mock = liveness_controller.upsert_interfaces |
56
|
1 |
|
liveness_controller.disable_interfaces(intf_ids) |
57
|
1 |
|
assert upsert_mock.call_count == 1 |
58
|
1 |
|
upsert_mock.assert_called_with( |
59
|
|
|
intf_ids, |
60
|
|
|
[{"enabled": False}, {"enabled": False}], |
61
|
|
|
upsert=False, |
62
|
|
|
) |
63
|
|
|
|
64
|
1 |
|
def test_delete_interfaces(self, liveness_controller) -> None: |
65
|
|
|
"""Test delete_interfaces.""" |
66
|
1 |
|
intf_ids = ["00:00:00:00:00:00:00:01:2", "00:00:00:00:00:00:00:02:2"] |
67
|
1 |
|
liveness_controller.delete_interfaces(intf_ids) |
68
|
1 |
|
mock = liveness_controller.db.liveness.delete_many |
69
|
1 |
|
assert mock.call_count == 1 |
70
|
1 |
|
mock.assert_called_with({"_id": {"$in": intf_ids}}) |
71
|
|
|
|
72
|
1 |
|
def test_delete_interface(self, liveness_controller) -> None: |
73
|
|
|
"""Test delete_interface.""" |
74
|
1 |
|
intf_id = "00:00:00:00:00:00:00:01:1" |
75
|
1 |
|
liveness_controller.delete_interface(intf_id) |
76
|
1 |
|
mock = liveness_controller.db.liveness.find_one_and_delete |
77
|
1 |
|
assert mock.call_count == 1 |
78
|
|
|
mock.assert_called_with({"_id": intf_id}) |
79
|
|
|
|