summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorBrian Waldon <brian.waldon@rackspace.com>2011-04-26 15:48:28 -0700
committerBrian Waldon <brian.waldon@rackspace.com>2011-04-26 15:48:28 -0700
commit64f40320a586d28345c38e4079b257e7a130c5db (patch)
treebebe2cb4803913fa9b1518c7abb5e45c0427c12b /nova/tests
parenta3f16d7efbdc51c75c1a729d9194ee3a66841bab (diff)
parent5ea80e2f62e7a35967fc509aef8e7158577a2980 (diff)
merging trunk
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_virt.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/nova/tests/test_virt.py b/nova/tests/test_virt.py
index d99ffce95..498ec7012 100644
--- a/nova/tests/test_virt.py
+++ b/nova/tests/test_virt.py
@@ -549,6 +549,43 @@ class LibvirtConnTestCase(test.TestCase):
db.volume_destroy(self.context, volume_ref['id'])
db.instance_destroy(self.context, instance_ref['id'])
+ def test_spawn_with_network_info(self):
+ # Skip if non-libvirt environment
+ if not self.lazy_load_library_exists():
+ return
+
+ # Preparing mocks
+ def fake_none(self, instance):
+ return
+
+ self.create_fake_libvirt_mock()
+ instance = db.instance_create(self.context, self.test_instance)
+
+ # Start test
+ self.mox.ReplayAll()
+ conn = libvirt_conn.LibvirtConnection(False)
+ conn.firewall_driver.setattr('setup_basic_filtering', fake_none)
+ conn.firewall_driver.setattr('prepare_instance_filter', fake_none)
+
+ network = db.project_get_network(context.get_admin_context(),
+ self.project.id)
+ ip_dict = {'ip': self.test_ip,
+ 'netmask': network['netmask'],
+ 'enabled': '1'}
+ mapping = {'label': network['label'],
+ 'gateway': network['gateway'],
+ 'mac': instance['mac_address'],
+ 'dns': [network['dns']],
+ 'ips': [ip_dict]}
+ network_info = [(network, mapping)]
+
+ try:
+ conn.spawn(instance, network_info)
+ except Exception, e:
+ count = (0 <= e.message.find('Unexpected method call'))
+
+ self.assertTrue(count)
+
def tearDown(self):
self.manager.delete_project(self.project)
self.manager.delete_user(self.user)