Total Complexity | 4 |
Total Lines | 58 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | """Tests for the DB controller.""" |
||
2 | from unittest import TestCase |
||
3 | from unittest.mock import MagicMock |
||
4 | |||
5 | from controllers import ELineController |
||
6 | |||
7 | |||
8 | class TestControllers(TestCase): |
||
9 | """Test DB Controllers""" |
||
10 | |||
11 | def setUp(self) -> None: |
||
12 | self.eline = ELineController(MagicMock()) |
||
13 | self.evc_dict = { |
||
14 | "id": "1234", |
||
15 | "uni_a": { |
||
16 | "interface_id": "00:00:00:00:00:00:00:01:1", |
||
17 | "tag": { |
||
18 | "tag_type": 1, |
||
19 | "value": 200, |
||
20 | } |
||
21 | }, |
||
22 | "uni_z": { |
||
23 | "interface_id": "00:00:00:00:00:00:00:02:2", |
||
24 | "tag": { |
||
25 | "tag_type": 1, |
||
26 | "value": 200, |
||
27 | } |
||
28 | }, |
||
29 | "name": "EVC 1", |
||
30 | "dynamic_backup_path": True, |
||
31 | "creation_time": "2022-05-06T21:34:10", |
||
32 | "priority": 100, |
||
33 | "active": False, |
||
34 | "enabled": True, |
||
35 | "circuit_scheduler": [] |
||
36 | } |
||
37 | |||
38 | def test_bootstrap_indexes(self): |
||
39 | """Test bootstrap_indexes""" |
||
40 | self.eline.bootstrap_indexes() |
||
41 | expected_indexes = [ |
||
42 | ("evcs", [("circuit_scheduler", 1)]), |
||
43 | ] |
||
44 | mock = self.eline.mongo.bootstrap_index |
||
45 | assert mock.call_count == len(expected_indexes) |
||
46 | |||
47 | def test_get_circuits(self): |
||
48 | """Test get_circuits""" |
||
49 | |||
50 | assert "circuits" in self.eline.get_circuits() |
||
51 | assert self.eline.db.evcs.aggregate.call_count == 1 |
||
52 | |||
53 | def test_upsert_evc(self): |
||
54 | """Test upsert_evc""" |
||
55 | |||
56 | self.eline.upsert_evc(self.evc_dict) |
||
57 | assert self.eline.db.evcs.find_one_and_update.call_count == 1 |
||
58 |