Clean up memcache tests

This is mostly just using mock.patch instead of doing it by hand. One
test was doing some weird exception counting; now it just uses
assertRaises in a loop.

Change-Id: I54f903f170226720405df2c5f6845124909ab830
This commit is contained in:
Samuel Merritt 2017-10-20 14:48:31 -07:00
parent 1da1bfb381
commit 9b2779ba13

View File

@ -108,10 +108,7 @@ class TestCacheMiddleware(unittest.TestCase):
self.assertTrue(isinstance(resp['swift.cache'], MemcacheRing)) self.assertTrue(isinstance(resp['swift.cache'], MemcacheRing))
def test_conf_default_read(self): def test_conf_default_read(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', ExcConfigParser):
memcache.ConfigParser = ExcConfigParser
count = 0
try:
for d in ({}, for d in ({},
{'memcache_servers': '6.7.8.9:10'}, {'memcache_servers': '6.7.8.9:10'},
{'memcache_serialization_support': '0'}, {'memcache_serialization_support': '0'},
@ -123,39 +120,27 @@ class TestCacheMiddleware(unittest.TestCase):
{'memcache_serialization_support': '0', {'memcache_serialization_support': '0',
'memcache_max_connections': '30'} 'memcache_max_connections': '30'}
): ):
try: with self.assertRaises(Exception) as catcher:
memcache.MemcacheMiddleware(FakeApp(), d) memcache.MemcacheMiddleware(FakeApp(), d)
except Exception as err: self.assertEqual(
self.assertEqual( str(catcher.exception),
str(err), "read called with '/etc/swift/memcache.conf'")
"read called with '/etc/swift/memcache.conf'")
count += 1
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(count, 7)
def test_conf_set_no_read(self): def test_conf_set_no_read(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', ExcConfigParser):
memcache.ConfigParser = ExcConfigParser exc = None
exc = None try:
try: memcache.MemcacheMiddleware(
memcache.MemcacheMiddleware( FakeApp(), {'memcache_servers': '1.2.3.4:5',
FakeApp(), {'memcache_servers': '1.2.3.4:5', 'memcache_serialization_support': '2',
'memcache_serialization_support': '2', 'memcache_max_connections': '30'})
'memcache_max_connections': '30'}) except Exception as err:
except Exception as err: exc = err
exc = err
finally:
memcache.ConfigParser = orig_parser
self.assertIsNone(exc) self.assertIsNone(exc)
def test_conf_default(self): def test_conf_default(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', EmptyConfigParser):
memcache.ConfigParser = EmptyConfigParser
try:
app = memcache.MemcacheMiddleware(FakeApp(), {}) app = memcache.MemcacheMiddleware(FakeApp(), {})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '127.0.0.1:11211') self.assertEqual(app.memcache_servers, '127.0.0.1:11211')
self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_pickle, False)
self.assertEqual(app.memcache._allow_unpickle, 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) app.memcache._client_cache['127.0.0.1:11211'].max_size, 2)
def test_conf_inline(self): def test_conf_inline(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', get_config_parser()):
memcache.ConfigParser = get_config_parser()
try:
app = memcache.MemcacheMiddleware( app = memcache.MemcacheMiddleware(
FakeApp(), FakeApp(),
{'memcache_servers': '6.7.8.9:10', {'memcache_servers': '6.7.8.9:10',
'memcache_serialization_support': '0', 'memcache_serialization_support': '0',
'memcache_max_connections': '5'}) 'memcache_max_connections': '5'})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache_servers, '6.7.8.9:10')
self.assertEqual(app.memcache._allow_pickle, True) self.assertEqual(app.memcache._allow_pickle, True)
self.assertEqual(app.memcache._allow_unpickle, 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) app.memcache._client_cache['6.7.8.9:10'].max_size, 5)
def test_conf_extra_no_section(self): def test_conf_extra_no_section(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser',
memcache.ConfigParser = get_config_parser(section='foobar') get_config_parser(section='foobar')):
try:
app = memcache.MemcacheMiddleware(FakeApp(), {}) app = memcache.MemcacheMiddleware(FakeApp(), {})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '127.0.0.1:11211') self.assertEqual(app.memcache_servers, '127.0.0.1:11211')
self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_pickle, False)
self.assertEqual(app.memcache._allow_unpickle, 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) app.memcache._client_cache['127.0.0.1:11211'].max_size, 2)
def test_conf_extra_no_option(self): def test_conf_extra_no_option(self):
orig_parser = memcache.ConfigParser replacement_parser = get_config_parser(
memcache.ConfigParser = get_config_parser(
memcache_servers='error', memcache_serialization_support='error', memcache_servers='error', memcache_serialization_support='error',
memcache_max_connections='error') memcache_max_connections='error')
try: with mock.patch.object(memcache, 'ConfigParser', replacement_parser):
app = memcache.MemcacheMiddleware(FakeApp(), {}) app = memcache.MemcacheMiddleware(FakeApp(), {})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '127.0.0.1:11211') self.assertEqual(app.memcache_servers, '127.0.0.1:11211')
self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_pickle, False)
self.assertEqual(app.memcache._allow_unpickle, 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) app.memcache._client_cache['127.0.0.1:11211'].max_size, 2)
def test_conf_inline_other_max_conn(self): def test_conf_inline_other_max_conn(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', get_config_parser()):
memcache.ConfigParser = get_config_parser()
try:
app = memcache.MemcacheMiddleware( app = memcache.MemcacheMiddleware(
FakeApp(), FakeApp(),
{'memcache_servers': '6.7.8.9:10', {'memcache_servers': '6.7.8.9:10',
'memcache_serialization_support': '0', 'memcache_serialization_support': '0',
'max_connections': '5'}) 'max_connections': '5'})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache_servers, '6.7.8.9:10')
self.assertEqual(app.memcache._allow_pickle, True) self.assertEqual(app.memcache._allow_pickle, True)
self.assertEqual(app.memcache._allow_unpickle, 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) app.memcache._client_cache['6.7.8.9:10'].max_size, 5)
def test_conf_inline_bad_max_conn(self): def test_conf_inline_bad_max_conn(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', get_config_parser()):
memcache.ConfigParser = get_config_parser()
try:
app = memcache.MemcacheMiddleware( app = memcache.MemcacheMiddleware(
FakeApp(), FakeApp(),
{'memcache_servers': '6.7.8.9:10', {'memcache_servers': '6.7.8.9:10',
'memcache_serialization_support': '0', 'memcache_serialization_support': '0',
'max_connections': 'bad42'}) 'max_connections': 'bad42'})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache_servers, '6.7.8.9:10')
self.assertEqual(app.memcache._allow_pickle, True) self.assertEqual(app.memcache._allow_pickle, True)
self.assertEqual(app.memcache._allow_unpickle, 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) app.memcache._client_cache['6.7.8.9:10'].max_size, 4)
def test_conf_from_extra_conf(self): def test_conf_from_extra_conf(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', get_config_parser()):
memcache.ConfigParser = get_config_parser()
try:
app = memcache.MemcacheMiddleware(FakeApp(), {}) app = memcache.MemcacheMiddleware(FakeApp(), {})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '1.2.3.4:5') self.assertEqual(app.memcache_servers, '1.2.3.4:5')
self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_pickle, False)
self.assertEqual(app.memcache._allow_unpickle, True) 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) app.memcache._client_cache['1.2.3.4:5'].max_size, 4)
def test_conf_from_extra_conf_bad_max_conn(self): def test_conf_from_extra_conf_bad_max_conn(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', get_config_parser(
memcache.ConfigParser = get_config_parser( memcache_max_connections='bad42')):
memcache_max_connections='bad42')
try:
app = memcache.MemcacheMiddleware(FakeApp(), {}) app = memcache.MemcacheMiddleware(FakeApp(), {})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '1.2.3.4:5') self.assertEqual(app.memcache_servers, '1.2.3.4:5')
self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_pickle, False)
self.assertEqual(app.memcache._allow_unpickle, True) 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) app.memcache._client_cache['1.2.3.4:5'].max_size, 2)
def test_conf_from_inline_and_maxc_from_extra_conf(self): def test_conf_from_inline_and_maxc_from_extra_conf(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', get_config_parser()):
memcache.ConfigParser = get_config_parser()
try:
app = memcache.MemcacheMiddleware( app = memcache.MemcacheMiddleware(
FakeApp(), FakeApp(),
{'memcache_servers': '6.7.8.9:10', {'memcache_servers': '6.7.8.9:10',
'memcache_serialization_support': '0'}) 'memcache_serialization_support': '0'})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache_servers, '6.7.8.9:10')
self.assertEqual(app.memcache._allow_pickle, True) self.assertEqual(app.memcache._allow_pickle, True)
self.assertEqual(app.memcache._allow_unpickle, 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) app.memcache._client_cache['6.7.8.9:10'].max_size, 4)
def test_conf_from_inline_and_sers_from_extra_conf(self): def test_conf_from_inline_and_sers_from_extra_conf(self):
orig_parser = memcache.ConfigParser with mock.patch.object(memcache, 'ConfigParser', get_config_parser()):
memcache.ConfigParser = get_config_parser()
try:
app = memcache.MemcacheMiddleware( app = memcache.MemcacheMiddleware(
FakeApp(), FakeApp(),
{'memcache_servers': '6.7.8.9:10', {'memcache_servers': '6.7.8.9:10',
'memcache_max_connections': '42'}) 'memcache_max_connections': '42'})
finally:
memcache.ConfigParser = orig_parser
self.assertEqual(app.memcache_servers, '6.7.8.9:10') self.assertEqual(app.memcache_servers, '6.7.8.9:10')
self.assertEqual(app.memcache._allow_pickle, False) self.assertEqual(app.memcache._allow_pickle, False)
self.assertEqual(app.memcache._allow_unpickle, True) self.assertEqual(app.memcache._allow_unpickle, True)