Commit a32bf1ec by Marius Gedminas

Simplify FactCache.copy()

Also fix the bug (missing from six import iteritems) I introduced in
823677b4.
parent ce978745
...@@ -60,7 +60,7 @@ class FactCache(MutableMapping): ...@@ -60,7 +60,7 @@ class FactCache(MutableMapping):
def copy(self): def copy(self):
""" Return a primitive copy of the keys and values from the cache. """ """ Return a primitive copy of the keys and values from the cache. """
return dict([(k, v) for (k, v) in iteritems(self)]) return dict(self)
def keys(self): def keys(self):
return self._plugin.keys() return self._plugin.keys()
......
...@@ -19,7 +19,8 @@ ...@@ -19,7 +19,8 @@
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
from ansible.compat.tests import unittest from ansible.compat.tests import unittest, mock
from ansible.plugins.cache import FactCache
from ansible.plugins.cache.base import BaseCacheModule from ansible.plugins.cache.base import BaseCacheModule
from ansible.plugins.cache.memory import CacheModule as MemoryCache from ansible.plugins.cache.memory import CacheModule as MemoryCache
...@@ -42,6 +43,20 @@ else: ...@@ -42,6 +43,20 @@ else:
from ansible.plugins.cache.redis import CacheModule as RedisCache from ansible.plugins.cache.redis import CacheModule as RedisCache
class TestFactCache(unittest.TestCase):
def setUp(self):
with mock.patch('ansible.constants.CACHE_PLUGIN', 'memory'):
self.cache = FactCache()
def test_copy(self):
self.cache['avocado'] = 'fruit'
self.cache['daisy'] = 'flower'
a_copy = self.cache.copy()
self.assertEqual(type(a_copy), dict)
self.assertEqual(a_copy, dict(avocado='fruit', daisy='flower'))
class TestAbstractClass(unittest.TestCase): class TestAbstractClass(unittest.TestCase):
def setUp(self): def setUp(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment