Skip to content

Commit d44cbb2

Browse files
committed
[airos] add test for interface functions with default values
1 parent 62ac1ae commit d44cbb2

1 file changed

Lines changed: 159 additions & 0 deletions

File tree

tests/airos/test_interface.py

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
from unittest import TestCase
2+
from netjsonconfig.backends.airos.interface import (autonegotiation, bridge,
3+
bssid, encryption,
4+
flowcontrol, hidden_ssid,
5+
mode, protocol, psk, radio,
6+
split_cidr, ssid, stp, vlan,
7+
wireless)
8+
9+
class InterfaceTest(TestCase):
10+
def test_autonegotiation(self):
11+
enabled = {
12+
'type': "ethernet",
13+
'name': "eth0",
14+
'autoneg': True,
15+
}
16+
disabled = {
17+
'type': "ethernet",
18+
'name': "eth0",
19+
'autoneg': False,
20+
}
21+
missing = {
22+
'type': "ethernet",
23+
'name': "eth0",
24+
}
25+
self.assertEqual(autonegotiation(enabled), 'enabled')
26+
self.assertEqual(autonegotiation(disabled), 'disabled')
27+
self.assertEqual(autonegotiation(missing), 'disabled')
28+
29+
def test_bssid(self):
30+
present = {
31+
'type': 'wireless',
32+
'name': 'wlan0',
33+
'wireless': {
34+
'mode': 'station',
35+
'ssid': 'ubnt',
36+
'bssid': '00:11:22:33:44:55',
37+
}
38+
}
39+
missing = {
40+
'type': 'wireless',
41+
'name': 'wlan0',
42+
'wireless': {
43+
'mode': 'station',
44+
'ssid': 'ubnt',
45+
}
46+
}
47+
48+
self.assertEqual(bssid(present), '00:11:22:33:44:55')
49+
self.assertEqual(bssid(missing), '')
50+
51+
def test_encryption(self):
52+
present = {
53+
'type': 'wireless',
54+
'name': 'wlan0',
55+
'wireless': {
56+
'mode': 'station',
57+
'ssid': 'ubnt',
58+
'encryption': {
59+
'protocol': 'wpa2_personal',
60+
'password': 'changeme',
61+
},
62+
}
63+
}
64+
missing = {
65+
'type': 'wireless',
66+
'name': 'wlan0',
67+
'wireless': {
68+
'mode': 'station',
69+
'ssid': 'ubnt',
70+
}
71+
}
72+
self.assertEqual(encryption(present), {'protocol': 'wpa2_personal', 'password': 'changeme'})
73+
self.assertEqual(encryption(missing), {'protocol': 'none'})
74+
75+
def test_flowcontrol(self):
76+
enabled = {
77+
'type': "ethernet",
78+
'name': "eth0",
79+
'flowcontrol': True,
80+
}
81+
disabled = {
82+
'type': "ethernet",
83+
'name': "eth0",
84+
'flowcontrol': False,
85+
}
86+
missing = {
87+
'type': "ethernet",
88+
'name': "eth0",
89+
}
90+
expected_enabled = {
91+
'rx': {
92+
'status': 'enabled',
93+
},
94+
'tx': {
95+
'status': 'enabled',
96+
},
97+
}
98+
expected_disabled = {
99+
'rx': {
100+
'status': 'disabled',
101+
},
102+
'tx': {
103+
'status': 'disabled',
104+
},
105+
}
106+
self.assertEqual(flowcontrol(enabled), expected_enabled)
107+
self.assertEqual(flowcontrol(disabled), expected_disabled)
108+
self.assertEqual(flowcontrol(missing), expected_disabled)
109+
110+
def test_hidden_ssid(self):
111+
enabled = {
112+
'type': 'wireless',
113+
'name': 'wlan0',
114+
'wireless': {
115+
'mode': 'station',
116+
'ssid': 'ubnt',
117+
'hidden': True,
118+
}
119+
}
120+
disabled = {
121+
'type': 'wireless',
122+
'name': 'wlan0',
123+
'wireless': {
124+
'mode': 'station',
125+
'ssid': 'ubnt',
126+
'hidden': False,
127+
}
128+
}
129+
missing = {
130+
'type': 'wireless',
131+
'name': 'wlan0',
132+
'wireless': {
133+
'mode': 'station',
134+
'ssid': 'ubnt',
135+
}
136+
}
137+
self.assertEqual(hidden_ssid(enabled), 'enabled')
138+
self.assertEqual(hidden_ssid(disabled), 'disabled')
139+
self.assertEqual(hidden_ssid(missing), 'disabled')
140+
141+
def test_stp(self):
142+
enabled = {
143+
'type': 'bridge',
144+
'name': 'br0',
145+
'stp': True,
146+
}
147+
disabled = {
148+
'type': 'bridge',
149+
'name': 'br0',
150+
'stp': False,
151+
}
152+
missing = {
153+
'type': 'bridge',
154+
'name': 'br0',
155+
}
156+
self.assertEqual(stp(enabled), 'enabled')
157+
self.assertEqual(stp(disabled), 'disabled')
158+
self.assertEqual(stp(missing), 'disabled')
159+

0 commit comments

Comments
 (0)