Esempio n. 1
0
	def setUp(self):
		self.cache = MongoCache()
		self.cache.clear()
		self.cache.set("test", 1)
		self.cache.set("test1", 2)
Esempio n. 2
0
class TestMongoCache(unittest.TestCase):
	def setUp(self):
		self.cache = MongoCache()
		self.cache.clear()
		self.cache.set("test", 1)
		self.cache.set("test1", 2)

	def test_set_get_basic(self):
		self.assertEqual(self.cache.get("test"), 1)
		self.assertEqual(self.cache.get("test1"), 2)

	def test_unset(self):
		self.cache.unset("test1")
		self.assertEqual(self.cache.get("test1"), None)

	def test_replace(self):
		self.assertEqual(self.cache.get("test"), 1)
		self.cache.set("test", 42)
		self.assertEqual(self.cache.get("test"), 42)

	def test_get_lambda(self):
		self.assertEqual(self.cache.get("lambda"), None)
		self.assertEqual(self.cache.get("lambda", lambda : "lambda"), "lambda")
		self.assertEqual(self.cache.get("lambda"), "lambda")

	def test_expires_in(self):
		self.cache.set("set", "set", expires_in= -1)
		self.cache.get("get", lambda: "get", expires_in= -1)
		self.assertTrue(self.cache.cache_collection.find_one({"_id": "set"})) # value still present
		self.assertEqual(self.cache.get("set"), None) # value deleted due to expiry
		self.assertFalse(self.cache.cache_collection.find_one({"_id": "set"}))
		self.assertEqual(self.cache.get("get"), None)

	def test_expires_at(self):
		self.cache.set("set", "set", expires_at= time.time() -1)
		self.cache.get("get", lambda: "get", expires_at= time.time() -1)
		self.assertTrue(self.cache.cache_collection.find_one({"_id": "set"})) # value still present
		self.assertEqual(self.cache.get("set"), None) # value deleted due to expiry
		self.assertFalse(self.cache.cache_collection.find_one({"_id": "set"}))
		self.assertEqual(self.cache.get("get"), None)

	def test_complex_values(self):
		complex_obj = {"this": "is", "a": "complex object"}
		self.cache.set("complex", complex_obj)
		self.assertEqual(self.cache.get("complex"), complex_obj)

	def test_setitem_getitem(self):
		self.cache["test2"] = 1
		self.assertEqual(self.cache["test2"], 1)
		self.assertEqual(self.cache["test3"], None)