Tests the construction of the snaps.domain.network.Network class
"""
- def test_construction_kwargs(self):
+ def test_construction_kwargs_1(self):
network = Network(
- **{'name': 'name', 'id': 'id', 'provider:network_type': 'flat'})
- self.assertEqual('name', network.name)
- self.assertEqual('id', network.id)
+ **{'name': 'foo', 'id': 'bar', 'provider:network_type': 'flat',
+ 'admin_state_up': False, 'shared': True,
+ 'router:external': False})
+ self.assertEqual('foo', network.name)
+ self.assertEqual('bar', network.id)
self.assertEqual('flat', network.type)
+ self.assertFalse(network.admin_state_up)
+ self.assertFalse(network.external)
+ self.assertTrue(network.shared)
+
+ def test_construction_kwargs_2(self):
+ network = Network(
+ **{'name': 'foo', 'id': 'bar', 'type': 'flat',
+ 'admin_state_up': False, 'shared': True,
+ 'external': False})
+ self.assertEqual('foo', network.name)
+ self.assertEqual('bar', network.id)
+ self.assertEqual('flat', network.type)
+ self.assertFalse(network.admin_state_up)
+ self.assertFalse(network.external)
+ self.assertTrue(network.shared)
def test_construction_named(self):
- network = Network(id='id', name='name')
- self.assertEqual('name', network.name)
- self.assertEqual('id', network.id)
- self.assertIsNone(network.type)
+ network = Network(
+ name='foo', id='bar', type='flat', admin_state_up=False,
+ shared=True, external=False)
+ self.assertEqual('foo', network.name)
+ self.assertEqual('bar', network.id)
+ self.assertEqual('flat', network.type)
+ self.assertFalse(network.admin_state_up)
+ self.assertFalse(network.external)
+ self.assertTrue(network.shared)
class SubnetObjectTests(unittest.TestCase):
def test_construction_kwargs(self):
subnet = Subnet(
- **{'name': 'name', 'id': 'id', 'cidr': '10.0.0.0/24'})
- self.assertEqual('name', subnet.name)
- self.assertEqual('id', subnet.id)
+ **{'name': 'foo', 'id': 'bar', 'cidr': '10.0.0.0/24',
+ 'ip_version': 4, 'gateway_ip': '10.0.0.1', 'enable_dhcp': True,
+ 'dns_nameservers': ['8.8.8.8'], 'host_routes': list(),
+ 'ipv6_ra_mode': 'hello', 'ipv6_address_mode': 'world'})
+ self.assertEqual('foo', subnet.name)
+ self.assertEqual('bar', subnet.id)
self.assertEqual('10.0.0.0/24', subnet.cidr)
+ self.assertEqual(4, subnet.ip_version)
+ self.assertEqual('10.0.0.1', subnet.gateway_ip)
+ self.assertTrue(subnet.enable_dhcp)
+ self.assertEqual(1, len(subnet.dns_nameservers))
+ self.assertEqual('8.8.8.8', subnet.dns_nameservers[0])
+ self.assertEqual(list(), subnet.host_routes)
+ self.assertEqual('hello', subnet.ipv6_ra_mode)
+ self.assertEqual('world', subnet.ipv6_address_mode)
def test_construction_named(self):
- subnet = Subnet(cidr='10.0.0.0/24', id='id', name='name')
- self.assertEqual('name', subnet.name)
- self.assertEqual('id', subnet.id)
+ subnet = Subnet(
+ name='foo', id='bar', cidr='10.0.0.0/24',
+ ip_version=4, gateway_ip='10.0.0.1', enable_dhcp=True,
+ dns_nameservers=['8.8.8.8'], host_routes=list(),
+ ipv6_ra_mode='hello', ipv6_address_mode='world')
+ self.assertEqual('foo', subnet.name)
+ self.assertEqual('bar', subnet.id)
self.assertEqual('10.0.0.0/24', subnet.cidr)
+ self.assertEqual(4, subnet.ip_version)
+ self.assertEqual('10.0.0.1', subnet.gateway_ip)
+ self.assertTrue(subnet.enable_dhcp)
+ self.assertEqual(1, len(subnet.dns_nameservers))
+ self.assertEqual('8.8.8.8', subnet.dns_nameservers[0])
+ self.assertEqual(list(), subnet.host_routes)
+ self.assertEqual('hello', subnet.ipv6_ra_mode)
+ self.assertEqual('world', subnet.ipv6_address_mode)
class PortDomainObjectTests(unittest.TestCase):
Tests the construction of the snaps.domain.network.Port class
"""
- def test_construction_kwargs(self):
+ def test_construction_ips_kwargs(self):
ips = ['10', '11']
port = Port(
- **{'name': 'name', 'id': 'id', 'ips': ips})
- self.assertEqual('name', port.name)
- self.assertEqual('id', port.id)
+ **{'name': 'foo', 'id': 'bar', 'description': 'test desc',
+ 'ips': ips, 'mac_address': 'abc123',
+ 'allowed_address_pairs': list(), 'admin_state_up': False,
+ 'device_id': 'def456', 'device_owner': 'joe',
+ 'network_id': 'ghi789', 'port_security_enabled': False,
+ 'security_groups': list(), 'tenant_id': 'jkl098'})
+ self.assertEqual('foo', port.name)
+ self.assertEqual('bar', port.id)
+ self.assertEqual('test desc', port.description)
self.assertEqual(ips, port.ips)
+ self.assertEqual('abc123', port.mac_address)
+ self.assertEqual(list(), port.allowed_address_pairs)
+ self.assertFalse(port.admin_state_up)
+ self.assertEqual('def456', port.device_id)
+ self.assertEqual('joe', port.device_owner)
+ self.assertEqual('ghi789', port.network_id)
+ self.assertFalse(port.port_security_enabled)
+ self.assertEqual(list(), port.security_groups)
+ self.assertEqual(list(), port.security_groups)
- def test_construction_named(self):
+ def test_construction_fixed_ips_kwargs(self):
+ ips = ['10', '11']
+ port = Port(
+ **{'name': 'foo', 'id': 'bar', 'description': 'test desc',
+ 'fixed_ips': ips, 'mac_address': 'abc123',
+ 'allowed_address_pairs': list(), 'admin_state_up': False,
+ 'device_id': 'def456', 'device_owner': 'joe',
+ 'network_id': 'ghi789', 'port_security_enabled': False,
+ 'security_groups': list(), 'tenant_id': 'jkl098'})
+ self.assertEqual('foo', port.name)
+ self.assertEqual('bar', port.id)
+ self.assertEqual('test desc', port.description)
+ self.assertEqual(ips, port.ips)
+ self.assertEqual('abc123', port.mac_address)
+ self.assertEqual(list(), port.allowed_address_pairs)
+ self.assertFalse(port.admin_state_up)
+ self.assertEqual('def456', port.device_id)
+ self.assertEqual('joe', port.device_owner)
+ self.assertEqual('ghi789', port.network_id)
+ self.assertFalse(port.port_security_enabled)
+ self.assertEqual(list(), port.security_groups)
+ self.assertEqual(list(), port.security_groups)
+
+ def test_construction_named_ips(self):
+ ips = ['10', '11']
+ port = Port(
+ mac_address='abc123', description='test desc', ips=ips, id='bar',
+ name='foo', allowed_address_pairs=list(), admin_state_up=False,
+ device_id='def456', device_owner='joe', network_id='ghi789',
+ port_security_enabled=False, security_groups=list(),
+ tenant_id='jkl098')
+ self.assertEqual('foo', port.name)
+ self.assertEqual('bar', port.id)
+ self.assertEqual('test desc', port.description)
+ self.assertEqual(ips, port.ips)
+ self.assertEqual('abc123', port.mac_address)
+ self.assertEqual(list(), port.allowed_address_pairs)
+ self.assertFalse(port.admin_state_up)
+ self.assertEqual('def456', port.device_id)
+ self.assertEqual('joe', port.device_owner)
+ self.assertEqual('ghi789', port.network_id)
+ self.assertFalse(port.port_security_enabled)
+ self.assertEqual(list(), port.security_groups)
+ self.assertEqual(list(), port.security_groups)
+
+ def test_construction_named_fixed_ips(self):
ips = ['10', '11']
- port = Port(ips=ips, id='id', name='name')
- self.assertEqual('name', port.name)
- self.assertEqual('id', port.id)
+ port = Port(
+ mac_address='abc123', description='test desc', fixed_ips=ips,
+ id='bar', name='foo', allowed_address_pairs=list(),
+ admin_state_up=False, device_id='def456', device_owner='joe',
+ network_id='ghi789', port_security_enabled=False,
+ security_groups=list(), tenant_id='jkl098')
+ self.assertEqual('foo', port.name)
+ self.assertEqual('bar', port.id)
+ self.assertEqual('test desc', port.description)
self.assertEqual(ips, port.ips)
+ self.assertEqual('abc123', port.mac_address)
+ self.assertEqual(list(), port.allowed_address_pairs)
+ self.assertFalse(port.admin_state_up)
+ self.assertEqual('def456', port.device_id)
+ self.assertEqual('joe', port.device_owner)
+ self.assertEqual('ghi789', port.network_id)
+ self.assertFalse(port.port_security_enabled)
+ self.assertEqual(list(), port.security_groups)
+ self.assertEqual(list(), port.security_groups)
class RouterDomainObjectTests(unittest.TestCase):
self.assertEqual('hello', router.status)
self.assertEqual('1234', router.tenant_id)
self.assertEqual('yes', router.admin_state_up)
- self.assertEqual('no', router.external_gateway_info)
+ self.assertIsNone(router.external_fixed_ips)
+ self.assertIsNone(router.external_network_id)
def test_construction_named(self):
router = Router(
self.assertEqual('hello', router.status)
self.assertEqual('1234', router.tenant_id)
self.assertEqual('yes', router.admin_state_up)
- self.assertEqual('no', router.external_gateway_info)
+ self.assertIsNone(router.external_fixed_ips)
+ self.assertIsNone(router.external_network_id)
+
+ def test_ext_gateway_named(self):
+ ext_gateway = {'network_id': '123',
+ 'external_fixed_ips': ['456', '789']}
+ router = Router(
+ external_fixed_ips=['456', '789'], external_network_id='123',
+ admin_state_up='yes', tenant_id='1234', status='hello', id='id',
+ name='name')
+ self.assertEqual('name', router.name)
+ self.assertEqual('id', router.id)
+ self.assertEqual('hello', router.status)
+ self.assertEqual('1234', router.tenant_id)
+ self.assertEqual('yes', router.admin_state_up)
+ self.assertEqual(['456', '789'], router.external_fixed_ips)
+ self.assertEqual('123', router.external_network_id)
+
+
+ def test_ext_net_ips_named(self):
+ ext_gateway = {'network_id': '123',
+ 'external_fixed_ips': ['456', '789']}
+ router = Router(
+ external_gateway_info=ext_gateway, admin_state_up='yes',
+ tenant_id='1234', status='hello', id='id', name='name')
+ self.assertEqual('name', router.name)
+ self.assertEqual('id', router.id)
+ self.assertEqual('hello', router.status)
+ self.assertEqual('1234', router.tenant_id)
+ self.assertEqual('yes', router.admin_state_up)
+ self.assertEqual(['456', '789'], router.external_fixed_ips)
+ self.assertEqual('123', router.external_network_id)
class InterfaceRouterDomainObjectTests(unittest.TestCase):
def test_construction_proj_id_kwargs(self):
sec_grp = SecurityGroup(
- **{'name': 'name', 'id': 'id',
- 'project_id': 'foo'})
+ **{'name': 'name', 'id': 'id', 'project_id': 'foo',
+ 'description': 'test desc'})
self.assertEqual('name', sec_grp.name)
self.assertEqual('id', sec_grp.id)
+ self.assertEqual('test desc', sec_grp.description)
self.assertEqual('foo', sec_grp.project_id)
def test_construction_tenant_id_kwargs(self):
self.assertEqual('name', sec_grp.name)
self.assertEqual('id', sec_grp.id)
self.assertEqual('foo', sec_grp.project_id)
+ self.assertIsNone(sec_grp.description)
def test_construction_named(self):
- sec_grp = SecurityGroup(tenant_id='foo', id='id', name='name')
+ sec_grp = SecurityGroup(description='test desc', tenant_id='foo',
+ id='id', name='name')
self.assertEqual('name', sec_grp.name)
self.assertEqual('id', sec_grp.id)
+ self.assertEqual('test desc', sec_grp.description)
self.assertEqual('foo', sec_grp.project_id)