diff --git a/test/unit/common/middleware/test_memcache.py b/test/unit/common/middleware/test_memcache.py index 4db530c3a1..ef706ca98e 100644 --- a/test/unit/common/middleware/test_memcache.py +++ b/test/unit/common/middleware/test_memcache.py @@ -108,10 +108,7 @@ class TestCacheMiddleware(unittest.TestCase): self.assertTrue(isinstance(resp['swift.cache'], MemcacheRing)) def test_conf_default_read(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = ExcConfigParser - count = 0 - try: + with mock.patch.object(memcache, 'ConfigParser', ExcConfigParser): for d in ({}, {'memcache_servers': '6.7.8.9:10'}, {'memcache_serialization_support': '0'}, @@ -123,39 +120,27 @@ class TestCacheMiddleware(unittest.TestCase): {'memcache_serialization_support': '0', 'memcache_max_connections': '30'} ): - try: + with self.assertRaises(Exception) as catcher: memcache.MemcacheMiddleware(FakeApp(), d) - except Exception as err: - self.assertEqual( - str(err), - "read called with '/etc/swift/memcache.conf'") - count += 1 - finally: - memcache.ConfigParser = orig_parser - self.assertEqual(count, 7) + self.assertEqual( + str(catcher.exception), + "read called with '/etc/swift/memcache.conf'") def test_conf_set_no_read(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = ExcConfigParser - exc = None - try: - memcache.MemcacheMiddleware( - FakeApp(), {'memcache_servers': '1.2.3.4:5', - 'memcache_serialization_support': '2', - 'memcache_max_connections': '30'}) - except Exception as err: - exc = err - finally: - memcache.ConfigParser = orig_parser + with mock.patch.object(memcache, 'ConfigParser', ExcConfigParser): + exc = None + try: + memcache.MemcacheMiddleware( + FakeApp(), {'memcache_servers': '1.2.3.4:5', + 'memcache_serialization_support': '2', + 'memcache_max_connections': '30'}) + except Exception as err: + exc = err self.assertIsNone(exc) def test_conf_default(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = EmptyConfigParser - try: + with mock.patch.object(memcache, 'ConfigParser', EmptyConfigParser): app = memcache.MemcacheMiddleware(FakeApp(), {}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '127.0.0.1:11211') self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_unpickle, False) @@ -163,16 +148,12 @@ class TestCacheMiddleware(unittest.TestCase): app.memcache._client_cache['127.0.0.1:11211'].max_size, 2) def test_conf_inline(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = get_config_parser() - try: + with mock.patch.object(memcache, 'ConfigParser', get_config_parser()): app = memcache.MemcacheMiddleware( FakeApp(), {'memcache_servers': '6.7.8.9:10', 'memcache_serialization_support': '0', 'memcache_max_connections': '5'}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache._allow_pickle, True) self.assertEqual(app.memcache._allow_unpickle, True) @@ -180,12 +161,9 @@ class TestCacheMiddleware(unittest.TestCase): app.memcache._client_cache['6.7.8.9:10'].max_size, 5) def test_conf_extra_no_section(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = get_config_parser(section='foobar') - try: + with mock.patch.object(memcache, 'ConfigParser', + get_config_parser(section='foobar')): app = memcache.MemcacheMiddleware(FakeApp(), {}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '127.0.0.1:11211') self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_unpickle, False) @@ -193,14 +171,11 @@ class TestCacheMiddleware(unittest.TestCase): app.memcache._client_cache['127.0.0.1:11211'].max_size, 2) def test_conf_extra_no_option(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = get_config_parser( + replacement_parser = get_config_parser( memcache_servers='error', memcache_serialization_support='error', memcache_max_connections='error') - try: + with mock.patch.object(memcache, 'ConfigParser', replacement_parser): app = memcache.MemcacheMiddleware(FakeApp(), {}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '127.0.0.1:11211') self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_unpickle, False) @@ -208,16 +183,12 @@ class TestCacheMiddleware(unittest.TestCase): app.memcache._client_cache['127.0.0.1:11211'].max_size, 2) def test_conf_inline_other_max_conn(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = get_config_parser() - try: + with mock.patch.object(memcache, 'ConfigParser', get_config_parser()): app = memcache.MemcacheMiddleware( FakeApp(), {'memcache_servers': '6.7.8.9:10', 'memcache_serialization_support': '0', 'max_connections': '5'}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache._allow_pickle, True) self.assertEqual(app.memcache._allow_unpickle, True) @@ -225,16 +196,12 @@ class TestCacheMiddleware(unittest.TestCase): app.memcache._client_cache['6.7.8.9:10'].max_size, 5) def test_conf_inline_bad_max_conn(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = get_config_parser() - try: + with mock.patch.object(memcache, 'ConfigParser', get_config_parser()): app = memcache.MemcacheMiddleware( FakeApp(), {'memcache_servers': '6.7.8.9:10', 'memcache_serialization_support': '0', 'max_connections': 'bad42'}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache._allow_pickle, True) self.assertEqual(app.memcache._allow_unpickle, True) @@ -242,12 +209,8 @@ class TestCacheMiddleware(unittest.TestCase): app.memcache._client_cache['6.7.8.9:10'].max_size, 4) def test_conf_from_extra_conf(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = get_config_parser() - try: + with mock.patch.object(memcache, 'ConfigParser', get_config_parser()): app = memcache.MemcacheMiddleware(FakeApp(), {}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '1.2.3.4:5') self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_unpickle, True) @@ -255,13 +218,9 @@ class TestCacheMiddleware(unittest.TestCase): app.memcache._client_cache['1.2.3.4:5'].max_size, 4) def test_conf_from_extra_conf_bad_max_conn(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = get_config_parser( - memcache_max_connections='bad42') - try: + with mock.patch.object(memcache, 'ConfigParser', get_config_parser( + memcache_max_connections='bad42')): app = memcache.MemcacheMiddleware(FakeApp(), {}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '1.2.3.4:5') self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_unpickle, True) @@ -269,15 +228,11 @@ class TestCacheMiddleware(unittest.TestCase): app.memcache._client_cache['1.2.3.4:5'].max_size, 2) def test_conf_from_inline_and_maxc_from_extra_conf(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = get_config_parser() - try: + with mock.patch.object(memcache, 'ConfigParser', get_config_parser()): app = memcache.MemcacheMiddleware( FakeApp(), {'memcache_servers': '6.7.8.9:10', 'memcache_serialization_support': '0'}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache._allow_pickle, True) self.assertEqual(app.memcache._allow_unpickle, True) @@ -285,15 +240,11 @@ class TestCacheMiddleware(unittest.TestCase): app.memcache._client_cache['6.7.8.9:10'].max_size, 4) def test_conf_from_inline_and_sers_from_extra_conf(self): - orig_parser = memcache.ConfigParser - memcache.ConfigParser = get_config_parser() - try: + with mock.patch.object(memcache, 'ConfigParser', get_config_parser()): app = memcache.MemcacheMiddleware( FakeApp(), {'memcache_servers': '6.7.8.9:10', 'memcache_max_connections': '42'}) - finally: - memcache.ConfigParser = orig_parser self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_unpickle, True)