helpers.get_switch_mock()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 12
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 11
nop 3
dl 0
loc 12
ccs 10
cts 10
cp 1
crap 1
rs 9.85
c 0
b 0
f 0
1
"""Module to help to create Integration tests."""
2 1
from unittest.mock import Mock
3
4 1
from kytos.core import Controller
5 1
from kytos.core.config import KytosConfig
6 1
from kytos.core.connection import Connection, ConnectionState
7 1
from kytos.core.interface import Interface
8 1
from kytos.core.switch import Switch
9
10
11 1
def get_controller_mock():
12
    """Return a controller mock."""
13
    options = KytosConfig().options['daemon']
14
    controller = Controller(options)
15
    controller.log = Mock()
16
    return controller
17
18
19 1
def get_switch_mock(of_version, connection_state=ConnectionState.NEW,
20
                    dpid="00:00:00:00:00:00:00:01"):
21
    """Return a switch mock."""
22 1
    switch = Switch(dpid)
23 1
    address = Mock()
24 1
    port = Mock()
25 1
    socket = Mock()
26 1
    transport = Mock()
27 1
    switch.connection = Connection(address, port, socket, transport)
28 1
    switch.connection.protocol.version = of_version
29 1
    switch.connection.state = connection_state
30 1
    return switch
31
32
33 1
def get_interface_mock(interface_name, port, *args, **kwargs):
34
    """Return a interface mock."""
35 1
    switch = get_switch_mock(0x04)
36 1
    switch.connection = Mock()
37 1
    switch.connection.protocol.version = 0x04
38 1
    iface = Interface(interface_name, port, switch, *args, **kwargs)
39
    return iface
40