]> source.dussan.org Git - nextcloud-server.git/commitdiff
added more unittests for the group file
authorBernhard Posselt <nukeawhale@gmail.com>
Wed, 28 Nov 2012 17:30:47 +0000 (18:30 +0100)
committerBernhard Posselt <nukeawhale@gmail.com>
Wed, 28 Nov 2012 17:30:47 +0000 (18:30 +0100)
tests/lib/group.php

index 7b9ca3414b028f40d13b29264eb52be81ab9ded8..28264b0f168c060e9d8269c415d1400fc667f5d6 100644 (file)
@@ -3,7 +3,9 @@
 * ownCloud
 *
 * @author Robin Appelman
+* @author Bernhard Posselt
 * @copyright 2012 Robin Appelman icewind@owncloud.com
+* @copyright 2012 Bernhard Posselt nukeawhale@gmail.com
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
@@ -62,6 +64,72 @@ class Test_Group extends UnitTestCase {
                $this->assertFalse(OC_Group::inGroup($user1, $group1));
        }
 
+
+       public function testNoEmptyGIDs(){
+               OC_Group::useBackend(new OC_Group_Dummy());
+               $emptyGroup = null;
+
+               $this->assertEqual(false, OC_Group::createGroup($emptyGroup));
+       }
+
+
+       public function testNoGroupsTwice(){
+               OC_Group::useBackend(new OC_Group_Dummy());
+               $group = uniqid();
+               OC_Group::createGroup($group);
+
+               $groupCopy = $group;
+
+               $this->assertEqual(false, OC_Group::createGroup($groupCopy));
+               $this->assertEqual(array($group), OC_Group::getGroups());
+       }
+
+
+       public function testDontDeleteAdminGroup(){
+               OC_Group::useBackend(new OC_Group_Dummy());
+               $adminGroup = 'admin';
+               OC_Group::createGroup($adminGroup);
+
+               $this->assertEqual(false, OC_Group::deleteGroup($adminGroup));
+               $this->assertEqual(array($adminGroup), OC_Group::getGroups());  
+       }
+
+
+       public function testDontAddUserToNonexistentGroup(){
+               OC_Group::useBackend(new OC_Group_Dummy());
+               $groupNonExistent = 'notExistent';
+               $user = uniqid();
+
+               $this->assertEqual(false, OC_Group::addToGroup($user, $groupNonExistent));
+               $this->assertEqual(array(), OC_Group::getGroups());
+       }
+
+
+       public function testUsersInGroup(){
+               OC_Group::useBackend(new OC_Group_Dummy());
+               $group1 = uniqid();
+               $group2 = uniqid();
+               $group3 = uniqid();
+               $user1 = uniqid();
+               $user2 = uniqid();
+               $user3 = uniqid();
+               OC_Group::createGroup($group1);
+               OC_Group::createGroup($group2);
+               OC_Group::createGroup($group3);
+
+               OC_Group::addToGroup($user1, $group1);
+               OC_Group::addToGroup($user2, $group1);
+               OC_Group::addToGroup($user3, $group1);
+               OC_Group::addToGroup($user3, $group2);
+
+               $this->assertEqual(array($user1, $user2, $user3), 
+                                       OC_Group::usersInGroups(array($group1, $group2, $group3)));
+
+               // FIXME: needs more parameter variation
+       }
+
+
+
        function testMultiBackend() {
                $backend1=new OC_Group_Dummy();
                $backend2=new OC_Group_Dummy();