From e31d248f62d4179c74d30af992517a0bae34dee0 Mon Sep 17 00:00:00 2001 From: gigimon Date: Wed, 23 Oct 2013 09:56:51 +0300 Subject: [PATCH] LIBCLOUD-415 try fix keypair delete * add tests for delete keypair --- libcloud/compute/drivers/ec2.py | 2 +- libcloud/test/compute/test_ec2.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py index c928ec7..b4f414c 100644 --- a/libcloud/compute/drivers/ec2.py +++ b/libcloud/compute/drivers/ec2.py @@ -881,7 +881,7 @@ class BaseEC2NodeDriver(NodeDriver): """ params = { 'Action': 'DeleteKeyPair', - 'KeyName.1': keypair + 'KeyName': keypair } result = self.connection.request(self.path, params=params).object element = findtext(element=result, xpath='return', diff --git a/libcloud/test/compute/test_ec2.py b/libcloud/test/compute/test_ec2.py index 260268b..785af5c 100644 --- a/libcloud/test/compute/test_ec2.py +++ b/libcloud/test/compute/test_ec2.py @@ -380,6 +380,7 @@ class EC2Tests(LibcloudTestCase, TestCaseMixin): self.assertEqual(keypair2['keyFingerprint'], null_fingerprint) def ex_delete_keypair(self): + resp = self.driver.ex_delete_keypair('testkey') self.assertTrue(resp) @@ -834,6 +835,11 @@ class EC2MockHttp(MockHttpTestCase): return (httplib.OK, body, {}, httplib.responses[httplib.OK]) def _DeleteKeypair(self, method, url, body, headers): + + url = url[2:] + params = dict(parse_qsl(url)) + self.assertEqual(params['KeyPair'], 'testkey') + body = self.fixtures.load('delete_keypair.xml') return (httplib.OK, body, {}, httplib.responses[httplib.OK]) -- 1.8.4