def test_memcache_cache(self): settings.MongoStores["unittest"]["cachetype"] = CacheType.Volatile store = MongoStore("unittest") actual = self._memcache.get("unittest:test") self.assertEqual("X", actual) store.save({"_id": "test", "hello": "world"}) actual = self._mongo.find_one("test") self.assertEqual({"_id": "test", "hello": "world"}, actual) actual = self._memcache.get("unittest:test") expected = serialize({"_id": "test", "hello": "world"}) self.assertEqual(expected, actual) self._mongo.delete_one("test") actual = self._mongo.find_one("test") self.assertEqual(None, actual) actual = store.find_one("test") self.assertEqual({"_id": "test", "hello": "world"}, actual) store.save({"_id": "test", "hello": "world"}) store.update({"_id": "test"}, {"$set":{"hello": "universe"}}) actual = self._memcache.get("unittest:test") expected = serialize({"_id": "test", "hello": "universe"}) self.assertEqual(expected, actual) store.delete_one("test") actual = store.find_one("test") self.assertEqual(None, actual) actual = self._memcache.get("unittest:test") self.assertEqual("X", actual)
def put(self, key, val): key = utf8(self._namespace + key) val = utf8(serialize(val)) return self.memcache.set(key, val)