ソースを参照

Test that hook gets executed on write accesses

Unrud 9 年 前
コミット
952609deee
1 ファイル変更21 行追加0 行削除
  1. 21 0
      radicale/tests/test_base.py

+ 21 - 0
radicale/tests/test_base.py

@@ -20,6 +20,7 @@ Radicale tests with simple requests.
 """
 
 import logging
+import os
 import posixpath
 import shutil
 import tempfile
@@ -750,6 +751,26 @@ class BaseRequestsMixIn:
         status, headers, answer = self.request("MKCALENDAR", "/calendar.ics/")
         assert status == 201
 
+    def test_hook(self):
+        """Run hook."""
+        self.configuration.set(
+            "storage", "hook", "mkdir %s" % os.path.join("collection-root",
+                                                         "created_by_hook"))
+        status, headers, answer = self.request("MKCOL", "/calendar.ics/")
+        assert status == 201
+        status, headers, answer = self.request("GET", "/created_by_hook/")
+        assert status == 200
+
+    def test_hook_read_access(self):
+        """Verify that hook is not run for read accesses."""
+        self.configuration.set(
+            "storage", "hook", "mkdir %s" % os.path.join("collection-root",
+                                                         "created_by_hook"))
+        status, headers, answer = self.request("GET", "/")
+        assert status == 200
+        status, headers, answer = self.request("GET", "/created_by_hook/")
+        assert status == 404
+
 
 class BaseFileSystemTest(BaseTest):
     """Base class for filesystem backend tests."""