@@ 23-44 (lines=22) @@ | ||
20 | self.api_client = get_test_client(controller, self.napp) |
|
21 | self.base_endpoint = "kytos/telemetry_int/v1" |
|
22 | ||
23 | async def test_enable_telemetry(self, monkeypatch) -> None: |
|
24 | """Test enable telemetry.""" |
|
25 | api_mock, flow = AsyncMock(), MagicMock() |
|
26 | flow.cookie = 0xA800000000000001 |
|
27 | monkeypatch.setattr( |
|
28 | "napps.kytos.telemetry_int.main.api", |
|
29 | api_mock, |
|
30 | ) |
|
31 | ||
32 | evc_id = utils.get_id_from_cookie(flow.cookie) |
|
33 | api_mock.get_evcs.return_value = { |
|
34 | evc_id: {"metadata": {"telemetry": {"enabled": False}}} |
|
35 | } |
|
36 | ||
37 | self.napp.int_manager = AsyncMock() |
|
38 | ||
39 | endpoint = f"{self.base_endpoint}/evc/enable" |
|
40 | response = await self.api_client.post(endpoint, json={"evc_ids": [evc_id]}) |
|
41 | assert self.napp.int_manager.enable_int.call_count == 1 |
|
42 | assert self.napp.int_manager._remove_int_flows.call_count == 1 |
|
43 | assert response.status_code == 201 |
|
44 | assert response.json() == [evc_id] |
|
45 | ||
46 | async def test_redeploy_telemetry(self, monkeypatch) -> None: |
|
47 | """Test redeploy telemetry.""" |
|
@@ 77-97 (lines=21) @@ | ||
74 | assert response.status_code == 400 |
|
75 | assert "evc_ids" in response.json()["description"] |
|
76 | ||
77 | async def test_disable_telemetry(self, monkeypatch) -> None: |
|
78 | """Test disable telemetry.""" |
|
79 | api_mock, flow = AsyncMock(), MagicMock() |
|
80 | flow.cookie = 0xA800000000000001 |
|
81 | monkeypatch.setattr( |
|
82 | "napps.kytos.telemetry_int.main.api", |
|
83 | api_mock, |
|
84 | ) |
|
85 | ||
86 | evc_id = utils.get_id_from_cookie(flow.cookie) |
|
87 | api_mock.get_evcs.return_value = { |
|
88 | evc_id: {"metadata": {"telemetry": {"enabled": True}}} |
|
89 | } |
|
90 | ||
91 | self.napp.int_manager = AsyncMock() |
|
92 | ||
93 | endpoint = f"{self.base_endpoint}/evc/disable" |
|
94 | response = await self.api_client.post(endpoint, json={"evc_ids": [evc_id]}) |
|
95 | assert self.napp.int_manager.disable_int.call_count == 1 |
|
96 | assert response.status_code == 200 |
|
97 | assert response.json() == [evc_id] |
|
98 | ||
99 | async def test_get_enabled_evcs(self, monkeypatch) -> None: |
|
100 | """Test get enabled evcs.""" |
|
@@ 46-66 (lines=21) @@ | ||
43 | assert response.status_code == 201 |
|
44 | assert response.json() == [evc_id] |
|
45 | ||
46 | async def test_redeploy_telemetry(self, monkeypatch) -> None: |
|
47 | """Test redeploy telemetry.""" |
|
48 | api_mock, flow = AsyncMock(), MagicMock() |
|
49 | flow.cookie = 0xA800000000000001 |
|
50 | monkeypatch.setattr( |
|
51 | "napps.kytos.telemetry_int.main.api", |
|
52 | api_mock, |
|
53 | ) |
|
54 | ||
55 | evc_id = utils.get_id_from_cookie(flow.cookie) |
|
56 | api_mock.get_evcs.return_value = { |
|
57 | evc_id: {"metadata": {"telemetry": {"enabled": False}}} |
|
58 | } |
|
59 | ||
60 | self.napp.int_manager = AsyncMock() |
|
61 | ||
62 | endpoint = f"{self.base_endpoint}/evc/redeploy" |
|
63 | response = await self.api_client.patch(endpoint, json={"evc_ids": [evc_id]}) |
|
64 | assert self.napp.int_manager.redeploy_int.call_count == 1 |
|
65 | assert response.status_code == 201 |
|
66 | assert response.json() == [evc_id] |
|
67 | ||
68 | @pytest.mark.parametrize("route", ["/evc/enable", "/evc/disable"]) |
|
69 | async def test_en_dis_openapi_validation(self, route: str) -> None: |