build.tests.integration.helpers   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 28
dl 0
loc 39
rs 10
c 0
b 0
f 0
wmc 3

3 Functions

Rating   Name   Duplication   Size   Complexity  
A get_controller_mock() 0 6 1
A get_interface_mock() 0 7 1
A get_switch_mock() 0 11 1
1
"""Module to help to create Integration tests."""
2
from unittest.mock import Mock
3
4
from kytos.core import Controller
5
from kytos.core.config import KytosConfig
6
from kytos.core.connection import Connection, ConnectionState
7
from kytos.core.interface import Interface
8
from kytos.core.switch import Switch
9
10
11
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
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
    switch = Switch(dpid)
23
    address = Mock()
24
    port = Mock()
25
    socket = Mock()
26
    switch.connection = Connection(address, port, socket)
27
    switch.connection.protocol.version = of_version
28
    switch.connection.state = connection_state
29
    return switch
30
31
32
def get_interface_mock(interface_name, port, *args, **kwargs):
33
    """Return a interface mock."""
34
    switch = get_switch_mock
35
    switch.connection = Mock()
36
    switch.connection.protocol.version = 0x04
37
    iface = Interface(interface_name, port, switch, *args, **kwargs)
38
    return iface
39