summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-11-20 20:42:11 +0000
committerGerrit Code Review <review@openstack.org>2012-11-20 20:42:11 +0000
commit2dec92411754cd83e80342b57cd7df2edaf4b5a9 (patch)
treeb32bacfc05948c09013cd7c448c6cef9c77872a7 /nova/tests
parentd468507833fdbae23cb2747c43281332840a0067 (diff)
parent8d763888189f1555b5fc4851db369a98c4755522 (diff)
Merge "Handle image cache hashing on shared storage."
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_imagecache.py50
1 files changed, 26 insertions, 24 deletions
diff --git a/nova/tests/test_imagecache.py b/nova/tests/test_imagecache.py
index 72c58104a..78b7248bc 100644
--- a/nova/tests/test_imagecache.py
+++ b/nova/tests/test_imagecache.py
@@ -19,6 +19,7 @@
import contextlib
import cStringIO
import hashlib
+import json
import logging
import os
import time
@@ -53,7 +54,7 @@ class ImageCacheManagerTestCase(test.TestCase):
def test_read_stored_checksum_missing(self):
self.stubs.Set(os.path, 'exists', lambda x: False)
- csum = imagecache.read_stored_checksum('/tmp/foo')
+ csum = imagecache.read_stored_checksum('/tmp/foo', timestamped=False)
self.assertEquals(csum, None)
def test_read_stored_checksum(self):
@@ -69,7 +70,8 @@ class ImageCacheManagerTestCase(test.TestCase):
f.write(csum_input)
f.close()
- csum_output = imagecache.read_stored_checksum(fname)
+ csum_output = imagecache.read_stored_checksum(fname,
+ timestamped=False)
self.assertEquals(csum_input.rstrip(),
'{"sha1": "%s"}' % csum_output)
@@ -85,7 +87,8 @@ class ImageCacheManagerTestCase(test.TestCase):
f.write('fdghkfhkgjjksfdgjksjkghsdf')
f.close()
- csum_output = imagecache.read_stored_checksum(fname)
+ csum_output = imagecache.read_stored_checksum(fname,
+ timestamped=False)
self.assertEquals(csum_output, 'fdghkfhkgjjksfdgjksjkghsdf')
self.assertFalse(os.path.exists(old_fname))
self.assertTrue(os.path.exists(virtutils.get_info_filename(fname)))
@@ -351,9 +354,8 @@ class ImageCacheManagerTestCase(test.TestCase):
fname = os.path.join(tmpdir, 'aaa')
info_fname = virtutils.get_info_filename(fname)
- f = open(fname, 'w')
- f.write(testdata)
- f.close()
+ with open(fname, 'w') as f:
+ f.write(testdata)
return fname, info_fname, testdata
@@ -480,26 +482,23 @@ class ImageCacheManagerTestCase(test.TestCase):
self.assertNotEqual(log.find('image verification failed'), -1)
def test_verify_checksum_file_missing(self):
- img = {'container_format': 'ami', 'id': '42'}
-
self.flags(checksum_base_images=True)
- with self._intercept_log_messages() as stream:
- with utils.tempdir() as tmpdir:
- self.flags(instances_path=tmpdir)
- self.flags(image_info_filename_pattern=('$instances_path/'
- '%(image)s.info'))
+ with utils.tempdir() as tmpdir:
+ self.flags(instances_path=tmpdir)
+ self.flags(image_info_filename_pattern=('$instances_path/'
+ '%(image)s.info'))
- fname, info_fname, testdata = self._make_checksum(tmpdir)
+ fname, info_fname, testdata = self._make_checksum(tmpdir)
- # Checksum file missing
- image_cache_manager = imagecache.ImageCacheManager()
- res = image_cache_manager._verify_checksum(img, fname)
- self.assertEquals(res, None)
+ # Checksum file missing
+ image_cache_manager = imagecache.ImageCacheManager()
+ res = image_cache_manager._verify_checksum('aaa', fname)
+ self.assertEquals(res, None)
- # Checksum requests for a file with no checksum now have the
- # side effect of creating the checksum
- self.assertTrue(os.path.exists(info_fname))
+ # Checksum requests for a file with no checksum now have the
+ # side effect of creating the checksum
+ self.assertTrue(os.path.exists(info_fname))
@contextlib.contextmanager
def _make_base_file(self, checksum=True):
@@ -683,9 +682,12 @@ class ImageCacheManagerTestCase(test.TestCase):
img = '123'
with self._make_base_file() as fname:
- f = open(fname, 'w')
- f.write('banana')
- f.close()
+ with open(fname, 'w') as f:
+ f.write('banana')
+
+ d = {'sha1': '21323454'}
+ with open('%s.info' % fname, 'w') as f:
+ f.write(json.dumps(d))
image_cache_manager = imagecache.ImageCacheManager()
image_cache_manager.unexplained_images = [fname]