summaryrefslogtreecommitdiffstats
path: root/nova/image
diff options
context:
space:
mode:
authorSoren Hansen <soren@linux2go.dk>2011-11-10 10:41:37 +0100
committerSoren Hansen <soren@linux2go.dk>2011-11-10 13:35:40 +0100
commit6c0fd03fc3e4f30ca6d1e7d55e83d7a325fae447 (patch)
tree1ca2ca21df54fe1ebbc25edd12685865001d4e9d /nova/image
parent26d2bad187ba8fab4f5e4b2f76b86f3e8762caa8 (diff)
Extend fake image service to let it hold image data
Make the fake image service able to store image data in memory. This is handy for unit testing, but probably not very useful otherwise (images are pretty big, so holding them in memory is not a very good idea). Change-Id: I2d07baf24cab544e19521b9486feee3272d0407e
Diffstat (limited to 'nova/image')
-rw-r--r--nova/image/fake.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/nova/image/fake.py b/nova/image/fake.py
index a51a8ecb4..43e889ad4 100644
--- a/nova/image/fake.py
+++ b/nova/image/fake.py
@@ -118,6 +118,7 @@ class _FakeImageService(object):
self.create(None, image3)
self.create(None, image4)
self.create(None, image5)
+ self._imagedata = {}
super(_FakeImageService, self).__init__()
def index(self, context, filters=None, marker=None, limit=None):
@@ -132,6 +133,11 @@ class _FakeImageService(object):
"""Return list of detailed image information."""
return copy.deepcopy(self.images.values())
+ def get(self, context, image_id, data):
+ metadata = self.show(context, image_id)
+ data.write(self._imagedata.get(image_id, ''))
+ return metadata
+
def show(self, context, image_id):
"""Get data about specified image.
@@ -164,6 +170,8 @@ class _FakeImageService(object):
if image_id in self.images:
raise exception.Duplicate()
self.images[image_id] = copy.deepcopy(metadata)
+ if data:
+ self._imagedata[image_id] = data.read()
return self.images[image_id]
def update(self, context, image_id, metadata, data=None):