Browse Source

Add test for corner cases in group_kick

Yentl Van Tendeloo 7 years ago
parent
commit
11815713be
1 changed files with 25 additions and 0 deletions
  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])