summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorSean Dague <sdague@linux.vnet.ibm.com>2012-08-10 15:39:55 -0400
committerSean Dague <sdague@linux.vnet.ibm.com>2012-08-10 17:07:54 -0400
commit13d25ed7dc0005f89a0522eff3bf5e5cda30fb07 (patch)
treeec584c0999ee8183eb5567d6ef73eaded001c3e5 /nova/tests
parent38561c758dd0699fa31d17222bd06c06f4a28168 (diff)
Don't accept key_name if not enabled
partially implements blueprint disable-server-extensions moves filling out key_name variable behind conditional only used when os-keypairs is enabled. Adds unit tests to ensure this behaves as expected (Remove debugging that was left in) Change-Id: I87ce041c2093c93a1a2456ef51357593e9de0681
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py
index 2a3f2a3df..2117825f9 100644
--- a/nova/tests/api/openstack/compute/test_servers.py
+++ b/nova/tests/api/openstack/compute/test_servers.py
@@ -1840,6 +1840,41 @@ class ServersControllerCreateTest(test.TestCase):
self.stubs.Set(nova.compute.api.API, 'create', create)
self._test_create_extra(params)
+ def test_create_instance_with_keypairs_enabled(self):
+ self.ext_mgr.extensions = {'os-keypairs': 'fake'}
+ key_name = 'green'
+
+ params = {'key_name': key_name}
+ old_create = nova.compute.api.API.create
+
+ # NOTE(sdague): key pair goes back to the database,
+ # so we need to stub it out for tests
+ def key_pair_get(context, user_id, name):
+ return {'public_key': 'FAKE_KEY',
+ 'fingerprint': 'FAKE_FINGERPRINT',
+ 'name': name}
+
+ def create(*args, **kwargs):
+ self.assertEqual(kwargs['key_name'], key_name)
+ return old_create(*args, **kwargs)
+
+ self.stubs.Set(nova.db, 'key_pair_get', key_pair_get)
+ self.stubs.Set(nova.compute.api.API, 'create', create)
+ self._test_create_extra(params)
+
+ def test_create_instance_with_keypairs_disabled(self):
+ key_name = 'green'
+
+ params = {'key_name': key_name}
+ old_create = nova.compute.api.API.create
+
+ def create(*args, **kwargs):
+ self.assertEqual(kwargs['key_name'], None)
+ return old_create(*args, **kwargs)
+
+ self.stubs.Set(nova.compute.api.API, 'create', create)
+ self._test_create_extra(params)
+
def test_create_instance_with_availability_zone_enabled(self):
self.ext_mgr.extensions = {'os-availability-zone': 'fake'}
availability_zone = 'fake'