Merge "Fix bug 1006664: describe non existent ec2 keypair"

This commit is contained in:
Jenkins 2012-06-06 23:21:25 +00:00 committed by Gerrit Code Review
commit 7b7febb02b
2 changed files with 10 additions and 0 deletions

View File

@ -337,6 +337,11 @@ class CloudController(object):
if not key_name is None:
key_pairs = [x for x in key_pairs if x['name'] in key_name]
#If looking for non existent key pair
if key_name != None and key_pairs == []:
msg = _('Could not find key pair(s): %s') % ','.join(key_name)
raise exception.EC2APIError(msg)
result = []
for key_pair in key_pairs:
# filter out the vpn keys

View File

@ -1525,6 +1525,11 @@ class CloudTestCase(test.TestCase):
self.assertTrue(filter(lambda k: k['keyName'] == 'test1', keys))
self.assertTrue(filter(lambda k: k['keyName'] == 'test2', keys))
def test_describe_bad_key_pairs(self):
self.assertRaises(exception.EC2APIError,
self.cloud.describe_key_pairs, self.context,
key_name=['DoesNotExist'])
def test_import_key_pair(self):
pubkey_path = os.path.join(os.path.dirname(__file__), 'public_key')
f = open(pubkey_path + '/dummy.pub', 'r')