Skip to content

Commit 309e712

Browse files
committed
airos] added tests and mock backends for defaulted converters
1 parent ae39aad commit 309e712

11 files changed

+220
-2
lines changed

tests/airos/mock.py

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
Ntpclient, Pwdog, Radio,
1111
Resolv, Route, Snmp, Sshd,
1212
Syslog, System, Telnetd,
13-
Update, Users, Vlan,
13+
Tshaper, Unms, Update,
14+
Upnpd, Users, Vlan,
1415
Wireless, Wpasupplicant)
1516

1617

@@ -237,6 +238,24 @@ class TelnetdAirOs(AirOs):
237238
]
238239

239240

241+
class TshaperAirOs(AirOs):
242+
"""
243+
Mock backend with converter for tshaper
244+
"""
245+
converters = [
246+
Tshaper,
247+
]
248+
249+
250+
class UnmsAirOs(AirOs):
251+
"""
252+
Mock backend with converter for unms
253+
"""
254+
converters = [
255+
Unms,
256+
]
257+
258+
240259
class UpdateAirOs(AirOs):
241260
"""
242261
Mock backend with converter for update
@@ -246,6 +265,15 @@ class UpdateAirOs(AirOs):
246265
]
247266

248267

268+
class UpnpdAirOs(AirOs):
269+
"""
270+
Mock backend with converter for updnd daemon
271+
"""
272+
converters = [
273+
Upnpd,
274+
]
275+
276+
249277
class UsersAirOs(AirOs):
250278
"""
251279
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 ConverterTest, SnmpAirOs
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 ConverterTest, SyslogAirOs
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 ConverterTest, SystemAirOs
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 ConverterTest, TelnetdAirOs
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 ConverterTest, TshaperAirOs
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 ConverterTest, UnmsAirOs
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 ConverterTest, UpdateAirOs
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 ConverterTest, UpnpdAirOs
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 ConverterTest, UsersAirOs
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)