Passed
Push — master ( 74a04b...775f07 )
by Vinicius
04:04 queued 32s
created

TestGenericEntity.setup_method()   A

Complexity

Conditions 1

Size

Total Lines 5
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 4
nop 1
dl 0
loc 5
ccs 4
cts 4
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
"""Test kytos.core.common module."""
2 1
from unittest.mock import MagicMock
3
4 1
from kytos.core.common import GenericEntity
5
6
7
# pylint: disable=protected-access, too-many-public-methods
8 1
class TestGenericEntity:
9
    """GenericEntity tests."""
10
11 1
    def setup_method(self):
12
        """Instantiate a GenericEntity."""
13 1
        self.generic_entity = GenericEntity()
14 1
        self.generic_entity._active = True
15 1
        self.generic_entity._enabled = True
16
17 1
    def test_is_enabled__true(self):
18
        """Test is_enabled method if _enabled is true."""
19 1
        enabled = self.generic_entity.is_enabled()
20
21 1
        assert enabled
22
23 1
    def test_is_enabled__false(self):
24
        """Test is_enabled method if _enabled is false."""
25 1
        self.generic_entity._enabled = False
26 1
        enabled = self.generic_entity.is_enabled()
27
28 1
        assert not enabled
29
30 1
    def test_is_active__true(self):
31
        """Test is_active method if _active is true."""
32 1
        active = self.generic_entity.is_active()
33
34 1
        assert active
35
36 1
    def test_is_active__false(self):
37
        """Test is_active method if _active is false."""
38 1
        self.generic_entity._active = False
39 1
        active = self.generic_entity.is_active()
40
41 1
        assert not active
42
43 1
    def test_activate(self):
44
        """Test activate method."""
45 1
        self.generic_entity.activate()
46
47 1
        assert self.generic_entity._active
48
49 1
    def test_deactivate(self):
50
        """Test deactivate method."""
51 1
        self.generic_entity.deactivate()
52
53 1
        assert not self.generic_entity._active
54
55 1
    def test_enable(self):
56
        """Test enable method."""
57 1
        self.generic_entity.enable()
58
59 1
        assert self.generic_entity._enabled
60
61 1
    def test_disable(self):
62
        """Test disable method."""
63 1
        self.generic_entity.disable()
64
65 1
        assert not self.generic_entity._enabled
66
67 1
    def test_status__up(self):
68
        """Test status property if _enabled and _active are true."""
69 1
        self.generic_entity._enabled = True
70 1
        self.generic_entity._active = True
71
72 1
        status = self.generic_entity.status
73
74 1
        assert status.value == "UP"
75
76 1
    def test_status__disabled(self):
77
        """Test status property if _enabled is false."""
78 1
        self.generic_entity._enabled = False
79
80 1
        status = self.generic_entity.status
81
82 1
        assert status.value == "DISABLED"
83
84 1
    def test_status__down(self):
85
        """Test status property if _active is false."""
86 1
        self.generic_entity._active = False
87
88 1
        status = self.generic_entity.status
89
90 1
        assert status.value == "DOWN"
91
92 1
    def test_add_metadata__exists(self):
93
        """Test add_metadata method if metadata exists."""
94 1
        self.generic_entity.metadata = {'ABC': 123}
95
96 1
        self.generic_entity.add_metadata('ABC', 123)
97
98 1
        metadata = self.generic_entity.metadata
99 1
        assert metadata == {'ABC': 123}
100
101 1
    def test_add_metadata__not_exists(self):
102
        """Test add_metadata method if metadata does not exist."""
103 1
        self.generic_entity.add_metadata('ABC', 123)
104
105 1
        metadata = self.generic_entity.metadata
106 1
        assert metadata == {'ABC': 123}
107
108 1
    def test_remove_metadata__exists(self):
109
        """Test remove_metadata method if metadata exists."""
110 1
        self.generic_entity.metadata = {'ABC': 123}
111
112 1
        self.generic_entity.remove_metadata('ABC')
113
114 1
        metadata = self.generic_entity.metadata
115 1
        assert not metadata
116
117 1
    def test_remove_metadata__not_exists(self):
118
        """Test remove_metadata method if metadata does not exist."""
119 1
        self.generic_entity.remove_metadata('ABC')
120
121 1
        metadata = self.generic_entity.metadata
122 1
        assert not metadata
123
124 1
    def test_get_metadata(self):
125
        """Test get_metadata method."""
126 1
        self.generic_entity.metadata = {'ABC': 123}
127
128 1
        value = self.generic_entity.get_metadata('ABC')
129
130 1
        assert value == 123
131
132 1
    def test_get_metadata_as_dict(self):
133
        """Test get_metadata_as_dict method."""
134 1
        value = MagicMock()
135 1
        value.as_dict.return_value = {'A': 1, 'B': 2, 'C': 3}
136 1
        self.generic_entity.metadata = {'ABC': value}
137
138 1
        metadata = self.generic_entity.get_metadata_as_dict()
139
140 1
        assert metadata == {'ABC': {'A': 1, 'B': 2, 'C': 3}}
141
142 1
    def test_update_metadata(self):
143
        """Test update_metadata method."""
144 1
        self.generic_entity.metadata = {'ABC': 123}
145
146 1
        self.generic_entity.update_metadata('ABC', 456)
147
148 1
        metadata = self.generic_entity.metadata
149 1
        assert metadata == {'ABC': 456}
150
151 1
    def test_clear_metadata(self):
152
        """Test clear_metadata method."""
153 1
        self.generic_entity.metadata = {'ABC': 123}
154
155 1
        self.generic_entity.clear_metadata()
156
157 1
        metadata = self.generic_entity.metadata
158 1
        assert not metadata
159
160 1
    def test_extend_metadata__not_force(self):
161
        """Test extend_metadata method by not forcing update."""
162 1
        self.generic_entity.metadata = {'ABC': 123}
163
164 1
        self.generic_entity.extend_metadata({'ABC': 456, 'DEF': 789}, False)
165
166 1
        metadata = self.generic_entity.metadata
167 1
        assert metadata == {'ABC': 123, 'DEF': 789}
168
169 1
    def test_extend_metadata__force(self):
170
        """Test extend_metadata method by forcing update."""
171 1
        self.generic_entity.metadata = {'ABC': 123}
172
173 1
        self.generic_entity.extend_metadata({'ABC': 456, 'DEF': 789}, True)
174
175 1
        metadata = self.generic_entity.metadata
176
        assert metadata == {'ABC': 456, 'DEF': 789}
177