Explorar o código

Add test for corner cases in group_kick

Yentl Van Tendeloo %!s(int64=7) %!d(string=hai) anos
pai
achega
11815713be
Modificáronse 1 ficheiros con 25 adicións e 0 borrados
  1. 25 0
      unit/test_all.py

+ 25 - 0
unit/test_all.py

@@ -2775,6 +2775,31 @@ class TestModelverse(unittest.TestCase):
         except UserNotInGroup:
             pass
 
+        # Non-existing user
+        try:
+            group_kick(group_name_1, "adfafd")
+            self.fail()
+        except UnknownUser:
+            pass
+
+        # Non-existing group
+        try:
+            group_kick("adfadf", "user")
+            self.fail()
+        except UnknownGroup:
+            pass
+
+        # Not admin of group
+        self.do_as_user("admin", group_join, [group_name_2, "user"])
+        self.do_as_user("admin", group_join, [group_name_2, "user2"])
+        assert group_list() == set([(group_name_1, True), (group_name_2, False), (group_name_3, False)])
+        assert self.do_as_user("user2", group_list, []) == set([(group_name_2, False)])
+        try:
+            group_kick(group_name_2, "user2")
+            self.fail()
+        except GroupPermissionDenied:
+            assert self.do_as_user("user2", group_list, []) == set([(group_name_2, False)])
+
         self.do_as_user("admin", group_delete, [group_name_1])
         self.do_as_user("admin", group_delete, [group_name_2])
         self.do_as_user("admin", group_delete, [group_name_3])