2021-09-13 17:32:51 +00:00
|
|
|
import time_machine
|
|
|
|
|
2022-08-10 08:57:19 +00:00
|
|
|
from freqtrade.util import PeriodicCache
|
2021-09-14 04:45:26 +00:00
|
|
|
|
2021-09-13 17:32:51 +00:00
|
|
|
|
|
|
|
def test_ttl_cache():
|
|
|
|
|
|
|
|
with time_machine.travel("2021-09-01 05:00:00 +00:00") as t:
|
|
|
|
|
|
|
|
cache = PeriodicCache(5, ttl=60)
|
|
|
|
cache1h = PeriodicCache(5, ttl=3600)
|
|
|
|
|
|
|
|
assert cache.timer() == 1630472400.0
|
|
|
|
cache['a'] = 1235
|
|
|
|
cache1h['a'] = 555123
|
|
|
|
assert 'a' in cache
|
|
|
|
assert 'a' in cache1h
|
|
|
|
|
|
|
|
t.move_to("2021-09-01 05:00:59 +00:00")
|
|
|
|
assert 'a' in cache
|
|
|
|
assert 'a' in cache1h
|
|
|
|
|
|
|
|
# Cache expired
|
|
|
|
t.move_to("2021-09-01 05:01:00 +00:00")
|
|
|
|
assert 'a' not in cache
|
|
|
|
assert 'a' in cache1h
|
|
|
|
|
|
|
|
t.move_to("2021-09-01 05:59:59 +00:00")
|
2022-03-13 15:45:11 +00:00
|
|
|
assert 'a' not in cache
|
2021-09-13 17:32:51 +00:00
|
|
|
assert 'a' in cache1h
|
|
|
|
|
|
|
|
t.move_to("2021-09-01 06:00:00 +00:00")
|
2022-03-13 15:45:11 +00:00
|
|
|
assert 'a' not in cache
|
2021-09-13 17:32:51 +00:00
|
|
|
assert 'a' not in cache1h
|