diff --git a/radicale/tests/test_base.py b/radicale/tests/test_base.py index bb3047d..88b1cec 100644 --- a/radicale/tests/test_base.py +++ b/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."""