Пример #1
0
    def test_touch_updates_last_accessed(self, datetime):
        datetime.utcnow.return_value = self.now

        e = CacheEntry('foo', created_at=self.minute_before,
            last_accessed_at=self.minute_before)

        e.touch()
        self.assertEqual(e.last_accessed_at, self.now)
Пример #2
0
    def test_everything(self):
        with patch.dict('sys.modules', {'pymemcache': object(), 'pymemcache.client': MagicMock(Client=self.Memcache)}):
            s = MemcachedStore()

        self.assertEqual(len(s), 0)
        self.assertIsNone(s['foo'])

        s['foo'] = CacheEntry('Value Of Foo')
        self.assertEqual(len(s), 1)
        self.assertEqual(s['foo'].value, 'Value Of Foo')

        del s['foo']
        self.assertEqual(len(s), 0)

        del s['nonexistent']  # shouldn't raise anything

        s['bar'] = CacheEntry(1)
        s.clear()
        self.assertEqual(len(s), 0)
Пример #3
0
    def test_to_dict(self):
        e = CacheEntry('foo', created_at=self.hour_before,
            last_accessed_at=self.minute_before)

        data = e.to_dict()

        self.assertEqual(data['value'], 'foo')
        self.assertEqual(data['created_at'],
            '2013-01-01 09:30:00.000000')
        self.assertEqual(data['last_accessed_at'],
            '2013-01-01 10:29:00.000000')
Пример #4
0
    def test_is_expired_checks_ttl_tti(self, datetime):
        datetime.utcnow.return_value = self.now

        e = CacheEntry('foo', created_at=self.hour_before,
            last_accessed_at=self.minute_before)

        # check ttl
        self.assertTrue(e.is_expired(3600, 24 * 3600))
        self.assertFalse(e.is_expired(3601, 24 * 3600))
        # check tti
        self.assertTrue(e.is_expired(24 * 3600, 60))
        self.assertFalse(e.is_expired(24 * 3600, 61))
Пример #5
0
    def test_everything(self):
        # make sure our mocked redis is available
        with patch.dict('sys.modules', {'redis': MagicMock(Redis=self.Redis)}):
            s = RedisStore()

        self.assertEqual(len(s), 0)

        self.assertIsNone(s['foo'])

        s['foo'] = CacheEntry('Value Of Foo')
        self.assertEqual(len(s), 1)
        self.assertEqual(s['foo'].value, 'Value Of Foo')

        del s['foo']
        self.assertEqual(len(s), 0)

        del s['nonexistent']  # shouldn't raise anything

        s['bar'] = CacheEntry(1)
        s.clear()
        self.assertEqual(len(s), 0)
Пример #6
0
 def test_entry_init_with_custom_values(self, datetime):
     e = CacheEntry('foo', created_at=self.hour_before,
         last_accessed_at=self.minute_before)
     self.assertEqual(e.created_at, self.hour_before)
     self.assertEqual(e.last_accessed_at, self.minute_before)
Пример #7
0
    def test_entry_init_with_default_values(self, datetime):
        e = CacheEntry('foo')

        self.assertEqual(e.created_at, datetime.utcnow.return_value)
        self.assertEqual(e.last_accessed_at, datetime.utcnow.return_value)