Ver código fonte

Test deleting the item cache

Unrud 8 anos atrás
pai
commit
b19b1b34e8
1 arquivos alterados com 19 adições e 0 exclusões
  1. 19 0
      radicale/tests/test_base.py

+ 19 - 0
radicale/tests/test_base.py

@@ -1255,6 +1255,25 @@ class TestMultiFileSystem(BaseFileSystemTest, BaseRequestsMixIn):
         status, _, _ = self.request("MKCALENDAR", "/calendar.ics/")
         assert status != 201
 
+    def test_item_cache_rebuild(self):
+        """Delete the item cache and verify that it is rebuild."""
+        status, _, _ = self.request("MKCALENDAR", "/calendar.ics/")
+        assert status == 201
+        event = get_file_content("event1.ics")
+        path = "/calendar.ics/event1.ics"
+        status, _, _ = self.request("PUT", path, event)
+        assert status == 201
+        status, _, answer1 = self.request("GET", path)
+        assert status == 200
+        cache_folder = os.path.join(self.colpath, "collection-root",
+                                    "calendar.ics", ".Radicale.cache", "item")
+        assert os.path.exists(os.path.join(cache_folder, "event1.ics"))
+        shutil.rmtree(cache_folder)
+        status, _, answer2 = self.request("GET", path)
+        assert status == 200
+        assert answer1 == answer2
+        assert os.path.exists(os.path.join(cache_folder, "event1.ics"))
+
 
 class TestCustomStorageSystem(BaseFileSystemTest):
     """Test custom backend loading."""