diff options
author | Ruby Loo <ruby.loo@intel.com> | 2017-11-06 22:40:59 -0500 |
---|---|---|
committer | Ruby Loo <ruby.loo@intel.com> | 2017-11-06 22:45:57 -0500 |
commit | 5eac09e66b4d4b2a25b6b57d8f97608f3a306156 (patch) | |
tree | e66f5f9cf432ccf172eb3dc83c4cc97c48c0ff65 | |
parent | ac5b86a6d5fee01ae9d242d08f04dbd784473401 (diff) | |
download | python-ironicclient-5eac09e66b4d4b2a25b6b57d8f97608f3a306156.tar.gz |
Mock filecache.CACHE in unit tests
This mocks the global filecache.CACHE in unit tests that modify the
value. This is to avoid errors when other unit tests are running
at the same time, that use that same variable.
For example, ..unit.test_client.ClientTest.test_loader_arguments_token
has failed with ...
File "ironicclient/common/filecache.py", line 103, in retrieve_data
data = _get_cache().get(key, expiration_time=expiry)
AttributeError: 'int' object has no attribute 'get'
Change-Id: I84b9c6699c98d1fa642247808b6ddea4fae1e8d0
-rw-r--r-- | ironicclient/tests/unit/common/test_filecache.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ironicclient/tests/unit/common/test_filecache.py b/ironicclient/tests/unit/common/test_filecache.py index 5df4046..edee043 100644 --- a/ironicclient/tests/unit/common/test_filecache.py +++ b/ironicclient/tests/unit/common/test_filecache.py @@ -29,6 +29,7 @@ class FileCacheTest(utils.BaseTestCase): result = filecache._build_key(None, None) self.assertEqual('None:None', result) + @mock.patch.object(filecache, 'CACHE', None) @mock.patch.object(os.environ, 'get', autospec=True) @mock.patch.object(os.path, 'exists', autospec=True) @mock.patch.object(os, 'makedirs', autospec=True) @@ -38,12 +39,12 @@ class FileCacheTest(utils.BaseTestCase): cache_val = 6 # If not present in the env, get will return the defaulted value mock_get.return_value = filecache.DEFAULT_EXPIRY - filecache.CACHE = None mock_exists.return_value = False cache_region = mock.Mock(spec=dogpile.cache.region.CacheRegion) cache_region.configure.return_value = cache_val mock_makeregion.return_value = cache_region self.assertEqual(cache_val, filecache._get_cache()) + self.assertEqual(cache_val, filecache.CACHE) mock_exists.assert_called_once_with(filecache.CACHE_DIR) mock_makedirs.assert_called_once_with(filecache.CACHE_DIR) mock_get.assert_called_once_with(filecache.CACHE_EXPIRY_ENV_VAR, @@ -53,6 +54,7 @@ class FileCacheTest(utils.BaseTestCase): arguments=mock.ANY, expiration_time=filecache.DEFAULT_EXPIRY) + @mock.patch.object(filecache, 'CACHE', None) @mock.patch.object(os.environ, 'get', autospec=True) @mock.patch.object(os.path, 'exists', autospec=True) @mock.patch.object(os, 'makedirs', autospec=True) @@ -62,12 +64,12 @@ class FileCacheTest(utils.BaseTestCase): cache_val = 5643 cache_expiry = '78' mock_get.return_value = cache_expiry - filecache.CACHE = None mock_exists.return_value = False cache_region = mock.Mock(spec=dogpile.cache.region.CacheRegion) cache_region.configure.return_value = cache_val mock_makeregion.return_value = cache_region self.assertEqual(cache_val, filecache._get_cache()) + self.assertEqual(cache_val, filecache.CACHE) mock_get.assert_called_once_with(filecache.CACHE_EXPIRY_ENV_VAR, mock.ANY) cache_region.configure.assert_called_once_with( @@ -75,6 +77,7 @@ class FileCacheTest(utils.BaseTestCase): arguments=mock.ANY, expiration_time=int(cache_expiry)) + @mock.patch.object(filecache, 'CACHE', None) @mock.patch.object(filecache.LOG, 'warning', autospec=True) @mock.patch.object(os.environ, 'get', autospec=True) @mock.patch.object(os.path, 'exists', autospec=True) @@ -86,12 +89,12 @@ class FileCacheTest(utils.BaseTestCase): cache_val = 5643 cache_expiry = 'Rollenhagen' mock_get.return_value = cache_expiry - filecache.CACHE = None mock_exists.return_value = False cache_region = mock.Mock(spec=dogpile.cache.region.CacheRegion) cache_region.configure.return_value = cache_val mock_makeregion.return_value = cache_region self.assertEqual(cache_val, filecache._get_cache()) + self.assertEqual(cache_val, filecache.CACHE) mock_get.assert_called_once_with(filecache.CACHE_EXPIRY_ENV_VAR, mock.ANY) cache_region.configure.assert_called_once_with( @@ -103,13 +106,13 @@ class FileCacheTest(utils.BaseTestCase): 'env_var': filecache.CACHE_EXPIRY_ENV_VAR} mock_log.assert_called_once_with(mock.ANY, log_dict) + @mock.patch.object(filecache, 'CACHE', 5552368) @mock.patch.object(os.path, 'exists', autospec=True) @mock.patch.object(os, 'makedirs', autospec=True) def test__get_cache_dir_already_exists(self, mock_makedirs, mock_exists): - cache_val = 5552368 mock_exists.return_value = True - filecache.CACHE = cache_val - self.assertEqual(cache_val, filecache._get_cache()) + self.assertEqual(5552368, filecache._get_cache()) + self.assertEqual(5552368, filecache.CACHE) self.assertEqual(0, mock_exists.call_count) self.assertEqual(0, mock_makedirs.call_count) |