def test_write(): test_obj = PersistentLRUCache(directory=directory) test_obj.write("some_key", "42") test_obj.write("42", "some_key") assert test_obj.get_value("some_key") == "42" assert test_obj.get_value("42") == "some_key" assert test_obj.is_dirty("some_key")
def test_persistence(): test_obj = PersistentLRUCache(directory=directory, maxsize_in_MB=0) test_obj.write("keyX", "42") assert test_obj.get_value("keyX") == "42" test_obj.entries.close() test_obj = PersistentLRUCache(directory=directory) assert test_obj.get_value("keyX") == "42"
def test_reorder(): test_obj = PersistentLRUCache(directory=directory) test_obj.write("/xxx", "") test_obj.write("/yyy", "") test_obj.get_value("/xxx") test_obj.delete("/xxx") test_obj.delete("/yyy")
def test_refresh(): test_obj = PersistentLRUCache(directory=directory) test_obj.refresh("some_key", "43", time.time()) test_obj.refresh("some_key","42", time.time()) assert test_obj.get_value("some_key") == "42" test_obj.refresh("some_key","43", time.time()-1000) assert test_obj.get_value("some_key") == "42", "Refresh should not have worked since the modified time of the 'disk' entry is older than the cache entry." assert not test_obj.is_dirty("some_key")
def test_resize_zerosize(): test_obj = PersistentLRUCache(directory=directory, expiration_time=0.00001, maxsize_in_MB=0) test_obj.set_resize_intervall(0) test_obj.refresh("some_key", "43", time.time()) time.sleep(0.001) assert "some_key" in test_obj.get_keys() test_obj.refresh("some_other_key", "42", time.time()) assert "some_other_key" in test_obj.get_keys() assert not "some_key" in test_obj.get_keys() #deleted due to internal resize assert test_obj.get_value("some_other_key") == "42"
def test_resize(): test_obj = PersistentLRUCache(directory=directory, expiration_time=0.00001,maxsize_in_MB=30) test_obj.set_resize_intervall(0) for i in range(10,62): test_obj.refresh(str(i), "a"*2000000, time.time()) time.sleep(0.001) assert test_obj.get_size_of_cached_data() < 30000003 for j in range(10,i-14+1): assert not str(j) in test_obj.get_keys() for j in range(10,i+1)[-14:]: assert test_obj.get_value(str(j)) == "a"*2000000
def test_get_value(): test_obj = PersistentLRUCache(directory=directory) test_obj.refresh("some_key", "43", time.time()) assert test_obj.get_value("some_key") == "43" test_obj.write("some_key", "42") assert test_obj.get_value("some_key") == "42"