def test_cache_init_creates_store_and_stats(self, CacheStats): store = MagicMock() c = Cache(store=store, ttl=100, tti=10, foo=1, bar=2, baz=3) CacheStats.assert_called_once_with() store.assert_called_once_with(foo=1, bar=2, baz=3) self.assertEqual(c.store, store.return_value) self.assertEqual(c.stats, CacheStats.return_value)
def test_everything(self): s = CacheStats() s.put() self.assertEqual(s.puts, 1) self.assertEqual(s.size, 1) s.put(new=False) self.assertEqual(s.puts, 2) s.hit() self.assertEqual(s.hits, 1) s.miss() self.assertEqual(s.misses, 1) s.miss(expired=True) self.assertEqual(s.misses, 2) self.assertEqual(s.expirations, 1) s.delete() self.assertEqual(s.size, 0) s.put() self.assertEqual(s.size, 1) s.clear() self.assertEqual(s.size, 0) # puts hits misses expirations size self.assertEqual(s.summary, (3, 1, 2, 1, 0))