|
@@ -2515,10 +2515,16 @@ class TestModelverse(unittest.TestCase):
|
|
|
def do_as_user(self, username, operation, args):
|
|
|
user_logout()
|
|
|
login(username, username)
|
|
|
- result = operation(*args)
|
|
|
- user_logout()
|
|
|
- login("user", "user")
|
|
|
- return result
|
|
|
+ try:
|
|
|
+ result = operation(*args)
|
|
|
+ except:
|
|
|
+ user_logout()
|
|
|
+ login("user", "user")
|
|
|
+ raise
|
|
|
+ else:
|
|
|
+ user_logout()
|
|
|
+ login("user", "user")
|
|
|
+ return result
|
|
|
|
|
|
def test_op_group_join(self):
|
|
|
group_name_1 = "new_group" # Group with admin permissions
|
|
@@ -2658,11 +2664,33 @@ class TestModelverse(unittest.TestCase):
|
|
|
permission_group("users/user/test/a/b", "users")
|
|
|
permission_modify("users/user/test/a/b", "210")
|
|
|
|
|
|
+ # Test permissions
|
|
|
self.do_test_permission("users/user/test/", {"admin": "RW", "user": "RW", "group_user": "", "other_user": ""})
|
|
|
self.do_test_permission("users/user/test/a", {"admin": "RW", "user": "RW", "group_user": "", "other_user": ""})
|
|
|
self.do_test_permission("users/user/test/a/b", {"admin": "RW", "user": "RW", "group_user": "R", "other_user": ""})
|
|
|
self.do_test_permission("users/user/test/a/b/c", {"admin": "RW", "user": "RW", "group_user": "", "other_user": ""})
|
|
|
|
|
|
+ # But test if they are really applicable
|
|
|
+ try:
|
|
|
+ self.do_as_user("group_user", model_list, ["users/user/test"])
|
|
|
+ self.fail()
|
|
|
+ except ReadPermissionDenied:
|
|
|
+ pass
|
|
|
+
|
|
|
+ try:
|
|
|
+ self.do_as_user("group_user", model_list, ["users/user/test/a"])
|
|
|
+ self.fail()
|
|
|
+ except ReadPermissionDenied:
|
|
|
+ pass
|
|
|
+
|
|
|
+ self.do_as_user("group_user", model_list, ["users/user/test/a/b"])
|
|
|
+
|
|
|
+ try:
|
|
|
+ self.do_as_user("group_user", model_list, ["users/user/test/a/b/c"])
|
|
|
+ self.fail()
|
|
|
+ except ReadPermissionDenied:
|
|
|
+ pass
|
|
|
+
|
|
|
"""
|
|
|
def test_op_model_render(self):
|
|
|
def test_op_transformation_between(self):
|