From 72e4c4fadd2801b02123e835735877e6e412308d Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Sun, 29 Sep 2024 19:54:54 +0200 Subject: [PATCH] add explicit permit/forbid test cases --- radicale/tests/test_base.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/radicale/tests/test_base.py b/radicale/tests/test_base.py index bf93dd91..b6046c1a 100644 --- a/radicale/tests/test_base.py +++ b/radicale/tests/test_base.py @@ -44,6 +44,16 @@ class TestBaseRequests(BaseTest): self.configure({"rights": {"permit_delete_collection": True}}) with open(rights_file_path, "w") as f: f.write("""\ +[permit delete collection] +user: .* +collection: test-permit-delete +permissions: RrWwD + +[forbid delete collection] +user: .* +collection: test-forbid-delete +permissions: RrWwd + [allow all] user: .* collection: .* @@ -449,6 +459,24 @@ permissions: RrWw""") _, responses = self.delete("/calendar.ics/", check=401) self.get("/calendar.ics/", check=200) + def test_delete_collection_global_forbid_explicit_permit(self) -> None: + """Delete a collection with permitted path (expect permit).""" + self.configure({"rights": {"permit_delete_collection": False}}) + self.mkcalendar("/test-permit-delete/") + event = get_file_content("event1.ics") + self.put("/test-permit-delete/event1.ics", event) + _, responses = self.delete("/test-permit-delete/", check=200) + self.get("/test-permit-delete/", check=404) + + def test_delete_collection_global_permit_explicit_forbid(self) -> None: + """Delete a collection with permitted path (expect forbid).""" + self.configure({"rights": {"permit_delete_collection": True}}) + self.mkcalendar("/test-forbid-delete/") + event = get_file_content("event1.ics") + self.put("/test-forbid-delete/event1.ics", event) + _, responses = self.delete("/test-forbid-delete/", check=401) + self.get("/test-forbid-delete/", check=200) + def test_delete_root_collection(self) -> None: """Delete the root collection.""" self.mkcalendar("/calendar.ics/")