Test Failed
Pull Request — master (#46)
by Vinicius
06:23
created

TestINTManager.test_enable_int_metadata()   A

Complexity

Conditions 1

Size

Total Lines 21
Code Lines 17

Duplication

Lines 21
Ratio 100 %

Importance

Changes 0
Metric Value
cc 1
eloc 17
nop 2
dl 21
loc 21
rs 9.55
c 0
b 0
f 0
1
"""Test INTManager"""
2
3
from unittest.mock import AsyncMock, MagicMock
4
from napps.kytos.telemetry_int.managers.int import INTManager
5
6
7
class TestINTManager:
8
9
    """TestINTManager."""
10
11 View Code Duplication
    async def test_disable_int_metadata(self, monkeypatch) -> None:
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
12
        """Test disable INT metadata args."""
13
        controller = MagicMock()
14
        api_mock = AsyncMock()
15
        monkeypatch.setattr("napps.kytos.telemetry_int.managers.int.api", api_mock)
16
17
        int_manager = INTManager(controller)
18
        int_manager.remove_int_flows = AsyncMock()
19
        await int_manager.disable_int({}, False)
20
21
        assert api_mock.add_evcs_metadata.call_count == 1
22
        args = api_mock.add_evcs_metadata.call_args[0]
23
        assert args[0] == {}
24
        assert "telemetry" in args[1]
25
        telemetry_dict = args[1]["telemetry"]
26
        expected_keys = ["enabled", "status", "status_reason", "status_updated_at"]
27
        assert sorted(list(telemetry_dict.keys())) == sorted(expected_keys)
28
29
        assert not telemetry_dict["enabled"]
30
        assert telemetry_dict["status"] == "DOWN"
31
        assert telemetry_dict["status_reason"] == ["disabled"]
32
33
        assert args[2] is False
34
35 View Code Duplication
    async def test_enable_int_metadata(self, monkeypatch) -> None:
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
36
        """Test enable INT metadata args."""
37
        controller = MagicMock()
38
        api_mock = AsyncMock()
39
        monkeypatch.setattr("napps.kytos.telemetry_int.managers.int.api", api_mock)
40
41
        int_manager = INTManager(controller)
42
        int_manager.remove_int_flows = AsyncMock()
43
        await int_manager.enable_int({}, False)
44
45
        assert api_mock.add_evcs_metadata.call_count == 1
46
        args = api_mock.add_evcs_metadata.call_args[0]
47
        assert args[0] == {}
48
        assert "telemetry" in args[1]
49
        telemetry_dict = args[1]["telemetry"]
50
        expected_keys = ["enabled", "status", "status_reason", "status_updated_at"]
51
        assert sorted(list(telemetry_dict.keys())) == sorted(expected_keys)
52
53
        assert telemetry_dict["enabled"] is True
54
        assert telemetry_dict["status"] == "UP"
55
        assert telemetry_dict["status_reason"] == []
56