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

test_kytos_api_helper   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 54
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 39
dl 0
loc 54
ccs 32
cts 32
cp 1
rs 10
c 0
b 0
f 0
wmc 3

3 Functions

Rating   Name   Duplication   Size   Complexity  
A test_get_evcs() 0 12 1
A test_get_evc() 0 14 1
A test_get_evc_flows() 0 18 1
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