Passed
Push — master ( 7f62ad...2ec8a9 )
by Vinicius
02:07 queued 13s
created

test_kytos_api_helper.test_get_evcs()   A

Complexity

Conditions 1

Size

Total Lines 12
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 10
nop 2
dl 0
loc 12
ccs 8
cts 8
cp 1
crap 1
rs 9.9
c 0
b 0
f 0
1
"""Test kytos_api_helper.py"""
2 1
from unittest.mock import MagicMock
3 1
from napps.kytos.telemetry_int.kytos_api_helper import get_evcs, get_evc, get_evc_flows
4
5
6 1
def test_get_evcs(evcs_data, monkeypatch) -> None:
7
    """Test get_evcs."""
8 1
    httpx_mock, resp_mock = MagicMock(), MagicMock()
9 1
    resp_mock.json.return_value = evcs_data
10 1
    httpx_mock.return_value = resp_mock
11 1
    monkeypatch.setattr("httpx.get", httpx_mock)
12 1
    data = get_evcs()
13 1
    assert (
14
        httpx_mock.call_args[0][0]
15
        == "http://0.0.0.0:8181/api/kytos/mef_eline/v2/evc/?archived=false"
16
    )
17 1
    assert list(data.keys()) == ["3766c105686749", "cbee9338673946"]
18
19
20 1
def test_get_evc(evcs_data, monkeypatch) -> None:
21
    """Test get_evc."""
22 1
    evc_id = "3766c105686749"
23 1
    evc_data = evcs_data[evc_id]
24 1
    httpx_mock, resp_mock = MagicMock(), MagicMock()
25 1
    resp_mock.json.return_value = evc_data
26 1
    httpx_mock.return_value = resp_mock
27 1
    monkeypatch.setattr("httpx.get", httpx_mock)
28 1
    data = get_evc(evc_id)
29 1
    assert (
30
        httpx_mock.call_args[0][0]
31
        == f"http://0.0.0.0:8181/api/kytos/mef_eline/v2/evc/{evc_id}"
32
    )
33 1
    assert data[evc_id] == evc_data
34
35
36 1
def test_get_evc_flows(monkeypatch, intra_evc_evpl_flows_data) -> None:
37
    """Test get_evc_flows."""
38 1
    evc_data = intra_evc_evpl_flows_data
39 1
    dpid = "00:00:00:00:00:00:00:01"
40 1
    cookie = evc_data[dpid][0]["flow"]["cookie"]
41 1
    httpx_mock, resp_mock = MagicMock(), MagicMock()
42 1
    resp_mock.json.return_value = evc_data
43 1
    httpx_mock.return_value = resp_mock
44 1
    monkeypatch.setattr("httpx.get", httpx_mock)
45 1
    data = get_evc_flows(cookie, dpid)
46 1
    assert (
47
        httpx_mock.call_args[0][0]
48
        == "http://0.0.0.0:8181/api/kytos/flow_manager/v2/stored_flows?"
49
        f"cookie_range={cookie}&cookie_range={cookie}"
50
        f"&state=installed&state=pending&dpid={dpid}"
51
    )
52 1
    assert len(data) == 1
53
    assert len(data[dpid]) == 2
54