Skip to content

Commit 2beeba2

Browse files
committed
[airos] added tests and mock backends for defaulted converters
1 parent ae39aad commit 2beeba2

11 files changed

+222
-3
lines changed

tests/airos/mock.py

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010
Ntpclient, Pwdog, Radio,
1111
Resolv, Route, Snmp, Sshd,
1212
Syslog, System, Telnetd,
13-
Update, Users, Vlan,
14-
Wireless, Wpasupplicant)
13+
Tshaper,
14+
Unms, Update, Upnpd,
15+
Users, Vlan, Wireless,
16+
Wpasupplicant)
1517

1618

1719
class ConverterTest(TestCase):
@@ -237,6 +239,24 @@ class TelnetdAirOs(AirOs):
237239
]
238240

239241

242+
class TshaperAirOs(AirOs):
243+
"""
244+
Mock backend with converter for tshaper
245+
"""
246+
converters = [
247+
Tshaper,
248+
]
249+
250+
251+
class UnmsAirOs(AirOs):
252+
"""
253+
Mock backend with converter for unms
254+
"""
255+
converters = [
256+
Unms,
257+
]
258+
259+
240260
class UpdateAirOs(AirOs):
241261
"""
242262
Mock backend with converter for update
@@ -246,6 +266,15 @@ class UpdateAirOs(AirOs):
246266
]
247267

248268

269+
class UpnpdAirOs(AirOs):
270+
"""
271+
Mock backend with converter for updnd daemon
272+
"""
273+
converters = [
274+
Upnpd,
275+
]
276+
277+
249278
class UsersAirOs(AirOs):
250279
"""
251280
Mock backend with converter for users settings

tests/airos/test_dhcpc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from .mock import ConverterTest, DhcpcAirOs
22

33

4-
class TestNetmodeConverter(ConverterTest):
4+
class TestDhcpcConverter(ConverterTest):
55

66
backend = DhcpcAirOs
77

tests/airos/test_snmp.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
from .mock import SnmpAirOs, ConverterTest
2+
3+
4+
class TestSnmpConverter(ConverterTest):
5+
"""
6+
tests for backends.airos.renderers.SystemRenderer
7+
"""
8+
backend = SnmpAirOs
9+
10+
def test_defaults(self):
11+
12+
o = self.backend({})
13+
o.to_intermediate()
14+
expected = [
15+
{
16+
'community': 'public',
17+
'contact': '',
18+
'location': '',
19+
'status': 'enabled',
20+
}
21+
]
22+
23+
self.assertEqualConfig(o.intermediate_data['snmp'], expected)
24+
25+
def test_custom_info(self):
26+
27+
o = self.backend({
28+
'general': {
29+
'mantainer': 'noone@somedomain.com',
30+
'location': 'somewhere in the woods',
31+
}
32+
})
33+
o.to_intermediate()
34+
expected = [
35+
{
36+
'community': 'public',
37+
'contact': 'noone@somedomain.com',
38+
'location': 'somewhere in the woods',
39+
'status': 'enabled',
40+
}
41+
]
42+
43+
self.assertEqualConfig(o.intermediate_data['snmp'], expected)

tests/airos/test_syslog.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from .mock import SyslogAirOs, ConverterTest
2+
3+
4+
class TestSyslogConverter(ConverterTest):
5+
backend = SyslogAirOs
6+
7+
def test_active(self):
8+
o = self.backend({})
9+
o.to_intermediate()
10+
expected = [
11+
{
12+
'remote.port': 514,
13+
'remote.status': 'disabled',
14+
'status': 'enabled',
15+
}
16+
]
17+
self.assertEqualConfig(o.intermediate_data['syslog'], expected)

