From a4aa42ec2053f0b4bbdde3fb7314b535f507df3f Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Fri, 3 Apr 2026 16:43:47 +0200 Subject: [PATCH] fix typo --- radicale/tests/test_sharing.py | 206 ++++++++++++++++----------------- 1 file changed, 103 insertions(+), 103 deletions(-) diff --git a/radicale/tests/test_sharing.py b/radicale/tests/test_sharing.py index df757946..eadedab6 100644 --- a/radicale/tests/test_sharing.py +++ b/radicale/tests/test_sharing.py @@ -89,14 +89,14 @@ class TestSharingApiSanity(BaseTest): assert not isinstance(response, int) return response - def _propfind_priviledges(self, path: str, login) -> list[str]: + def _propfind_privileges(self, path: str, login) -> list[str]: response = self._propfind_allprop(path, login) status, prop = response["D:current-user-privilege-set"] logging.debug("prop: %r", prop) - priviledges = prop.findall(xmlutils.make_clark("D:privilege")) - assert len(priviledges) >= 1 - priviledges_list = [xmlutils.make_human_tag(priviledge.findall("*")[0].tag) for priviledge in priviledges] - return priviledges_list + privileges = prop.findall(xmlutils.make_clark("D:privilege")) + assert len(privileges) >= 1 + privileges_list = [xmlutils.make_human_tag(privilege.findall("*")[0].tag) for privilege in privileges] + return privileges_list def _propfind_calendar_color(self, path, login) -> Union[str, None]: propfind_calendar_color = get_file_content("propfind_calendar_color.xml") @@ -3124,67 +3124,67 @@ permissions: RrWw""") json_dict['PathMapped'] = path_owner1_t _, headers, answer = self._sharing_api_json("token", "create", check=200, login="owner1:owner1pw", json_dict=json_dict) - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-token T (permit=True)") - priviledges_T = self._propfind_priviledges(path_owner1_T, login="owner1:owner1pw") - assert "RADICALE:share-token" in priviledges_T + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-token T (permit=True)") + privileges_T = self._propfind_privileges(path_owner1_T, login="owner1:owner1pw") + assert "RADICALE:share-token" in privileges_T - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-token t (permit=True)") - priviledges_t = self._propfind_priviledges(path_owner1_t, login="owner1:owner1pw") - assert "RADICALE:share-token" not in priviledges_t + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-token t (permit=True)") + privileges_t = self._propfind_privileges(path_owner1_t, login="owner1:owner1pw") + assert "RADICALE:share-token" not in privileges_t - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-token * (permit=True)") - priviledges_p = self._propfind_priviledges(path_owner1_p, login="owner1:owner1pw") - assert "RADICALE:share-token" in priviledges_p + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-token * (permit=True)") + privileges_p = self._propfind_privileges(path_owner1_p, login="owner1:owner1pw") + assert "RADICALE:share-token" in privileges_p - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-map M (permit=True)") - priviledges_M = self._propfind_priviledges(path_owner1_M, login="owner1:owner1pw") - assert "RADICALE:share-map" in priviledges_M + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-map M (permit=True)") + privileges_M = self._propfind_privileges(path_owner1_M, login="owner1:owner1pw") + assert "RADICALE:share-map" in privileges_M - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-map m (permit=True)") - priviledges_m = self._propfind_priviledges(path_owner1_m, login="owner1:owner1pw") - assert "RADICALE:share-map" not in priviledges_m + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-map m (permit=True)") + privileges_m = self._propfind_privileges(path_owner1_m, login="owner1:owner1pw") + assert "RADICALE:share-map" not in privileges_m - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-map * (permit=True)") - priviledges_t = self._propfind_priviledges(path_owner1_t, login="owner1:owner1pw") - assert "RADICALE:share-map" in priviledges_t + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-map * (permit=True)") + privileges_t = self._propfind_privileges(path_owner1_t, login="owner1:owner1pw") + assert "RADICALE:share-map" in privileges_t self.configure({"sharing": {"permit_create_token": "False", "permit_create_map": "False"}}) - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-token T (permit=False)") - priviledges_T = self._propfind_priviledges(path_owner1_T, login="owner1:owner1pw") - assert "RADICALE:share-token" in priviledges_T + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-token T (permit=False)") + privileges_T = self._propfind_privileges(path_owner1_T, login="owner1:owner1pw") + assert "RADICALE:share-token" in privileges_T - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-token t (permit=False)") - priviledges_t = self._propfind_priviledges(path_owner1_t, login="owner1:owner1pw") - assert "RADICALE:share-token" not in priviledges_t + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-token t (permit=False)") + privileges_t = self._propfind_privileges(path_owner1_t, login="owner1:owner1pw") + assert "RADICALE:share-token" not in privileges_t - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-token * (permit=False)") - priviledges_t = self._propfind_priviledges(path_owner1_t, login="owner1:owner1pw") - assert "RADICALE:share-token" not in priviledges_t + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-token * (permit=False)") + privileges_t = self._propfind_privileges(path_owner1_t, login="owner1:owner1pw") + assert "RADICALE:share-token" not in privileges_t - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-map M (permit=False)") - priviledges_M = self._propfind_priviledges(path_owner1_M, login="owner1:owner1pw") - assert "RADICALE:share-map" in priviledges_M + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-map M (permit=False)") + privileges_M = self._propfind_privileges(path_owner1_M, login="owner1:owner1pw") + assert "RADICALE:share-map" in privileges_M - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-map m (permit=False)") - priviledges_m = self._propfind_priviledges(path_owner1_m, login="owner1:owner1pw") - assert "RADICALE:share-map" not in priviledges_m + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-map m (permit=False)") + privileges_m = self._propfind_privileges(path_owner1_m, login="owner1:owner1pw") + assert "RADICALE:share-map" not in privileges_m - logging.info("\n*** check PROPFIND priviledges list on collections directly: RADICALE:share-map * (permit=False)") - priviledges_t = self._propfind_priviledges(path_owner1_t, login="owner1:owner1pw") - assert "RADICALE:share-map" not in priviledges_t + logging.info("\n*** check PROPFIND privileges list on collections directly: RADICALE:share-map * (permit=False)") + privileges_t = self._propfind_privileges(path_owner1_t, login="owner1:owner1pw") + assert "RADICALE:share-map" not in privileges_t # continue self.configure({"sharing": {"permit_create_token": "True", "permit_create_map": "True"}}) - logging.info("\n*** check PROPFIND priviledges list on collections directly by owner") - priviledges_P = self._propfind_priviledges(path_owner1_P, login="owner1:owner1pw") - assert "D:write-properties" in priviledges_P + logging.info("\n*** check PROPFIND privileges list on collections directly by owner") + privileges_P = self._propfind_privileges(path_owner1_P, login="owner1:owner1pw") + assert "D:write-properties" in privileges_P - priviledges_p = self._propfind_priviledges(path_owner1_p, login="owner1:owner1pw") - assert "D:write-properties" in priviledges_p + privileges_p = self._propfind_privileges(path_owner1_p, login="owner1:owner1pw") + assert "D:write-properties" in privileges_p - logging.info("\n*** check PROPFIND priviledges list on collections directly by user") + logging.info("\n*** check PROPFIND privileges list on collections directly by user") logging.info("\n*** create map user1/owner1 P -> 200") path_share = path_user1.replace(".ics", "P-uc" + db_type + ".ics") @@ -3199,15 +3199,15 @@ permissions: RrWw""") _, headers, answer = self._sharing_api_json("map", "enable", check=200, login="user1:user1pw", json_dict=json_dict) _, headers, answer = self._sharing_api_json("map", "unhide", check=200, login="user1:user1pw", json_dict=json_dict) - logging.info("\n*** check PROPFIND priviledges list on collections directly by user: rights=P r (permit_properties_overlay=False)") + logging.info("\n*** check PROPFIND privileges list on collections directly by user: rights=P r (permit_properties_overlay=False)") self.configure({"sharing": {"permit_properties_overlay": "False"}}) - priviledges_P = self._propfind_priviledges(path_share, login="user1:user1pw") - assert "D:write-properties" in priviledges_P + privileges_P = self._propfind_privileges(path_share, login="user1:user1pw") + assert "D:write-properties" in privileges_P - logging.info("\n*** check PROPFIND priviledges list on collections directly by user: r (permit_properties_overlay=True)") + logging.info("\n*** check PROPFIND privileges list on collections directly by user: r (permit_properties_overlay=True)") self.configure({"sharing": {"permit_properties_overlay": "True"}}) - priviledges_P = self._propfind_priviledges(path_share, login="user1:user1pw") - assert "D:write-properties" in priviledges_P + privileges_P = self._propfind_privileges(path_share, login="user1:user1pw") + assert "D:write-properties" in privileges_P logging.info("\n*** update map with illegal combination pP") json_dict = {} @@ -3233,15 +3233,15 @@ permissions: RrWw""") json_dict['Permissions'] = "rp" _, headers, answer = self._sharing_api_json("map", "update", check=200, login="owner1:owner1pw", json_dict=json_dict) - logging.info("\n*** check PROPFIND priviledges list on collections directly by user: rights=P rp (permit_properties_overlay=False)") + logging.info("\n*** check PROPFIND privileges list on collections directly by user: rights=P rp (permit_properties_overlay=False)") self.configure({"sharing": {"permit_properties_overlay": "False"}}) - priviledges_P = self._propfind_priviledges(path_share, login="user1:user1pw") - assert "D:write-properties" not in priviledges_P + privileges_P = self._propfind_privileges(path_share, login="user1:user1pw") + assert "D:write-properties" not in privileges_P - logging.info("\n*** check PROPFIND priviledges list on collections directly by user: rights=P rp (permit_properties_overlay=True)") + logging.info("\n*** check PROPFIND privileges list on collections directly by user: rights=P rp (permit_properties_overlay=True)") self.configure({"sharing": {"permit_properties_overlay": "True"}}) - priviledges_P = self._propfind_priviledges(path_share, login="user1:user1pw") - assert "D:write-properties" not in priviledges_P + privileges_P = self._propfind_privileges(path_share, login="user1:user1pw") + assert "D:write-properties" not in privileges_P json_dict = {} json_dict['PathMapped'] = path_owner1_P @@ -3262,15 +3262,15 @@ permissions: RrWw""") _, headers, answer = self._sharing_api_json("map", "enable", check=200, login="user1:user1pw", json_dict=json_dict) _, headers, answer = self._sharing_api_json("map", "unhide", check=200, login="user1:user1pw", json_dict=json_dict) - logging.info("\n*** check PROPFIND priviledges list on collections directly by user: rights=p r (permit_properties_overlay=False)") + logging.info("\n*** check PROPFIND privileges list on collections directly by user: rights=p r (permit_properties_overlay=False)") self.configure({"sharing": {"permit_properties_overlay": "False"}}) - priviledges_p = self._propfind_priviledges(path_share, login="user1:user1pw") - assert "D:write-properties" not in priviledges_p + privileges_p = self._propfind_privileges(path_share, login="user1:user1pw") + assert "D:write-properties" not in privileges_p - logging.info("\n*** check PROPFIND priviledges list on collections directly by user: rights=p r (permit_properties_overlay=True)") + logging.info("\n*** check PROPFIND privileges list on collections directly by user: rights=p r (permit_properties_overlay=True)") self.configure({"sharing": {"permit_properties_overlay": "True"}}) - priviledges_p = self._propfind_priviledges(path_share, login="user1:user1pw") - assert "D:write-properties" not in priviledges_p + privileges_p = self._propfind_privileges(path_share, login="user1:user1pw") + assert "D:write-properties" not in privileges_p json_dict = {} json_dict['PathMapped'] = path_owner1_p @@ -3279,15 +3279,15 @@ permissions: RrWw""") json_dict['Permissions'] = "rP" _, headers, answer = self._sharing_api_json("map", "update", check=200, login="owner1:owner1pw", json_dict=json_dict) - logging.info("\n*** check PROPFIND priviledges list on collections directly by user: rights=p rP (permit_properties_overlay=False)") + logging.info("\n*** check PROPFIND privileges list on collections directly by user: rights=p rP (permit_properties_overlay=False)") self.configure({"sharing": {"permit_properties_overlay": "False"}}) - priviledges_P = self._propfind_priviledges(path_share, login="user1:user1pw") - assert "D:write-properties" in priviledges_P + privileges_P = self._propfind_privileges(path_share, login="user1:user1pw") + assert "D:write-properties" in privileges_P - logging.info("\n*** check PROPFIND priviledges list on collections directly by user: rights=p rP (permit_properties_overlay=True)") + logging.info("\n*** check PROPFIND privileges list on collections directly by user: rights=p rP (permit_properties_overlay=True)") self.configure({"sharing": {"permit_properties_overlay": "True"}}) - priviledges_P = self._propfind_priviledges(path_share, login="user1:user1pw") - assert "D:write-properties" in priviledges_P + privileges_P = self._propfind_privileges(path_share, login="user1:user1pw") + assert "D:write-properties" in privileges_P def test_sharing_api_permissions_default(self) -> None: """sharing API usage tests related to global permissions.""" @@ -3348,14 +3348,14 @@ permissions: RrWw""") assert answer_dict['Lines'] == 1 assert answer_dict['Content'][0]['Permissions'] == "r" - # check PROPFIND/priviledges item as user - logging.info("\n*** PROPFIND/priviledges item as user") - priviledges_list = self._propfind_priviledges(path_user1_r, login="user1:user1pw") - assert "D:read" in priviledges_list - assert "D:write-content" not in priviledges_list - assert "D:write-properties" not in priviledges_list - assert "D:write" not in priviledges_list - assert "D:all" not in priviledges_list + # check PROPFIND/privileges item as user + logging.info("\n*** PROPFIND/privileges item as user") + privileges_list = self._propfind_privileges(path_user1_r, login="user1:user1pw") + assert "D:read" in privileges_list + assert "D:write-content" not in privileges_list + assert "D:write-properties" not in privileges_list + assert "D:write" not in privileges_list + assert "D:all" not in privileges_list logging.info("\n*** create map user1/owner1 rw -> 200") json_dict = {} @@ -3380,14 +3380,14 @@ permissions: RrWw""") json_dict['PathOrToken'] = path_user1_rw _, headers, answer = self._sharing_api_json("map", "enable", check=200, login="user1:user1pw", json_dict=json_dict) - # check PROPFIND/priviledges item as user - logging.info("\n*** PROPFIND/priviledges item as user") - priviledges_list = self._propfind_priviledges(path_user1_rw, login="user1:user1pw") - assert "D:read" in priviledges_list - assert "D:write-content" in priviledges_list - assert "D:write-properties" not in priviledges_list - assert "D:write" not in priviledges_list - assert "D:all" not in priviledges_list + # check PROPFIND/privileges item as user + logging.info("\n*** PROPFIND/privileges item as user") + privileges_list = self._propfind_privileges(path_user1_rw, login="user1:user1pw") + assert "D:read" in privileges_list + assert "D:write-content" in privileges_list + assert "D:write-properties" not in privileges_list + assert "D:write" not in privileges_list + assert "D:all" not in privileges_list logging.info("\n*** create map user1/owner1 with adjusted default permissions -> 200") self.configure({"sharing": {"default_permissions_create_map": "RrWw"}}) @@ -4163,14 +4163,14 @@ permissions: RrWw""") json_dict['PathOrToken'] = path_shared_r _, headers, answer = self._sharing_api_json("map", "enable", check=200, login="user:userpw", json_dict=json_dict) - # check PROPFIND/priviledges item as user - logging.info("\n*** PROPFIND/priviledges item as user -> calendar") - priviledges_list = self._propfind_priviledges(path_shared_r, login="user:userpw") - assert "D:read" in priviledges_list - assert "D:write-content" not in priviledges_list - assert "D:write-properties" in priviledges_list - assert "D:write" not in priviledges_list - assert "D:all" not in priviledges_list + # check PROPFIND/privileges item as user + logging.info("\n*** PROPFIND/privileges item as user -> calendar") + privileges_list = self._propfind_privileges(path_shared_r, login="user:userpw") + assert "D:read" in privileges_list + assert "D:write-content" not in privileges_list + assert "D:write-properties" in privileges_list + assert "D:write" not in privileges_list + assert "D:all" not in privileges_list # verify PROPPATCH as user logging.info("\n*** PROPFIND collection user -> color #AAAAAA") @@ -4692,14 +4692,14 @@ permissions: RrWw""") assert "C:supported-calendar-component-set" in response assert "D:current-user-privilege-set" in response - # check PROPFIND/priviledges item as user - logging.info("\n*** PROPFIND/priviledges item as user -> calendar") - priviledges_list = self._propfind_priviledges(path_shared_r, login="user:userpw") - assert "D:read" in priviledges_list - assert "D:write-content" not in priviledges_list - assert "D:write-properties" in priviledges_list - assert "D:write" not in priviledges_list - assert "D:all" not in priviledges_list + # check PROPFIND/privileges item as user + logging.info("\n*** PROPFIND/privileges item as user -> calendar") + privileges_list = self._propfind_privileges(path_shared_r, login="user:userpw") + assert "D:read" in privileges_list + assert "D:write-content" not in privileges_list + assert "D:write-properties" in privileges_list + assert "D:write" not in privileges_list + assert "D:all" not in privileges_list # verify content as user logging.info("\n*** GET collection user -> ok")