From 7ab9f91a605d501cadee1c212eca2ef0467adc50 Mon Sep 17 00:00:00 2001
From: "Paul \"LeoNerd\" Evans" <paul@matrix.org>
Date: Wed, 25 Mar 2015 18:50:43 +0000
Subject: [PATCH] Unit-test that Cache() key eviction is ordered

---
 tests/storage/test__base.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/tests/storage/test__base.py b/tests/storage/test__base.py
index 783abc2b00..b6853ba2d4 100644
--- a/tests/storage/test__base.py
+++ b/tests/storage/test__base.py
@@ -51,6 +51,24 @@ class CacheTestCase(unittest.TestCase):
 
         self.assertTrue(failed)
 
+    def test_eviction(self):
+        cache = Cache("test", max_entries=2)
+
+        cache.prefill(1, "one")
+        cache.prefill(2, "two")
+        cache.prefill(3, "three")  # 1 will be evicted
+
+        failed = False
+        try:
+            cache.get(1)
+        except KeyError:
+            failed = True
+
+        self.assertTrue(failed)
+
+        cache.get(2)
+        cache.get(3)
+
 
 class CacheDecoratorTestCase(unittest.TestCase):
 
-- 
GitLab