Skip to content

Commit

Permalink
airos] added tests and mock backends for defaulted converters
Browse files Browse the repository at this point in the history
  • Loading branch information
edoput committed Aug 31, 2017
1 parent ae39aad commit 309e712
Show file tree
Hide file tree
Showing 11 changed files with 220 additions and 2 deletions.
30 changes: 29 additions & 1 deletion tests/airos/mock.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
Ntpclient, Pwdog, Radio,
Resolv, Route, Snmp, Sshd,
Syslog, System, Telnetd,
Update, Users, Vlan,
Tshaper, Unms, Update,
Upnpd, Users, Vlan,
Wireless, Wpasupplicant)


Expand Down Expand Up @@ -237,6 +238,24 @@ class TelnetdAirOs(AirOs):
]


class TshaperAirOs(AirOs):
"""
Mock backend with converter for tshaper
"""
converters = [
Tshaper,
]


class UnmsAirOs(AirOs):
"""
Mock backend with converter for unms
"""
converters = [
Unms,
]


class UpdateAirOs(AirOs):
"""
Mock backend with converter for update
Expand All @@ -246,6 +265,15 @@ class UpdateAirOs(AirOs):
]


class UpnpdAirOs(AirOs):
"""
Mock backend with converter for updnd daemon
"""
converters = [
Upnpd,
]


class UsersAirOs(AirOs):
"""
Mock backend with converter for users settings
Expand Down
2 changes: 1 addition & 1 deletion tests/airos/test_dhcpc.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from .mock import ConverterTest, DhcpcAirOs


class TestNetmodeConverter(ConverterTest):
class TestDhcpcConverter(ConverterTest):

backend = DhcpcAirOs

Expand Down
43 changes: 43 additions & 0 deletions tests/airos/test_snmp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
from .mock import ConverterTest, SnmpAirOs


class TestSnmpConverter(ConverterTest):
"""
tests for backends.airos.renderers.SystemRenderer
"""
backend = SnmpAirOs

def test_defaults(self):

o = self.backend({})
o.to_intermediate()
expected = [
{
'community': 'public',
'contact': '',
'location': '',
'status': 'enabled',
}
]

self.assertEqualConfig(o.intermediate_data['snmp'], expected)

def test_custom_info(self):

o = self.backend({
'general': {
'mantainer': 'noone@somedomain.com',
'location': 'somewhere in the woods',
}
})
o.to_intermediate()
expected = [
{
'community': 'public',
'contact': 'noone@somedomain.com',
'location': 'somewhere in the woods',
'status': 'enabled',
}
]

self.assertEqualConfig(o.intermediate_data['snmp'], expected)
17 changes: 17 additions & 0 deletions tests/airos/test_syslog.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from .mock import ConverterTest, SyslogAirOs


class TestSyslogConverter(ConverterTest):
backend = SyslogAirOs

def test_active(self):
o = self.backend({})
o.to_intermediate()
expected = [
{
'remote.port': 514,
'remote.status': 'disabled',
'status': 'enabled',
}
]
self.assertEqualConfig(o.intermediate_data['syslog'], expected)
19 changes: 19 additions & 0 deletions tests/airos/test_system.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from .mock import ConverterTest, SystemAirOs


class TestSystemConverter(ConverterTest):
backend = SystemAirOs

def test_active(self):
o = self.backend({})
o.to_intermediate()
expected = [
{
'airosx.prov.status': 'enabled',
'cfg.version': 0,
'date.status': 'disabled',
'external.reset': 'enabled',
'timezone': 'GMT'
}
]
self.assertEqualConfig(o.intermediate_data['system'], expected)
16 changes: 16 additions & 0 deletions tests/airos/test_telnetd.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from .mock import ConverterTest, TelnetdAirOs


class TestTelnetdConverter(ConverterTest):
backend = TelnetdAirOs

def test_active(self):
o = self.backend({})
o.to_intermediate()
expected = [
{
'port': 23,
'status': 'disabled'
}
]
self.assertEqualConfig(o.intermediate_data['telnetd'], expected)
11 changes: 11 additions & 0 deletions tests/airos/test_tshaper.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from .mock import ConverterTest, TshaperAirOs


class TestTshaperConverter(ConverterTest):
backend = TshaperAirOs

def test_active(self):
o = self.backend({})
o.to_intermediate()
expected = [{'status': 'disabled'}]
self.assertEqualConfig(o.intermediate_data['tshaper'], expected)
11 changes: 11 additions & 0 deletions tests/airos/test_unms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from .mock import ConverterTest, UnmsAirOs


class TestUnmsConverter(ConverterTest):
backend = UnmsAirOs

def test_active(self):
o = self.backend({})
o.to_intermediate()
expected = [{'status': 'disabled'}]
self.assertEqualConfig(o.intermediate_data['unms'], expected)
13 changes: 13 additions & 0 deletions tests/airos/test_update.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from .mock import ConverterTest, UpdateAirOs


class TestUpdateConverter(ConverterTest):
backend = UpdateAirOs

def test_status(self):
o = self.backend({})
o.to_intermediate()
expected = [
{'check.status': 'enabled'}
]
self.assertEqualConfig(o.intermediate_data['update'], expected)
29 changes: 29 additions & 0 deletions tests/airos/test_upnpd.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from .mock import ConverterTest, UpnpdAirOs


class TestUpnpdConverter(ConverterTest):
"""
tests for backends.airos.renderers.SystemRenderer
"""
backend = UpnpdAirOs

def test_bridge(self):

o = self.backend({
'netmode': 'bridge',
})
o.to_intermediate()
with self.assertRaises(KeyError):
o.intermediate_data['upnpd']

def test_router(self):
o = self.backend({
'netmode': 'router',
})
o.to_intermediate()
expected = [
{
'status': 'disabled',
}
]
self.assertEqualConfig(o.intermediate_data['upnpd'], expected)
31 changes: 31 additions & 0 deletions tests/airos/test_users.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from .mock import ConverterTest, UsersAirOs


class TestUsersConverter(ConverterTest):
"""
tests for backends.airos.renderers.SystemRenderer
"""
backend = UsersAirOs

def test_user(self):

o = self.backend({
'user': {
'name': 'ubnt',
'password': 'changeme',
'salt': 'goodsalt',
}
})
o.to_intermediate()
expected = [
{
'status': 'enabled',
},
{
'1.name': 'ubnt',
'1.password': '$1$goodsalt$changeme',
'1.status': 'enabled',
}
]

self.assertEqualConfig(o.intermediate_data['users'], expected)

0 comments on commit 309e712

Please sign in to comment.