From a7408cf63cb76ac6cc51df9585630aeac1ad7528 Mon Sep 17 00:00:00 2001 From: Eric Harney Date: Thu, 1 Oct 2015 15:31:54 -0400 Subject: [PATCH] Image cache tests: use fake_notifier Use the same method for testing notifications that's used in test_volume. This may resolve the bug below, but that isn't really clear yet. Either way, it seems less risky. Closes-Bug: #1501745 Change-Id: I566d27e70bcfaaa0f863cdfacaef6fe11236f9e6 --- cinder/tests/unit/image/test_cache.py | 53 ++++++++++++++------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/cinder/tests/unit/image/test_cache.py b/cinder/tests/unit/image/test_cache.py index 5ec897e97..0c5a616e4 100644 --- a/cinder/tests/unit/image/test_cache.py +++ b/cinder/tests/unit/image/test_cache.py @@ -18,12 +18,8 @@ import mock from oslo_utils import timeutils from cinder import context as ctxt -from cinder import test - -patcher = mock.patch('cinder.rpc') -patcher.start() from cinder.image import cache as image_cache -patcher.stop() +from cinder import test class ImageVolumeCacheTestCase(test.TestCase): @@ -33,7 +29,6 @@ class ImageVolumeCacheTestCase(test.TestCase): self.mock_db = mock.Mock() self.mock_volume_api = mock.Mock() self.context = ctxt.get_admin_context() - self.notifier = mock.Mock() def _build_cache(self, max_gb=0, max_count=0): cache = image_cache.ImageVolumeCache(self.mock_db, @@ -75,11 +70,13 @@ class ImageVolumeCacheTestCase(test.TestCase): self.context, entry['volume_id'] ) - self.notifier.info.assert_called_once_with( - self.context, - 'image_volume_cache.evict', - {'image_id': entry['image_id'], 'host': entry['host']} - ) + + msg = self.notifier.notifications[0] + self.assertEqual('image_volume_cache.evict', msg['event_type']) + self.assertEqual('INFO', msg['priority']) + self.assertEqual(entry['host'], msg['payload']['host']) + self.assertEqual(entry['image_id'], msg['payload']['image_id']) + self.assertEqual(1, len(self.notifier.notifications)) def test_get_entry(self): cache = self._build_cache() @@ -108,11 +105,13 @@ class ImageVolumeCacheTestCase(test.TestCase): entry['image_id'], volume_ref['host'] ) - self.notifier.info.assert_called_once_with( - self.context, - 'image_volume_cache.hit', - {'image_id': entry['image_id'], 'host': entry['host']} - ) + + msg = self.notifier.notifications[0] + self.assertEqual('image_volume_cache.hit', msg['event_type']) + self.assertEqual('INFO', msg['priority']) + self.assertEqual(entry['host'], msg['payload']['host']) + self.assertEqual(entry['image_id'], msg['payload']['image_id']) + self.assertEqual(1, len(self.notifier.notifications)) def test_get_entry_not_exists(self): cache = self._build_cache() @@ -138,11 +137,12 @@ class ImageVolumeCacheTestCase(test.TestCase): self.assertIsNone(found_entry) - self.notifier.info.assert_called_once_with( - self.context, - 'image_volume_cache.miss', - {'image_id': image_id, 'host': volume_ref['host']} - ) + msg = self.notifier.notifications[0] + self.assertEqual('image_volume_cache.miss', msg['event_type']) + self.assertEqual('INFO', msg['priority']) + self.assertEqual(volume_ref['host'], msg['payload']['host']) + self.assertEqual(image_id, msg['payload']['image_id']) + self.assertEqual(1, len(self.notifier.notifications)) def test_get_entry_needs_update(self): cache = self._build_cache() @@ -173,11 +173,12 @@ class ImageVolumeCacheTestCase(test.TestCase): self.assertIsNone(found_entry) self.mock_volume_api.delete.assert_called_with(self.context, mock_volume) - self.notifier.info.assert_called_once_with( - self.context, - 'image_volume_cache.miss', - {'image_id': entry['image_id'], 'host': volume_ref['host']} - ) + msg = self.notifier.notifications[0] + self.assertEqual('image_volume_cache.miss', msg['event_type']) + self.assertEqual('INFO', msg['priority']) + self.assertEqual(volume_ref['host'], msg['payload']['host']) + self.assertEqual(entry['image_id'], msg['payload']['image_id']) + self.assertEqual(1, len(self.notifier.notifications)) def test_create_cache_entry(self): cache = self._build_cache() -- 2.45.2