aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_cache.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2020-06-01 23:11:37 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2020-06-01 23:11:37 -0400
commita70a3246927b72f1ded37acd55ee719515441b5b (patch)
tree57f0d3ab0b1387b665325f42a24b8aab63cbce07 /test/test_cache.py
parent90e50db2e3c38f523bb5195d295290b06e5cedb0 (diff)
New upstream version 1.14.0.upstream/1.14.0
Diffstat (limited to 'test/test_cache.py')
-rw-r--r--test/test_cache.py58
1 files changed, 38 insertions, 20 deletions
diff --git a/test/test_cache.py b/test/test_cache.py
index e19896e..ecf482c 100644
--- a/test/test_cache.py
+++ b/test/test_cache.py
@@ -10,8 +10,8 @@
import os
import sys
import unittest
+from unittest.mock import patch
-import time
import tempfile
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
@@ -22,8 +22,8 @@ config.set(("cache",), "file", dbpath)
from gallery_dl import cache # noqa E402
-def tearDownModule():
- util.remove_file(dbpath)
+# def tearDownModule():
+# util.remove_file(dbpath)
class TestCache(unittest.TestCase):
@@ -86,32 +86,50 @@ class TestCache(unittest.TestCase):
self.assertEqual(ka(9, 9, 2), 6)
def test_expires_mem(self):
- @cache.memcache(maxage=1)
+ @cache.memcache(maxage=2)
def ex(a, b, c):
return a+b+c
- self.assertEqual(ex(1, 1, 1), 3)
- self.assertEqual(ex(2, 2, 2), 3)
- self.assertEqual(ex(3, 3, 3), 3)
+ with patch("time.time") as tmock:
+ tmock.return_value = 0.001
+ self.assertEqual(ex(1, 1, 1), 3)
+ self.assertEqual(ex(2, 2, 2), 3)
+ self.assertEqual(ex(3, 3, 3), 3)
- time.sleep(2)
- self.assertEqual(ex(3, 3, 3), 9)
- self.assertEqual(ex(2, 2, 2), 9)
- self.assertEqual(ex(1, 1, 1), 9)
+ # value is still cached after 1 second
+ tmock.return_value += 1.0
+ self.assertEqual(ex(3, 3, 3), 3)
+ self.assertEqual(ex(2, 2, 2), 3)
+ self.assertEqual(ex(1, 1, 1), 3)
+
+ # new value after 'maxage' seconds
+ tmock.return_value += 1.0
+ self.assertEqual(ex(3, 3, 3), 9)
+ self.assertEqual(ex(2, 2, 2), 9)
+ self.assertEqual(ex(1, 1, 1), 9)
def test_expires_db(self):
- @cache.cache(maxage=1)
+ @cache.cache(maxage=2)
def ex(a, b, c):
return a+b+c
- self.assertEqual(ex(1, 1, 1), 3)
- self.assertEqual(ex(2, 2, 2), 3)
- self.assertEqual(ex(3, 3, 3), 3)
-
- time.sleep(2)
- self.assertEqual(ex(3, 3, 3), 9)
- self.assertEqual(ex(2, 2, 2), 9)
- self.assertEqual(ex(1, 1, 1), 9)
+ with patch("time.time") as tmock:
+ tmock.return_value = 0.999
+ self.assertEqual(ex(1, 1, 1), 3)
+ self.assertEqual(ex(2, 2, 2), 3)
+ self.assertEqual(ex(3, 3, 3), 3)
+
+ # value is still cached after 1 second
+ tmock.return_value += 1.0
+ self.assertEqual(ex(3, 3, 3), 3)
+ self.assertEqual(ex(2, 2, 2), 3)
+ self.assertEqual(ex(1, 1, 1), 3)
+
+ # new value after 'maxage' seconds
+ tmock.return_value += 1.0
+ self.assertEqual(ex(3, 3, 3), 9)
+ self.assertEqual(ex(2, 2, 2), 9)
+ self.assertEqual(ex(1, 1, 1), 9)
def test_update_mem_simple(self):
@cache.memcache(keyarg=0)