Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(536)

Unified Diff: appengine/findit/gae_libs/test/caches_test.py

Issue 2557553002: [Culprit-Finder] Seperate gae related part in cache_decorator and gitile repository to gae_libs/ (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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'))

Powered by Google App Engine
This is Rietveld 408576698