summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJason Kölker <jason@koelker.net>2011-11-14 13:14:58 -0600
committerJason Kölker <jason@koelker.net>2011-11-30 18:46:49 -0600
commit82804eb46542b2fdaef8b6db8696b50dbf5b7210 (patch)
treed0216873180efb4cb0f90a55d31bbb2ab3741135 /nova/tests
parent48882c6aa30b768b86abc86c46648366483bc10a (diff)
Remove VIF<->Network FK dependancy
Related to blueprint untie-nova-network-models. Depends-On: I665f402fe0ab1b301ab6761e80b11b101656065e Change-Id: I9bfb957effe0a2420c312add1cca5d7af509579d
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/fake_network.py21
-rw-r--r--nova/tests/test_network.py55
2 files changed, 50 insertions, 26 deletions
diff --git a/nova/tests/fake_network.py b/nova/tests/fake_network.py
index bf12740e3..e1af85239 100644
--- a/nova/tests/fake_network.py
+++ b/nova/tests/fake_network.py
@@ -83,6 +83,9 @@ class FakeNetworkManager(network_manager.NetworkManager):
fakenet['id'] = 999
return fakenet
+ def network_get(self, context, network_id):
+ return {'cidr_v6': '2001:db8:69:%x::/64' % network_id}
+
def network_get_all(self, context):
raise exception.NoNetworksFound()
@@ -92,15 +95,18 @@ class FakeNetworkManager(network_manager.NetworkManager):
{'address': '173.16.1.2'}]
vifs = [{'instance_id': 0,
- 'fixed_ipv6': '2001:db8::dcad:beff:feef:1',
+ 'network_id': 1,
+ 'address': 'DC:AD:BE:FF:EF:01',
'fixed_ips': [{'address': '172.16.0.1',
'floating_ips': [floats[0]]}]},
{'instance_id': 20,
- 'fixed_ipv6': '2001:db8::dcad:beff:feef:2',
+ 'network_id': 21,
+ 'address': 'DC:AD:BE:FF:EF:02',
'fixed_ips': [{'address': '172.16.0.2',
'floating_ips': [floats[1]]}]},
{'instance_id': 30,
- 'fixed_ipv6': '2002:db8::dcad:beff:feef:2',
+ 'network_id': 31,
+ 'address': 'DC:AD:BE:FF:EF:03',
'fixed_ips': [{'address': '173.16.0.2',
'floating_ips': [floats[2]]}]}]
return vifs
@@ -236,6 +242,8 @@ def fake_get_instance_nw_info(stubs, num_networks=1, ips_per_vif=2,
floating_ip_id = floating_ip_ids()
fixed_ip_id = fixed_ip_ids()
+ networks = [fake_network(x) for x in xrange(num_networks)]
+
def fixed_ips_fake(*args, **kwargs):
return [next_fixed_ip(i, floating_ips_per_fixed_ip)
for i in xrange(num_networks) for j in xrange(ips_per_vif)]
@@ -246,8 +254,15 @@ def fake_get_instance_nw_info(stubs, num_networks=1, ips_per_vif=2,
def instance_type_fake(*args, **kwargs):
return flavor
+ def network_get_fake(context, network_id):
+ nets = [n for n in networks if n['id'] == network_id]
+ if not nets:
+ raise exception.NetworkNotFound(network_id=network_id)
+ return nets[0]
+
stubs.Set(db, 'fixed_ip_get_by_instance', fixed_ips_fake)
stubs.Set(db, 'virtual_interface_get_by_instance', virtual_interfaces_fake)
stubs.Set(db, 'instance_type_get', instance_type_fake)
+ stubs.Set(db, 'network_get', network_get_fake)
return network.get_instance_nw_info(None, 0, 0, None)
diff --git a/nova/tests/test_network.py b/nova/tests/test_network.py
index 9e12ed765..1cb049e4b 100644
--- a/nova/tests/test_network.py
+++ b/nova/tests/test_network.py
@@ -889,40 +889,43 @@ class CommonNetworkTestCase(test.TestCase):
def test_get_instance_uuids_by_ip_regex(self):
manager = fake_network.FakeNetworkManager()
_vifs = manager.db.virtual_interface_get_all(None)
+ fake_context = context.RequestContext('user', 'project')
# Greedy get eveything
- res = manager.get_instance_uuids_by_ip_filter(None, {'ip': '.*'})
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip': '.*'})
self.assertEqual(len(res), len(_vifs))
# Doesn't exist
- res = manager.get_instance_uuids_by_ip_filter(None, {'ip': '10.0.0.1'})
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip': '10.0.0.1'})
self.assertFalse(res)
# Get instance 1
- res = manager.get_instance_uuids_by_ip_filter(None,
- {'ip': '172.16.0.2'})
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip': '172.16.0.2'})
self.assertTrue(res)
self.assertEqual(len(res), 1)
self.assertEqual(res[0]['instance_id'], _vifs[1]['instance_id'])
# Get instance 2
- res = manager.get_instance_uuids_by_ip_filter(None,
- {'ip': '173.16.0.2'})
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip': '173.16.0.2'})
self.assertTrue(res)
self.assertEqual(len(res), 1)
self.assertEqual(res[0]['instance_id'], _vifs[2]['instance_id'])
# Get instance 0 and 1
- res = manager.get_instance_uuids_by_ip_filter(None,
- {'ip': '172.16.0.*'})
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip': '172.16.0.*'})
self.assertTrue(res)
self.assertEqual(len(res), 2)
self.assertEqual(res[0]['instance_id'], _vifs[0]['instance_id'])
self.assertEqual(res[1]['instance_id'], _vifs[1]['instance_id'])
# Get instance 1 and 2
- res = manager.get_instance_uuids_by_ip_filter(None,
- {'ip': '17..16.0.2'})
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip': '17..16.0.2'})
self.assertTrue(res)
self.assertEqual(len(res), 2)
self.assertEqual(res[0]['instance_id'], _vifs[1]['instance_id'])
@@ -931,40 +934,45 @@ class CommonNetworkTestCase(test.TestCase):
def test_get_instance_uuids_by_ipv6_regex(self):
manager = fake_network.FakeNetworkManager()
_vifs = manager.db.virtual_interface_get_all(None)
+ fake_context = context.RequestContext('user', 'project')
# Greedy get eveything
- res = manager.get_instance_uuids_by_ip_filter(None, {'ip6': '.*'})
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip6': '.*'})
self.assertEqual(len(res), len(_vifs))
# Doesn't exist
- res = manager.get_instance_uuids_by_ip_filter(None,
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
{'ip6': '.*1034.*'})
self.assertFalse(res)
# Get instance 1
- res = manager.get_instance_uuids_by_ip_filter(None,
- {'ip6': '2001:.*:2'})
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip6': '2001:.*2'})
self.assertTrue(res)
self.assertEqual(len(res), 1)
self.assertEqual(res[0]['instance_id'], _vifs[1]['instance_id'])
# Get instance 2
- ip6 = '2002:db8::dcad:beff:feef:2'
- res = manager.get_instance_uuids_by_ip_filter(None, {'ip6': ip6})
+ ip6 = '2001:db8:69:1f:dead:beff:feff:ef03'
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip6': ip6})
self.assertTrue(res)
self.assertEqual(len(res), 1)
self.assertEqual(res[0]['instance_id'], _vifs[2]['instance_id'])
# Get instance 0 and 1
- res = manager.get_instance_uuids_by_ip_filter(None, {'ip6': '2001:.*'})
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip6': '.*ef0[1,2]'})
self.assertTrue(res)
self.assertEqual(len(res), 2)
self.assertEqual(res[0]['instance_id'], _vifs[0]['instance_id'])
self.assertEqual(res[1]['instance_id'], _vifs[1]['instance_id'])
# Get instance 1 and 2
- ip6 = '200.:db8::dcad:beff:feef:2'
- res = manager.get_instance_uuids_by_ip_filter(None, {'ip6': ip6})
+ ip6 = '2001:db8:69:1.:dead:beff:feff:ef0.'
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
+ {'ip6': ip6})
self.assertTrue(res)
self.assertEqual(len(res), 2)
self.assertEqual(res[0]['instance_id'], _vifs[1]['instance_id'])
@@ -973,21 +981,22 @@ class CommonNetworkTestCase(test.TestCase):
def test_get_instance_uuids_by_ip(self):
manager = fake_network.FakeNetworkManager()
_vifs = manager.db.virtual_interface_get_all(None)
+ fake_context = context.RequestContext('user', 'project')
# No regex for you!
- res = manager.get_instance_uuids_by_ip_filter(None,
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
{'fixed_ip': '.*'})
self.assertFalse(res)
# Doesn't exist
ip = '10.0.0.1'
- res = manager.get_instance_uuids_by_ip_filter(None,
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
{'fixed_ip': ip})
self.assertFalse(res)
# Get instance 1
ip = '172.16.0.2'
- res = manager.get_instance_uuids_by_ip_filter(None,
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
{'fixed_ip': ip})
self.assertTrue(res)
self.assertEqual(len(res), 1)
@@ -995,7 +1004,7 @@ class CommonNetworkTestCase(test.TestCase):
# Get instance 2
ip = '173.16.0.2'
- res = manager.get_instance_uuids_by_ip_filter(None,
+ res = manager.get_instance_uuids_by_ip_filter(fake_context,
{'fixed_ip': ip})
self.assertTrue(res)
self.assertEqual(len(res), 1)