tests/airos/test_system.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
from .mock import SystemAirOs, ConverterTest
2+
3+
4+
class TestSystemConverter(ConverterTest):
5+
backend = SystemAirOs
6+
7+
def test_active(self):
8+
o = self.backend({})
9+
o.to_intermediate()
10+
expected = [
11+
{
12+
'airosx.prov.status': 'enabled',
13+
'cfg.version': 0,
14+
'date.status': 'disabled',
15+
'external.reset': 'enabled',
16+
'timezone': 'GMT'
17+
}
18+
]
19+
self.assertEqualConfig(o.intermediate_data['system'], expected)

tests/airos/test_telnetd.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from .mock import TelnetdAirOs, ConverterTest
2+
3+
4+
class TestTelnetdConverter(ConverterTest):
5+
backend = TelnetdAirOs
6+
7+
def test_active(self):
8+
o = self.backend({})
9+
o.to_intermediate()
10+
expected = [
11+
{
12+
'port': 23,
13+
'status': 'disabled'
14+
}
15+
]
16+
self.assertEqualConfig(o.intermediate_data['telnetd'], expected)

tests/airos/test_tshaper.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from .mock import TshaperAirOs, ConverterTest
2+
3+
4+
class TestTshaperConverter(ConverterTest):
5+
backend = TshaperAirOs
6+
7+
def test_active(self):
8+
o = self.backend({})
9+
o.to_intermediate()
10+
expected = [{'status': 'disabled'}]
11+
self.assertEqualConfig(o.intermediate_data['tshaper'], expected)

tests/airos/test_unms.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from .mock import UnmsAirOs, ConverterTest
2+
3+
4+
class TestUnmsConverter(ConverterTest):
5+
backend = UnmsAirOs
6+
7+
def test_active(self):
8+
o = self.backend({})
9+
o.to_intermediate()
10+
expected = [{'status': 'disabled'}]
11+
self.assertEqualConfig(o.intermediate_data['unms'], expected)

tests/airos/test_update.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from .mock import UpdateAirOs, ConverterTest
2+
3+
4+
class TestUpdateConverter(ConverterTest):
5+
backend = UpdateAirOs
6+
7+
def test_status(self):
8+
o = self.backend({})
9+
o.to_intermediate()
10+
expected = [
11+
{'check.status': 'enabled'}
12+
]
13+
self.assertEqualConfig(o.intermediate_data['update'], expected)

tests/airos/test_upnpd.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from .mock import UpnpdAirOs, ConverterTest
2+
3+
4+
class TestUpnpdConverter(ConverterTest):
5+
"""
6+
tests for backends.airos.renderers.SystemRenderer
7+
"""
8+
backend = UpnpdAirOs
9+
10+
def test_bridge(self):
11+
12+
o = self.backend({
13+
'netmode': 'bridge',
14+
})
15+
o.to_intermediate()
16+
with self.assertRaises(KeyError):
17+
o.intermediate_data['upnpd']
18+
19+
def test_router(self):
20+
o = self.backend({
21+
'netmode': 'router',
22+
})
23+
o.to_intermediate()
24+
expected = [
25+
{
26+
'status': 'disabled',
27+
}
28+
]
29+
self.assertEqualConfig(o.intermediate_data['upnpd'], expected)

tests/airos/test_users.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from .mock import UsersAirOs, ConverterTest
2+
3+
4+
class TestUsersConverter(ConverterTest):
5+
"""
6+
tests for backends.airos.renderers.SystemRenderer
7+
"""
8+
backend = UsersAirOs
9+
10+
def test_user(self):
11+
12+
o = self.backend({
13+
'user': {
14+
'name': 'ubnt',
15+
'password': 'changeme',
16+
'salt': 'goodsalt',
17+
}
18+
})
19+
o.to_intermediate()
20+
expected = [
21+
{
22+
'status': 'enabled',
23+
},
24+
{
25+
'1.name': 'ubnt',
26+
'1.password': '$1$goodsalt$changeme',
27+
'1.status': 'enabled',
28+
}
29+
]
30+
31+
self.assertEqualConfig(o.intermediate_data['users'], expected)

0 commit comments

Comments
 (0)