Exemple #1
0
    def test_can_reopen(self):
        for storage_class in self.DISK_STORAGES:
            with self.subTest(scenario=storage_class.__name__):
                path = mktemp(dir=UNITTEST_TMP_DIR)

                cache = LRUCache(storage=storage_class(path=path))
                cache['abc'] = {'my_data': 'a'}
                cache.close()

                cache = LRUCache(storage=storage_class(path=path))
                self.assertEqual(cache['abc'], {'my_data': 'a'})
                cache.close()
Exemple #2
0
    def test_reopen_preserves_lru(self):
        for storage_class in self.DISK_STORAGES:
            with self.subTest(scenario=storage_class.__name__):
                path = mktemp(dir=UNITTEST_TMP_DIR)

                cache = LRUCache(storage=storage_class(path=path),
                                 max_size=2,
                                 sizeof=lambda i: 1)
                cache['abc'] = {'my_data': 'a'}
                cache['def'] = {'my_data': 'b'}
                cache.close()

                cache = LRUCache(storage=storage_class(path=path),
                                 max_size=2,
                                 sizeof=lambda i: 1)
                cache['ghi'] = {'my_data': 'c'}
                with self.assertRaises(ItemNotCached):
                    cache['abc']
                self.assertEqual(cache.total_size_stored, 2)
                self.assertEqual(cache['def'], {'my_data': 'b'})
                self.assertEqual(cache['ghi'], {'my_data': 'c'})
                cache.close()