Chromium Code Reviews| Index: appengine/findit/gae_libs/test/caches_test.py |
| diff --git a/appengine/findit/gae_libs/test/caches_test.py b/appengine/findit/gae_libs/test/caches_test.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0281b0df2852f9c398fc3913a73320c4a52c444a |
| --- /dev/null |
| +++ b/appengine/findit/gae_libs/test/caches_test.py |
| @@ -0,0 +1,53 @@ |
| + |
|
wrengr
2016/12/06 21:52:57
missing copyright header
Sharu Jiang
2016/12/06 23:58:17
Done.
|
| +import pickle |
| +import zlib |
| + |
| +from google.appengine.api import memcache |
| + |
| +from testing_utils import testing |
| + |
| +from gae_libs import caches |
| + |
| + |
| +class CachesTest(testing.AppengineTestCase): |
| + |
| + def testPickledMemCache(self): |
| + """Tests using app engine ``memcache`` to cache data.""" |
| + cache = caches.PickledMemCache() |
| + cache.Set('a', 'd') |
| + self.assertEquals('d', cache.Get('a')) |
| + |
| + def _MockPickleAndZlib(self): |
| + def Func(string, *_, **__): |
| + return string |
| + self.mock(pickle, 'dumps', Func) |
| + self.mock(pickle, 'loads', Func) |
| + self.mock(zlib, 'compress', Func) |
| + self.mock(zlib, 'decompress', Func) |
| + |
| + def testCachingSmallDataInCompressedMemCache(self): |
| + """Tests if ``CompressedMemCache`` cache small data (1KB) successfully.""" |
|
wrengr
2016/12/06 21:52:57
"cache" -> "caches"
Sharu Jiang
2016/12/06 23:58:17
Done.
|
| + self._MockPickleAndZlib() |
| + cache = caches.CompressedMemCache() |
| + data = 'A' * 1024 # A string of size 1KB. |
| + cache.Set('a', data) |
| + self.assertEquals(data, cache.Get('a')) |
| + |
| + def testCachingLargeDataInCompressedMemCache(self): |
| + """App engine memcache can only cache data < 1MB at one time, so data > 1MB |
|
wrengr
2016/12/06 21:52:57
single-line docstring before the longer explanatio
Sharu Jiang
2016/12/06 23:58:17
Done.
|
| + will be split into sub-piece and stored separately. Tests if LargData are |
| + cached successfully.""" |
| + self._MockPickleAndZlib() |
| + cache = caches.CompressedMemCache() |
| + data = 'A' * (1024 * 1024 * 2) # A string of size 2MB. |
| + cache.Set('a', data) |
| + self.assertEquals(data, cache.Get('a')) |
| + |
| + def testMissingSubPieceOfLargeDataInCompressedMemCache(self): |
| + """Tests ``CompressedMemCache`` return None when the data is broken.""" |
|
wrengr
2016/12/06 21:52:57
-> "Tests that ``CompressedMemCache`` returns None
Sharu Jiang
2016/12/06 23:58:17
Done.
|
| + self._MockPickleAndZlib() |
| + cache = caches.CompressedMemCache() |
| + data = 'A' * (1024 * 1024 * 2) # A string of size 2MB. |
| + cache.Set('a', data) |
| + memcache.delete('a-0') |
| + self.assertEquals(None, cache.Get('a')) |