1
|
|
|
"""Test INTManager""" |
2
|
|
|
|
3
|
1 |
|
from unittest.mock import AsyncMock, MagicMock |
4
|
1 |
|
from napps.kytos.telemetry_int.managers.int import INTManager |
5
|
|
|
|
6
|
|
|
|
7
|
1 |
|
class TestINTManager: |
8
|
|
|
|
9
|
|
|
"""TestINTManager.""" |
10
|
|
|
|
11
|
1 |
|
async def test_disable_int_metadata(self, monkeypatch) -> None: |
12
|
|
|
"""Test disable INT metadata args.""" |
13
|
1 |
|
controller = MagicMock() |
14
|
1 |
|
api_mock = AsyncMock() |
15
|
1 |
|
monkeypatch.setattr("napps.kytos.telemetry_int.managers.int.api", api_mock) |
16
|
|
|
|
17
|
1 |
|
int_manager = INTManager(controller) |
18
|
1 |
|
int_manager.remove_int_flows = AsyncMock() |
19
|
1 |
|
await int_manager.disable_int({}, False) |
20
|
|
|
|
21
|
1 |
|
assert api_mock.add_evcs_metadata.call_count == 1 |
22
|
1 |
|
args = api_mock.add_evcs_metadata.call_args[0] |
23
|
1 |
|
assert args[0] == {} |
24
|
1 |
|
assert "telemetry" in args[1] |
25
|
1 |
|
telemetry_dict = args[1]["telemetry"] |
26
|
1 |
|
expected_keys = ["enabled", "status", "status_reason", "status_updated_at"] |
27
|
1 |
|
assert sorted(list(telemetry_dict.keys())) == sorted(expected_keys) |
28
|
|
|
|
29
|
1 |
|
assert not telemetry_dict["enabled"] |
30
|
1 |
|
assert telemetry_dict["status"] == "DOWN" |
31
|
1 |
|
assert telemetry_dict["status_reason"] == ["disabled"] |
32
|
|
|
|
33
|
1 |
|
assert args[2] is False |
34
|
|
|
|
35
|
1 |
|
async def test_enable_int_metadata(self, monkeypatch) -> None: |
36
|
|
|
"""Test enable INT metadata args.""" |
37
|
1 |
|
controller = MagicMock() |
38
|
1 |
|
api_mock = AsyncMock() |
39
|
1 |
|
stored_flows_mock = AsyncMock() |
40
|
1 |
|
monkeypatch.setattr("napps.kytos.telemetry_int.managers.int.api", api_mock) |
41
|
1 |
|
monkeypatch.setattr( |
42
|
|
|
"napps.kytos.telemetry_int.utils.get_found_stored_flows", stored_flows_mock |
43
|
|
|
) |
44
|
|
|
|
45
|
1 |
|
int_manager = INTManager(controller) |
46
|
1 |
|
int_manager.remove_int_flows = AsyncMock() |
47
|
1 |
|
await int_manager.enable_int({}, False) |
48
|
|
|
|
49
|
1 |
|
assert stored_flows_mock.call_count == 1 |
50
|
1 |
|
assert api_mock.add_evcs_metadata.call_count == 1 |
51
|
1 |
|
args = api_mock.add_evcs_metadata.call_args[0] |
52
|
1 |
|
assert args[0] == {} |
53
|
1 |
|
assert "telemetry" in args[1] |
54
|
1 |
|
telemetry_dict = args[1]["telemetry"] |
55
|
1 |
|
expected_keys = ["enabled", "status", "status_reason", "status_updated_at"] |
56
|
1 |
|
assert sorted(list(telemetry_dict.keys())) == sorted(expected_keys) |
57
|
|
|
|
58
|
1 |
|
assert telemetry_dict["enabled"] is True |
59
|
1 |
|
assert telemetry_dict["status"] == "UP" |
60
|
|
|
assert telemetry_dict["status_reason"] == [] |
61
|
|
|
|