fix typo
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user