@@ -5,10 +5,59 @@ def test_permissions_list_all(logged_rocket):
5
5
assert "remove" in permissions_list_all
6
6
7
7
8
+ # pylint: disable=invalid-name
8
9
def test_permissions_list_all_with_updatedSince (logged_rocket ):
9
10
permissions_list_all = logged_rocket .permissions_list_all (
10
11
updatedSince = "2017-11-25T15:08:17.248Z"
11
12
).json ()
12
13
assert permissions_list_all .get ("success" )
13
14
assert "update" in permissions_list_all
14
15
assert "remove" in permissions_list_all
16
+
17
+
18
+ def test_permissions_update (logged_rocket ):
19
+ def get_updated_roles (permission , permissions_update ):
20
+ for permission_update in permissions_update :
21
+ if permission .get ("_id" , "A" ) == permission_update .get ("_id" , "B" ):
22
+ return permission_update .get ("roles" )
23
+
24
+ # Permission not found
25
+ raise ValueError
26
+
27
+ def check_update (permissions , permissions_update ):
28
+ for permission in permissions :
29
+ try :
30
+ if permission .get ("roles" ) != get_updated_roles (
31
+ permission , permissions_update
32
+ ):
33
+ return False
34
+ except ValueError :
35
+ return False
36
+
37
+ return True
38
+
39
+ permissions = [
40
+ {"_id" : "access-permissions" , "roles" : ["admin" , "bot" ]},
41
+ {"_id" : "add-user-to-any-c-room" , "roles" : ["admin" ]},
42
+ ]
43
+ permissions_update = logged_rocket .permissions_update (
44
+ permissions = permissions
45
+ ).json ()
46
+ assert permissions_update .get ("success" )
47
+ assert check_update (permissions , permissions_update .get ("permissions" , []))
48
+
49
+ permissions_wrong_id = [
50
+ {"_id" : "wrong-id" , "roles" : ["admin" , "bot" ]},
51
+ ]
52
+ assert (
53
+ check_update (permissions_wrong_id , permissions_update .get ("permissions" , []))
54
+ is False
55
+ )
56
+
57
+ permissions_wrong_roles = [
58
+ {"_id" : "access-permissions" , "roles" : ["bot" ]},
59
+ ]
60
+ assert (
61
+ check_update (permissions_wrong_roles , permissions_update .get ("permissions" , []))
62
+ is False
63
+ )
0 commit comments