From c38568f026853f64f2669f03bd56441b007f13be Mon Sep 17 00:00:00 2001 From: gholt Date: Tue, 18 Sep 2012 18:24:47 +0000 Subject: [PATCH] Fix bug where serialization_format is ignored Change-Id: I5a5ac8b5f18e077105ab12e9b1f0ccafac3983f7 --- swift/common/middleware/memcache.py | 2 ++ test/unit/common/middleware/test_memcache.py | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/swift/common/middleware/memcache.py b/swift/common/middleware/memcache.py index 20121c9..06678c4 100644 --- a/swift/common/middleware/memcache.py +++ b/swift/common/middleware/memcache.py @@ -52,6 +52,8 @@ class MemcacheMiddleware(object): self.memcache_servers = '127.0.0.1:11211' if serialization_format is None: serialization_format = 0 + else: + serialization_format = int(serialization_format) self.memcache = MemcacheRing( [s.strip() for s in self.memcache_servers.split(',') if s.strip()], diff --git a/test/unit/common/middleware/test_memcache.py b/test/unit/common/middleware/test_memcache.py index e217a96..28c7b13 100644 --- a/test/unit/common/middleware/test_memcache.py +++ b/test/unit/common/middleware/test_memcache.py @@ -48,7 +48,7 @@ class SetConfigParser(object): if option == 'memcache_servers': return '1.2.3.4:5' elif option == 'memcache_serialization_support': - return '2' + return '1' else: raise NoOptionError(option) else: @@ -104,6 +104,8 @@ class TestCacheMiddleware(unittest.TestCase): finally: memcache.ConfigParser = orig_parser self.assertEquals(app.memcache_servers, '127.0.0.1:11211') + self.assertEquals(app.memcache._allow_pickle, True) + self.assertEquals(app.memcache._allow_unpickle, True) def test_conf_from_extra_conf(self): orig_parser = memcache.ConfigParser @@ -113,16 +115,22 @@ class TestCacheMiddleware(unittest.TestCase): finally: memcache.ConfigParser = orig_parser self.assertEquals(app.memcache_servers, '1.2.3.4:5') + self.assertEquals(app.memcache._allow_pickle, False) + self.assertEquals(app.memcache._allow_unpickle, True) def test_conf_from_inline_conf(self): orig_parser = memcache.ConfigParser memcache.ConfigParser = SetConfigParser try: app = memcache.MemcacheMiddleware( - FakeApp(), {'memcache_servers': '6.7.8.9:10'}) + FakeApp(), + {'memcache_servers': '6.7.8.9:10', + 'serialization_format': '0'}) finally: memcache.ConfigParser = orig_parser self.assertEquals(app.memcache_servers, '6.7.8.9:10') + self.assertEquals(app.memcache._allow_pickle, False) + self.assertEquals(app.memcache._allow_unpickle, True) if __name__ == '__main__':