diff options
Diffstat (limited to 'snaps/domain/test/network_tests.py')
-rw-r--r-- | snaps/domain/test/network_tests.py | 123 |
1 files changed, 108 insertions, 15 deletions
diff --git a/snaps/domain/test/network_tests.py b/snaps/domain/test/network_tests.py index 24a60c9..2c4c841 100644 --- a/snaps/domain/test/network_tests.py +++ b/snaps/domain/test/network_tests.py @@ -25,39 +25,57 @@ class NetworkObjectTests(unittest.TestCase): """ def test_construction_kwargs_1(self): + subnet = Subnet( + **{'name': 'foo', 'id': 'bar', 'project_id': 'proj1', + 'network_id': 'foo-bar'}) network = Network( - **{'name': 'foo', 'id': 'bar', 'provider:network_type': 'flat', - 'admin_state_up': False, 'shared': True, - 'router:external': False}) + **{'name': 'foo', 'id': 'bar', 'project_id': 'proj1', + 'provider:network_type': 'flat', 'admin_state_up': False, + 'shared': True, 'router:external': False, 'subnets': [subnet], + 'mtu': 999}) self.assertEqual('foo', network.name) self.assertEqual('bar', network.id) + self.assertEqual('proj1', network.project_id) self.assertEqual('flat', network.type) self.assertFalse(network.admin_state_up) self.assertFalse(network.external) self.assertTrue(network.shared) + self.assertEqual([subnet], network.subnets) + self.assertEqual(999, network.mtu) def test_construction_kwargs_2(self): + subnet = Subnet( + **{'name': 'foo', 'id': 'bar', 'project_id': 'proj1', + 'network_id': 'foo-bar'}) network = Network( - **{'name': 'foo', 'id': 'bar', 'type': 'flat', - 'admin_state_up': False, 'shared': True, - 'external': False}) + **{'name': 'foo', 'id': 'bar', 'project_id': 'proj1', + 'type': 'flat', 'admin_state_up': False, 'shared': True, + 'external': False, 'subnets': [subnet]}) self.assertEqual('foo', network.name) self.assertEqual('bar', network.id) + self.assertEqual('proj1', network.project_id) self.assertEqual('flat', network.type) self.assertFalse(network.admin_state_up) self.assertFalse(network.external) self.assertTrue(network.shared) + self.assertEqual([subnet], network.subnets) def test_construction_named(self): + subnet = Subnet( + **{'name': 'foo', 'id': 'bar', 'project_id': 'proj1', + 'network_id': 'foo-bar'}) network = Network( - name='foo', id='bar', type='flat', admin_state_up=False, - shared=True, external=False) + name='foo', id='bar', project_id='proj1', type='flat', + admin_state_up=False, shared=True, external=False, + subnets=[subnet]) self.assertEqual('foo', network.name) self.assertEqual('bar', network.id) + self.assertEqual('proj1', network.project_id) self.assertEqual('flat', network.type) self.assertFalse(network.admin_state_up) self.assertFalse(network.external) self.assertTrue(network.shared) + self.assertEqual([subnet], network.subnets) class SubnetObjectTests(unittest.TestCase): @@ -67,12 +85,14 @@ class SubnetObjectTests(unittest.TestCase): def test_construction_kwargs(self): subnet = Subnet( - **{'name': 'foo', 'id': 'bar', 'cidr': '10.0.0.0/24', - 'ip_version': 4, 'gateway_ip': '10.0.0.1', 'enable_dhcp': True, + **{'name': 'foo', 'id': 'bar', 'project_id': 'proj1', + '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('proj1', subnet.project_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) @@ -85,12 +105,13 @@ class SubnetObjectTests(unittest.TestCase): def test_construction_named(self): subnet = Subnet( - name='foo', id='bar', cidr='10.0.0.0/24', + name='foo', id='bar', project_id='proj1', 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('proj1', subnet.project_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) @@ -213,7 +234,8 @@ 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( @@ -224,7 +246,35 @@ 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_ext_gateway_named(self): + 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): @@ -254,12 +304,33 @@ class SecurityGroupDomainObjectTests(unittest.TestCase): def test_construction_proj_id_kwargs(self): sec_grp = SecurityGroup( **{'name': 'name', 'id': 'id', 'project_id': 'foo', - 'description': 'test desc'}) + 'description': 'test desc', + 'rules': [ + {'id': 'id', 'security_group_id': 'grp_id', + 'description': 'desc', 'direction': 'dir', + 'ethertype': 'eType', 'port_range_min': '10.0.0.100', + 'port_range_max': '10.0.0.200', 'protocol': 'proto', + 'remote_group_id': 'group_id', + 'remote_ip_prefix': 'ip_prefix'} + ]}) 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) + self.assertEqual(1, len(sec_grp.rules)) + rule = sec_grp.rules[0] + self.assertEqual('id', rule.id) + self.assertEqual('grp_id', rule.security_group_id) + self.assertEqual('desc', rule.description) + self.assertEqual('dir', rule.direction) + self.assertEqual('eType', rule.ethertype) + self.assertEqual('10.0.0.100', rule.port_range_min) + self.assertEqual('10.0.0.200', rule.port_range_max) + self.assertEqual('proto', rule.protocol) + self.assertEqual('group_id', rule.remote_group_id) + self.assertEqual('ip_prefix', rule.remote_ip_prefix) + def test_construction_tenant_id_kwargs(self): sec_grp = SecurityGroup( **{'name': 'name', 'id': 'id', @@ -268,15 +339,37 @@ class SecurityGroupDomainObjectTests(unittest.TestCase): self.assertEqual('id', sec_grp.id) self.assertEqual('foo', sec_grp.project_id) self.assertIsNone(sec_grp.description) + self.assertEqual(0, len(sec_grp.rules)) def test_construction_named(self): + rules = [SecurityGroupRule( + **{'id': 'id', 'security_group_id': 'grp_id', + 'description': 'desc', 'direction': 'dir', + 'ethertype': 'eType', 'port_range_min': '10.0.0.100', + 'port_range_max': '10.0.0.200', 'protocol': 'proto', + 'remote_group_id': 'group_id', + 'remote_ip_prefix': 'ip_prefix'} + )] sec_grp = SecurityGroup(description='test desc', tenant_id='foo', - id='id', name='name') + id='id', name='name', rules=rules) 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) + self.assertEqual(1, len(sec_grp.rules)) + rule = sec_grp.rules[0] + self.assertEqual('id', rule.id) + self.assertEqual('grp_id', rule.security_group_id) + self.assertEqual('desc', rule.description) + self.assertEqual('dir', rule.direction) + self.assertEqual('eType', rule.ethertype) + self.assertEqual('10.0.0.100', rule.port_range_min) + self.assertEqual('10.0.0.200', rule.port_range_max) + self.assertEqual('proto', rule.protocol) + self.assertEqual('group_id', rule.remote_group_id) + self.assertEqual('ip_prefix', rule.remote_ip_prefix) + class SecurityGroupRuleDomainObjectTests(unittest.TestCase): """ |