create KeyPairBackend in ec2 model, use in keypair test

This commit is contained in:
Konstantinos Koukopoulos 2014-02-24 12:42:50 +02:00
parent c688e43a9a
commit 65beb30054
2 changed files with 29 additions and 2 deletions

View File

@ -161,6 +161,30 @@ class InstanceBackend(object):
return [reservation for reservation in self.reservations.values()]
class KeyPairBackend(object):
class KeyPair(object):
pass
def __init__(self):
self.keypairs = defaultdict(dict)
super(KeyPairBackend, self).__init__()
def create_key_pair(self, name):
self.keypairs[name] = self.KeyPair()
return name
def delete_key_pair(self, name):
return self.keypairs.pop(name)
def describe_key_pairs(self, filter_names=None):
results = []
for name, keypair in self.keypairs.iteritems():
if not filter_names or name in filter_names:
results.append({name: keypair})
return results
class TagBackend(object):
def __init__(self):
@ -675,7 +699,8 @@ class ElasticAddressBackend(object):
class EC2Backend(BaseBackend, InstanceBackend, TagBackend, AmiBackend,
RegionsAndZonesBackend, SecurityGroupBackend, EBSBackend,
VPCBackend, SubnetBackend, SpotRequestBackend, ElasticAddressBackend):
VPCBackend, SubnetBackend, SpotRequestBackend, ElasticAddressBackend,
KeyPairBackend):
pass

View File

@ -1,8 +1,10 @@
from jinja2 import Template
from moto.core.responses import BaseResponse
from moto.ec2.models import ec2_backend
class KeyPairs(BaseResponse):
def create_key_pair(self):
raise NotImplementedError('KeyPairs.create_key_pair is not yet implemented')
@ -11,7 +13,7 @@ class KeyPairs(BaseResponse):
def describe_key_pairs(self):
template = Template(DESCRIBE_KEY_PAIRS_RESPONSE)
return template.render(keypairs=[])
return template.render(keypairs=ec2_backend.describe_key_pairs())
def import_key_pair(self):
raise NotImplementedError('KeyPairs.import_key_pair is not yet implemented')