Skip to content

Commit 3ed0238

Browse files
authored
Add roles_delete and roles_get_users_in_public_roles endpoints (#374)
1 parent a147eac commit 3ed0238

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

rocketchat_API/APISections/roles.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,11 @@ def roles_get_users_in_role(self, role, **kwargs):
3333
def roles_sync(self, updated_since):
3434
"""Gets all the roles in the system which are updated after a given date."""
3535
return self.call_api_get("roles.sync", updatedSince=updated_since)
36+
37+
def roles_delete(self, role_id, **kwargs):
38+
"""Deletes a role. Permission required: access-permissions"""
39+
return self.call_api_post("roles.delete", roleId=role_id, kwargs=kwargs)
40+
41+
def roles_get_users_in_public_roles(self, **kwargs):
42+
"""Gets the users that belong to any public role."""
43+
return self.call_api_get("roles.getUsersInPublicRoles", kwargs=kwargs)

tests/test_roles.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,21 @@ def test_roles_get_users_in_role(logged_rocket):
5050
def test_roles_sync(logged_rocket):
5151
roles_sync = logged_rocket.roles_sync(updated_since="2017-11-25T15:08:17.248Z")
5252
assert len(roles_sync.get("roles")) > 0
53+
54+
55+
def test_roles_delete(logged_rocket, skip_if_no_license):
56+
name = str(uuid.uuid1())
57+
role_id = logged_rocket.roles_create(name=name).get("role").get("_id")
58+
logged_rocket.roles_delete(role_id=role_id)
59+
roles = logged_rocket.roles_list().get("roles", [])
60+
assert not any(r["_id"] == role_id for r in roles)
61+
62+
63+
def test_roles_get_users_in_public_roles(logged_rocket):
64+
result = logged_rocket.roles_get_users_in_public_roles()
65+
assert "users" in result
66+
assert len(result["users"]) > 0
67+
user = result["users"][0]
68+
assert "_id" in user
69+
assert "username" in user
70+
assert "roles" in user

0 commit comments

Comments
 (0)