aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/group
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/group')
-rw-r--r--tests/lib/group/backend.php159
-rw-r--r--tests/lib/group/database.php66
-rw-r--r--tests/lib/group/dummy.php33
-rw-r--r--tests/lib/group/group.php386
-rw-r--r--tests/lib/group/manager.php897
-rw-r--r--tests/lib/group/metadata.php136
6 files changed, 0 insertions, 1677 deletions
diff --git a/tests/lib/group/backend.php b/tests/lib/group/backend.php
deleted file mode 100644
index 238b83de5d7..00000000000
--- a/tests/lib/group/backend.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-/**
- * @author Arthur Schiwon <blizzz@owncloud.com>
- * @author Felix Moeller <mail@felixmoeller.de>
- * @author Joas Schilling <nickvergessen@owncloud.com>
- * @author Robin Appelman <icewind@owncloud.com>
- * @author Scrutinizer Auto-Fixer <auto-fixer@scrutinizer-ci.com>
- * @author Thomas Müller <thomas.mueller@tmit.eu>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-/**
- * Class Test_Group_Backend
- *
- * @group DB
- */
-abstract class Test_Group_Backend extends \Test\TestCase {
- /**
- * @var OC_Group_Backend $backend
- */
- protected $backend;
-
- /**
- * get a new unique group name
- * test cases can override this in order to clean up created groups
- *
- * @return string
- */
- public function getGroupName($name = null) {
- if (is_null($name)) {
- return $this->getUniqueID('test_');
- } else {
- return $name;
- }
- }
-
- /**
- * get a new unique user name
- * test cases can override this in order to clean up created user
- *
- * @return string
- */
- public function getUserName() {
- return $this->getUniqueID('test_');
- }
-
- public function testAddRemove() {
- //get the number of groups we start with, in case there are exising groups
- $startCount = count($this->backend->getGroups());
-
- $name1 = $this->getGroupName();
- $name2 = $this->getGroupName();
- $this->backend->createGroup($name1);
- $count = count($this->backend->getGroups()) - $startCount;
- $this->assertEquals(1, $count);
- $this->assertTrue((array_search($name1, $this->backend->getGroups()) !== false));
- $this->assertFalse((array_search($name2, $this->backend->getGroups()) !== false));
- $this->backend->createGroup($name2);
- $count = count($this->backend->getGroups()) - $startCount;
- $this->assertEquals(2, $count);
- $this->assertTrue((array_search($name1, $this->backend->getGroups()) !== false));
- $this->assertTrue((array_search($name2, $this->backend->getGroups()) !== false));
-
- $this->backend->deleteGroup($name2);
- $count = count($this->backend->getGroups()) - $startCount;
- $this->assertEquals(1, $count);
- $this->assertTrue((array_search($name1, $this->backend->getGroups()) !== false));
- $this->assertFalse((array_search($name2, $this->backend->getGroups()) !== false));
- }
-
- public function testUser() {
- $group1 = $this->getGroupName();
- $group2 = $this->getGroupName();
- $this->backend->createGroup($group1);
- $this->backend->createGroup($group2);
-
- $user1 = $this->getUserName();
- $user2 = $this->getUserName();
-
- $this->assertFalse($this->backend->inGroup($user1, $group1));
- $this->assertFalse($this->backend->inGroup($user2, $group1));
- $this->assertFalse($this->backend->inGroup($user1, $group2));
- $this->assertFalse($this->backend->inGroup($user2, $group2));
-
- $this->assertTrue($this->backend->addToGroup($user1, $group1));
-
- $this->assertTrue($this->backend->inGroup($user1, $group1));
- $this->assertFalse($this->backend->inGroup($user2, $group1));
- $this->assertFalse($this->backend->inGroup($user1, $group2));
- $this->assertFalse($this->backend->inGroup($user2, $group2));
-
- $this->assertFalse($this->backend->addToGroup($user1, $group1));
-
- $this->assertEquals(array($user1), $this->backend->usersInGroup($group1));
- $this->assertEquals(array(), $this->backend->usersInGroup($group2));
-
- $this->assertEquals(array($group1), $this->backend->getUserGroups($user1));
- $this->assertEquals(array(), $this->backend->getUserGroups($user2));
-
- $this->backend->deleteGroup($group1);
- $this->assertEquals(array(), $this->backend->getUserGroups($user1));
- $this->assertEquals(array(), $this->backend->usersInGroup($group1));
- $this->assertFalse($this->backend->inGroup($user1, $group1));
- }
-
- public function testSearchGroups() {
- $name1 = $this->getGroupName('foobarbaz');
- $name2 = $this->getGroupName('bazbarfoo');
- $name3 = $this->getGroupName('notme');
-
- $this->backend->createGroup($name1);
- $this->backend->createGroup($name2);
- $this->backend->createGroup($name3);
-
- $result = $this->backend->getGroups('bar');
- $this->assertSame(2, count($result));
- }
-
- public function testSearchUsers() {
- $group = $this->getGroupName();
- $this->backend->createGroup($group);
-
- $name1 = 'foobarbaz';
- $name2 = 'bazbarfoo';
- $name3 = 'notme';
-
- $this->backend->addToGroup($name1, $group);
- $this->backend->addToGroup($name2, $group);
- $this->backend->addToGroup($name3, $group);
-
- $result = $this->backend->usersInGroup($group, 'bar');
- $this->assertSame(2, count($result));
-
- $result = $this->backend->countUsersInGroup($group, 'bar');
- $this->assertSame(2, $result);
- }
-
- public function testAddDouble() {
- $group = $this->getGroupName();
-
- $this->backend->createGroup($group);
- $this->backend->createGroup($group);
- }
-}
diff --git a/tests/lib/group/database.php b/tests/lib/group/database.php
deleted file mode 100644
index b0be5774c7d..00000000000
--- a/tests/lib/group/database.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-/**
- * @author Arthur Schiwon <blizzz@owncloud.com>
- * @author Joas Schilling <nickvergessen@owncloud.com>
- * @author Robin Appelman <icewind@owncloud.com>
- * @author Scrutinizer Auto-Fixer <auto-fixer@scrutinizer-ci.com>
- * @author Thomas Müller <thomas.mueller@tmit.eu>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-/**
- * Class Test_Group_Database
- *
- * @group DB
- */
-class Test_Group_Database extends Test_Group_Backend {
- private $groups = array();
-
- /**
- * get a new unique group name
- * test cases can override this in order to clean up created groups
- *
- * @return string
- */
- public function getGroupName($name = null) {
- $name = parent::getGroupName($name);
- $this->groups[] = $name;
- return $name;
- }
-
- protected function setUp() {
- parent::setUp();
- $this->backend = new OC_Group_Database();
- }
-
- protected function tearDown() {
- foreach ($this->groups as $group) {
- $this->backend->deleteGroup($group);
- }
- parent::tearDown();
- }
-
- public function testAddDoubleNoCache() {
- $group = $this->getGroupName();
-
- $this->backend->createGroup($group);
-
- $backend = new OC_Group_Database();
- $this->assertFalse($backend->createGroup($group));
- }
-}
diff --git a/tests/lib/group/dummy.php b/tests/lib/group/dummy.php
deleted file mode 100644
index 6836f89d3fe..00000000000
--- a/tests/lib/group/dummy.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-/**
-* ownCloud
-*
-* @author Robin Appelman
-* @copyright 2012 Robin Appelman icewind@owncloud.com
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-/**
- * Class Test_Group_Dummy
- *
- * @group DB
- */
-class Test_Group_Dummy extends Test_Group_Backend {
- protected function setUp() {
- parent::setUp();
- $this->backend=new OC_Group_Dummy();
- }
-}
diff --git a/tests/lib/group/group.php b/tests/lib/group/group.php
deleted file mode 100644
index d758e5959d0..00000000000
--- a/tests/lib/group/group.php
+++ /dev/null
@@ -1,386 +0,0 @@
-<?php
-
-/**
- * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace Test\Group;
-
-use OC\User\User;
-
-class Group extends \Test\TestCase {
- /**
- * @return \OC\User\Manager | \OC\User\Manager
- */
- protected function getUserManager() {
- $userManager = $this->getMock('\OC\User\Manager');
- $backend = $this->getMock('\OC_User_Backend');
- $user1 = new User('user1', $backend);
- $user2 = new User('user2', $backend);
- $user3 = new User('user3', $backend);
- $userManager->expects($this->any())
- ->method('get')
- ->will($this->returnValueMap(array(
- array('user1', $user1),
- array('user2', $user2),
- array('user3', $user3)
- )));
- return $userManager;
- }
-
- public function testGetUsersSingleBackend() {
- $backend = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend), $userManager);
-
- $backend->expects($this->once())
- ->method('usersInGroup')
- ->with('group1')
- ->will($this->returnValue(array('user1', 'user2')));
-
- $users = $group->getUsers();
-
- $this->assertEquals(2, count($users));
- $user1 = $users['user1'];
- $user2 = $users['user2'];
- $this->assertEquals('user1', $user1->getUID());
- $this->assertEquals('user2', $user2->getUID());
- }
-
- public function testGetUsersMultipleBackends() {
- $backend1 = $this->getMock('OC_Group_Database');
- $backend2 = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend1, $backend2), $userManager);
-
- $backend1->expects($this->once())
- ->method('usersInGroup')
- ->with('group1')
- ->will($this->returnValue(array('user1', 'user2')));
-
- $backend2->expects($this->once())
- ->method('usersInGroup')
- ->with('group1')
- ->will($this->returnValue(array('user2', 'user3')));
-
- $users = $group->getUsers();
-
- $this->assertEquals(3, count($users));
- $user1 = $users['user1'];
- $user2 = $users['user2'];
- $user3 = $users['user3'];
- $this->assertEquals('user1', $user1->getUID());
- $this->assertEquals('user2', $user2->getUID());
- $this->assertEquals('user3', $user3->getUID());
- }
-
- public function testInGroupSingleBackend() {
- $backend = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $userBackend = $this->getMock('\OC_User_Backend');
- $group = new \OC\Group\Group('group1', array($backend), $userManager);
-
- $backend->expects($this->once())
- ->method('inGroup')
- ->with('user1', 'group1')
- ->will($this->returnValue(true));
-
- $this->assertTrue($group->inGroup(new User('user1', $userBackend)));
- }
-
- public function testInGroupMultipleBackends() {
- $backend1 = $this->getMock('OC_Group_Database');
- $backend2 = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $userBackend = $this->getMock('\OC_User_Backend');
- $group = new \OC\Group\Group('group1', array($backend1, $backend2), $userManager);
-
- $backend1->expects($this->once())
- ->method('inGroup')
- ->with('user1', 'group1')
- ->will($this->returnValue(false));
-
- $backend2->expects($this->once())
- ->method('inGroup')
- ->with('user1', 'group1')
- ->will($this->returnValue(true));
-
- $this->assertTrue($group->inGroup(new User('user1', $userBackend)));
- }
-
- public function testAddUser() {
- $backend = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $userBackend = $this->getMock('\OC_User_Backend');
- $group = new \OC\Group\Group('group1', array($backend), $userManager);
-
- $backend->expects($this->once())
- ->method('inGroup')
- ->with('user1', 'group1')
- ->will($this->returnValue(false));
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend->expects($this->once())
- ->method('addToGroup')
- ->with('user1', 'group1');
-
- $group->addUser(new User('user1', $userBackend));
- }
-
- public function testAddUserAlreadyInGroup() {
- $backend = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $userBackend = $this->getMock('\OC_User_Backend');
- $group = new \OC\Group\Group('group1', array($backend), $userManager);
-
- $backend->expects($this->once())
- ->method('inGroup')
- ->with('user1', 'group1')
- ->will($this->returnValue(true));
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend->expects($this->never())
- ->method('addToGroup');
-
- $group->addUser(new User('user1', $userBackend));
- }
-
- public function testRemoveUser() {
- $backend = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $userBackend = $this->getMock('\OC_User_Backend');
- $group = new \OC\Group\Group('group1', array($backend), $userManager);
-
- $backend->expects($this->once())
- ->method('inGroup')
- ->with('user1', 'group1')
- ->will($this->returnValue(true));
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend->expects($this->once())
- ->method('removeFromGroup')
- ->with('user1', 'group1');
-
- $group->removeUser(new User('user1', $userBackend));
- }
-
- public function testRemoveUserNotInGroup() {
- $backend = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $userBackend = $this->getMock('\OC_User_Backend');
- $group = new \OC\Group\Group('group1', array($backend), $userManager);
-
- $backend->expects($this->once())
- ->method('inGroup')
- ->with('user1', 'group1')
- ->will($this->returnValue(false));
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend->expects($this->never())
- ->method('removeFromGroup');
-
- $group->removeUser(new User('user1', $userBackend));
- }
-
- public function testRemoveUserMultipleBackends() {
- $backend1 = $this->getMock('OC_Group_Database');
- $backend2 = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $userBackend = $this->getMock('\OC_User_Backend');
- $group = new \OC\Group\Group('group1', array($backend1, $backend2), $userManager);
-
- $backend1->expects($this->once())
- ->method('inGroup')
- ->with('user1', 'group1')
- ->will($this->returnValue(true));
- $backend1->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend1->expects($this->once())
- ->method('removeFromGroup')
- ->with('user1', 'group1');
-
- $backend2->expects($this->once())
- ->method('inGroup')
- ->with('user1', 'group1')
- ->will($this->returnValue(true));
- $backend2->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend2->expects($this->once())
- ->method('removeFromGroup')
- ->with('user1', 'group1');
-
- $group->removeUser(new User('user1', $userBackend));
- }
-
- public function testSearchUsers() {
- $backend = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend), $userManager);
-
- $backend->expects($this->once())
- ->method('usersInGroup')
- ->with('group1', '2')
- ->will($this->returnValue(array('user2')));
-
- $users = $group->searchUsers('2');
-
- $this->assertEquals(1, count($users));
- $user2 = $users[0];
- $this->assertEquals('user2', $user2->getUID());
- }
-
- public function testSearchUsersMultipleBackends() {
- $backend1 = $this->getMock('OC_Group_Database');
- $backend2 = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend1, $backend2), $userManager);
-
- $backend1->expects($this->once())
- ->method('usersInGroup')
- ->with('group1', '2')
- ->will($this->returnValue(array('user2')));
- $backend2->expects($this->once())
- ->method('usersInGroup')
- ->with('group1', '2')
- ->will($this->returnValue(array('user2')));
-
- $users = $group->searchUsers('2');
-
- $this->assertEquals(1, count($users));
- $user2 = $users[0];
- $this->assertEquals('user2', $user2->getUID());
- }
-
- public function testSearchUsersLimitAndOffset() {
- $backend = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend), $userManager);
-
- $backend->expects($this->once())
- ->method('usersInGroup')
- ->with('group1', 'user', 1, 1)
- ->will($this->returnValue(array('user2')));
-
- $users = $group->searchUsers('user', 1, 1);
-
- $this->assertEquals(1, count($users));
- $user2 = $users[0];
- $this->assertEquals('user2', $user2->getUID());
- }
-
- public function testSearchUsersMultipleBackendsLimitAndOffset() {
- $backend1 = $this->getMock('OC_Group_Database');
- $backend2 = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend1, $backend2), $userManager);
-
- $backend1->expects($this->once())
- ->method('usersInGroup')
- ->with('group1', 'user', 2, 1)
- ->will($this->returnValue(array('user2')));
- $backend2->expects($this->once())
- ->method('usersInGroup')
- ->with('group1', 'user', 2, 1)
- ->will($this->returnValue(array('user1')));
-
- $users = $group->searchUsers('user', 2, 1);
-
- $this->assertEquals(2, count($users));
- $user2 = $users[0];
- $user1 = $users[1];
- $this->assertEquals('user2', $user2->getUID());
- $this->assertEquals('user1', $user1->getUID());
- }
-
- public function testCountUsers() {
- $backend1 = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend1), $userManager);
-
- $backend1->expects($this->once())
- ->method('countUsersInGroup')
- ->with('group1', '2')
- ->will($this->returnValue(3));
-
- $backend1->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $users = $group->count('2');
-
- $this->assertSame(3, $users);
- }
-
- public function testCountUsersMultipleBackends() {
- $backend1 = $this->getMock('OC_Group_Database');
- $backend2 = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend1, $backend2), $userManager);
-
- $backend1->expects($this->once())
- ->method('countUsersInGroup')
- ->with('group1', '2')
- ->will($this->returnValue(3));
- $backend1->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend2->expects($this->once())
- ->method('countUsersInGroup')
- ->with('group1', '2')
- ->will($this->returnValue(4));
- $backend2->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $users = $group->count('2');
-
- $this->assertSame(7, $users);
- }
-
- public function testCountUsersNoMethod() {
- $backend1 = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend1), $userManager);
-
- $backend1->expects($this->never())
- ->method('countUsersInGroup');
- $backend1->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(false));
-
- $users = $group->count('2');
-
- $this->assertSame(false, $users);
- }
-
- public function testDelete() {
- $backend = $this->getMock('OC_Group_Database');
- $userManager = $this->getUserManager();
- $group = new \OC\Group\Group('group1', array($backend), $userManager);
-
- $backend->expects($this->once())
- ->method('deleteGroup')
- ->with('group1');
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $group->delete();
- }
-}
diff --git a/tests/lib/group/manager.php b/tests/lib/group/manager.php
deleted file mode 100644
index 6cf473b9156..00000000000
--- a/tests/lib/group/manager.php
+++ /dev/null
@@ -1,897 +0,0 @@
-<?php
-
-/**
- * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace Test\Group;
-
-use OC\User\User;
-
-class Manager extends \Test\TestCase {
- public function testGet() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->any())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $group = $manager->get('group1');
- $this->assertNotNull($group);
- $this->assertEquals('group1', $group->getGID());
- }
-
- public function testGetNoBackend() {
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
-
- $this->assertNull($manager->get('group1'));
- }
-
- public function testGetNotExists() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->once())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnValue(false));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $this->assertNull($manager->get('group1'));
- }
-
- public function testGetDeleted() {
- $backend = new \OC_Group_Dummy();
- $backend->createGroup('group1');
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $group = $manager->get('group1');
- $group->delete();
- $this->assertNull($manager->get('group1'));
- }
-
- public function testGetMultipleBackends() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend1 = $this->getMock('\OC_Group_Database');
- $backend1->expects($this->any())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnValue(false));
-
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend2
- */
- $backend2 = $this->getMock('\OC_Group_Database');
- $backend2->expects($this->any())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend1);
- $manager->addBackend($backend2);
-
- $group = $manager->get('group1');
- $this->assertNotNull($group);
- $this->assertEquals('group1', $group->getGID());
- }
-
- public function testCreate() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backendGroupCreated = false;
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->any())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnCallback(function () use (&$backendGroupCreated) {
- return $backendGroupCreated;
- }));
- $backend->expects($this->once())
- ->method('implementsActions')
- ->will($this->returnValue(true));
- $backend->expects($this->once())
- ->method('createGroup')
- ->will($this->returnCallback(function () use (&$backendGroupCreated) {
- $backendGroupCreated = true;
- }));;
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $group = $manager->createGroup('group1');
- $this->assertEquals('group1', $group->getGID());
- }
-
- public function testCreateExists() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->any())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnValue(true));
- $backend->expects($this->never())
- ->method('createGroup');
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $group = $manager->createGroup('group1');
- $this->assertEquals('group1', $group->getGID());
- }
-
- public function testSearch() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->once())
- ->method('getGroups')
- ->with('1')
- ->will($this->returnValue(array('group1')));
- $backend->expects($this->once())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $groups = $manager->search('1');
- $this->assertEquals(1, count($groups));
- $group1 = reset($groups);
- $this->assertEquals('group1', $group1->getGID());
- }
-
- public function testSearchMultipleBackends() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend1 = $this->getMock('\OC_Group_Database');
- $backend1->expects($this->once())
- ->method('getGroups')
- ->with('1')
- ->will($this->returnValue(array('group1')));
- $backend1->expects($this->any())
- ->method('groupExists')
- ->will($this->returnValue(true));
-
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend2
- */
- $backend2 = $this->getMock('\OC_Group_Database');
- $backend2->expects($this->once())
- ->method('getGroups')
- ->with('1')
- ->will($this->returnValue(array('group12', 'group1')));
- $backend2->expects($this->any())
- ->method('groupExists')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend1);
- $manager->addBackend($backend2);
-
- $groups = $manager->search('1');
- $this->assertEquals(2, count($groups));
- $group1 = reset($groups);
- $group12 = next($groups);
- $this->assertEquals('group1', $group1->getGID());
- $this->assertEquals('group12', $group12->getGID());
- }
-
- public function testSearchMultipleBackendsLimitAndOffset() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend1 = $this->getMock('\OC_Group_Database');
- $backend1->expects($this->once())
- ->method('getGroups')
- ->with('1', 2, 1)
- ->will($this->returnValue(array('group1')));
- $backend1->expects($this->any())
- ->method('groupExists')
- ->will($this->returnValue(true));
-
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend2
- */
- $backend2 = $this->getMock('\OC_Group_Database');
- $backend2->expects($this->once())
- ->method('getGroups')
- ->with('1', 2, 1)
- ->will($this->returnValue(array('group12')));
- $backend2->expects($this->any())
- ->method('groupExists')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend1);
- $manager->addBackend($backend2);
-
- $groups = $manager->search('1', 2, 1);
- $this->assertEquals(2, count($groups));
- $group1 = reset($groups);
- $group12 = next($groups);
- $this->assertEquals('group1', $group1->getGID());
- $this->assertEquals('group12', $group12->getGID());
- }
-
- public function testGetUserGroups() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->once())
- ->method('getUserGroups')
- ->with('user1')
- ->will($this->returnValue(array('group1')));
- $backend->expects($this->any())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $groups = $manager->getUserGroups(new User('user1', $userBackend));
- $this->assertEquals(1, count($groups));
- $group1 = reset($groups);
- $this->assertEquals('group1', $group1->getGID());
- }
-
- public function testGetUserGroupIds() {
- /** @var \PHPUnit_Framework_MockObject_MockObject|\OC\Group\Manager $manager */
- $manager = $this->getMockBuilder('OC\Group\Manager')
- ->disableOriginalConstructor()
- ->setMethods(['getUserGroups'])
- ->getMock();
- $manager->expects($this->once())
- ->method('getUserGroups')
- ->willReturn([
- '123' => '123',
- 'abc' => 'abc',
- ]);
-
- /** @var \OC\User\User $user */
- $user = $this->getMockBuilder('OC\User\User')
- ->disableOriginalConstructor()
- ->getMock();
-
- $groups = $manager->getUserGroupIds($user);
- $this->assertEquals(2, count($groups));
-
- foreach ($groups as $group) {
- $this->assertInternalType('string', $group);
- }
- }
-
- public function testInGroup() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->once())
- ->method('getUserGroups')
- ->with('user1')
- ->will($this->returnValue(array('group1', 'admin', 'group2')));
- $backend->expects($this->any())
- ->method('groupExists')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $this->assertTrue($manager->isInGroup('user1', 'group1'));
- }
-
- public function testIsAdmin() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->once())
- ->method('getUserGroups')
- ->with('user1')
- ->will($this->returnValue(array('group1', 'admin', 'group2')));
- $backend->expects($this->any())
- ->method('groupExists')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $this->assertTrue($manager->isAdmin('user1'));
- }
-
- public function testNotAdmin() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->once())
- ->method('getUserGroups')
- ->with('user1')
- ->will($this->returnValue(array('group1', 'group2')));
- $backend->expects($this->any())
- ->method('groupExists')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $this->assertFalse($manager->isAdmin('user1'));
- }
-
- public function testGetUserGroupsMultipleBackends() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend1 = $this->getMock('\OC_Group_Database');
- $backend1->expects($this->once())
- ->method('getUserGroups')
- ->with('user1')
- ->will($this->returnValue(array('group1')));
- $backend1->expects($this->any())
- ->method('groupExists')
- ->will($this->returnValue(true));
-
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend2
- */
- $backend2 = $this->getMock('\OC_Group_Database');
- $backend2->expects($this->once())
- ->method('getUserGroups')
- ->with('user1')
- ->will($this->returnValue(array('group1', 'group2')));
- $backend1->expects($this->any())
- ->method('groupExists')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend1);
- $manager->addBackend($backend2);
-
- $groups = $manager->getUserGroups(new User('user1', $userBackend));
- $this->assertEquals(2, count($groups));
- $group1 = reset($groups);
- $group2 = next($groups);
- $this->assertEquals('group1', $group1->getGID());
- $this->assertEquals('group2', $group2->getGID());
- }
-
- public function testDisplayNamesInGroupWithOneUserBackend() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->exactly(1))
- ->method('groupExists')
- ->with('testgroup')
- ->will($this->returnValue(true));
-
- $backend->expects($this->any())
- ->method('InGroup')
- ->will($this->returnCallback(function($uid, $gid) {
- switch($uid) {
- case 'user1' : return false;
- case 'user2' : return true;
- case 'user3' : return false;
- case 'user33': return true;
- default:
- return null;
- }
- }));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
-
- $userManager->expects($this->any())
- ->method('searchDisplayName')
- ->with('user3')
- ->will($this->returnCallback(function($search, $limit, $offset) use ($userBackend) {
- switch($offset) {
- case 0 : return array('user3' => new User('user3', $userBackend),
- 'user33' => new User('user33', $userBackend));
- case 2 : return array();
- }
- }));
-
- $userManager->expects($this->any())
- ->method('get')
- ->will($this->returnCallback(function($uid) use ($userBackend) {
- switch($uid) {
- case 'user1' : return new User('user1', $userBackend);
- case 'user2' : return new User('user2', $userBackend);
- case 'user3' : return new User('user3', $userBackend);
- case 'user33': return new User('user33', $userBackend);
- default:
- return null;
- }
- }));
-
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $users = $manager->displayNamesInGroup('testgroup', 'user3');
- $this->assertEquals(1, count($users));
- $this->assertFalse(isset($users['user1']));
- $this->assertFalse(isset($users['user2']));
- $this->assertFalse(isset($users['user3']));
- $this->assertTrue(isset($users['user33']));
- }
-
- public function testDisplayNamesInGroupWithOneUserBackendWithLimitSpecified() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->exactly(1))
- ->method('groupExists')
- ->with('testgroup')
- ->will($this->returnValue(true));
-
- $backend->expects($this->any())
- ->method('InGroup')
- ->will($this->returnCallback(function($uid, $gid) {
- switch($uid) {
- case 'user1' : return false;
- case 'user2' : return true;
- case 'user3' : return false;
- case 'user33': return true;
- case 'user333': return true;
- default:
- return null;
- }
- }));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
-
- $userManager->expects($this->any())
- ->method('searchDisplayName')
- ->with('user3')
- ->will($this->returnCallback(function($search, $limit, $offset) use ($userBackend) {
- switch($offset) {
- case 0 : return array('user3' => new User('user3', $userBackend),
- 'user33' => new User('user33', $userBackend));
- case 2 : return array('user333' => new User('user333', $userBackend));
- }
- }));
-
- $userManager->expects($this->any())
- ->method('get')
- ->will($this->returnCallback(function($uid) use ($userBackend) {
- switch($uid) {
- case 'user1' : return new User('user1', $userBackend);
- case 'user2' : return new User('user2', $userBackend);
- case 'user3' : return new User('user3', $userBackend);
- case 'user33': return new User('user33', $userBackend);
- case 'user333': return new User('user333', $userBackend);
- default:
- return null;
- }
- }));
-
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $users = $manager->displayNamesInGroup('testgroup', 'user3', 1);
- $this->assertEquals(1, count($users));
- $this->assertFalse(isset($users['user1']));
- $this->assertFalse(isset($users['user2']));
- $this->assertFalse(isset($users['user3']));
- $this->assertTrue(isset($users['user33']));
- $this->assertFalse(isset($users['user333']));
- }
-
- public function testDisplayNamesInGroupWithOneUserBackendWithLimitAndOffsetSpecified() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->exactly(1))
- ->method('groupExists')
- ->with('testgroup')
- ->will($this->returnValue(true));
-
- $backend->expects($this->any())
- ->method('inGroup')
- ->will($this->returnCallback(function($uid) {
- switch($uid) {
- case 'user1' : return false;
- case 'user2' : return true;
- case 'user3' : return false;
- case 'user33': return true;
- case 'user333': return true;
- default:
- return null;
- }
- }));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
-
- $userManager->expects($this->any())
- ->method('searchDisplayName')
- ->with('user3')
- ->will($this->returnCallback(function($search, $limit, $offset) use ($userBackend) {
- switch($offset) {
- case 0 :
- return array(
- 'user3' => new User('user3', $userBackend),
- 'user33' => new User('user33', $userBackend),
- 'user333' => new User('user333', $userBackend)
- );
- }
- }));
-
- $userManager->expects($this->any())
- ->method('get')
- ->will($this->returnCallback(function($uid) use ($userBackend) {
- switch($uid) {
- case 'user1' : return new User('user1', $userBackend);
- case 'user2' : return new User('user2', $userBackend);
- case 'user3' : return new User('user3', $userBackend);
- case 'user33': return new User('user33', $userBackend);
- case 'user333': return new User('user333', $userBackend);
- default:
- return null;
- }
- }));
-
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $users = $manager->displayNamesInGroup('testgroup', 'user3', 1, 1);
- $this->assertEquals(1, count($users));
- $this->assertFalse(isset($users['user1']));
- $this->assertFalse(isset($users['user2']));
- $this->assertFalse(isset($users['user3']));
- $this->assertFalse(isset($users['user33']));
- $this->assertTrue(isset($users['user333']));
- }
-
- public function testDisplayNamesInGroupWithOneUserBackendAndSearchEmpty() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->exactly(1))
- ->method('groupExists')
- ->with('testgroup')
- ->will($this->returnValue(true));
-
- $backend->expects($this->once())
- ->method('usersInGroup')
- ->with('testgroup', '', -1, 0)
- ->will($this->returnValue(array('user2', 'user33')));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
-
- $userManager->expects($this->any())
- ->method('get')
- ->will($this->returnCallback(function($uid) use ($userBackend) {
- switch($uid) {
- case 'user1' : return new User('user1', $userBackend);
- case 'user2' : return new User('user2', $userBackend);
- case 'user3' : return new User('user3', $userBackend);
- case 'user33': return new User('user33', $userBackend);
- default:
- return null;
- }
- }));
-
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $users = $manager->displayNamesInGroup('testgroup', '');
- $this->assertEquals(2, count($users));
- $this->assertFalse(isset($users['user1']));
- $this->assertTrue(isset($users['user2']));
- $this->assertFalse(isset($users['user3']));
- $this->assertTrue(isset($users['user33']));
- }
-
- public function testDisplayNamesInGroupWithOneUserBackendAndSearchEmptyAndLimitSpecified() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->exactly(1))
- ->method('groupExists')
- ->with('testgroup')
- ->will($this->returnValue(true));
-
- $backend->expects($this->once())
- ->method('usersInGroup')
- ->with('testgroup', '', 1, 0)
- ->will($this->returnValue(array('user2')));
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
-
- $userManager->expects($this->any())
- ->method('get')
- ->will($this->returnCallback(function($uid) use ($userBackend) {
- switch($uid) {
- case 'user1' : return new User('user1', $userBackend);
- case 'user2' : return new User('user2', $userBackend);
- case 'user3' : return new User('user3', $userBackend);
- case 'user33': return new User('user33', $userBackend);
- default:
- return null;
- }
- }));
-
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $users = $manager->displayNamesInGroup('testgroup', '', 1);
- $this->assertEquals(1, count($users));
- $this->assertFalse(isset($users['user1']));
- $this->assertTrue(isset($users['user2']));
- $this->assertFalse(isset($users['user3']));
- $this->assertFalse(isset($users['user33']));
- }
-
- public function testDisplayNamesInGroupWithOneUserBackendAndSearchEmptyAndLimitAndOffsetSpecified() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->exactly(1))
- ->method('groupExists')
- ->with('testgroup')
- ->will($this->returnValue(true));
-
- $backend->expects($this->once())
- ->method('usersInGroup')
- ->with('testgroup', '', 1, 1)
- ->will($this->returnValue(array('user33')));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $userBackend = $this->getMock('\OC_User_Backend');
-
- $userManager->expects($this->any())
- ->method('get')
- ->will($this->returnCallback(function($uid) use ($userBackend) {
- switch($uid) {
- case 'user1' : return new User('user1', $userBackend);
- case 'user2' : return new User('user2', $userBackend);
- case 'user3' : return new User('user3', $userBackend);
- case 'user33': return new User('user33', $userBackend);
- default:
- return null;
- }
- }));
-
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $users = $manager->displayNamesInGroup('testgroup', '', 1, 1);
- $this->assertEquals(1, count($users));
- $this->assertFalse(isset($users['user1']));
- $this->assertFalse(isset($users['user2']));
- $this->assertFalse(isset($users['user3']));
- $this->assertTrue(isset($users['user33']));
- }
-
- public function testGetUserGroupsWithAddUser() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $expectedGroups = array();
- $backend->expects($this->any())
- ->method('getUserGroups')
- ->with('user1')
- ->will($this->returnCallback(function () use (&$expectedGroups) {
- return $expectedGroups;
- }));
- $backend->expects($this->any())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnValue(true));
- $backend->expects($this->once())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- // prime cache
- $user1 = new User('user1', null);
- $groups = $manager->getUserGroups($user1);
- $this->assertEquals(array(), $groups);
-
- // add user
- $group = $manager->get('group1');
- $group->addUser($user1);
- $expectedGroups = array('group1');
-
- // check result
- $groups = $manager->getUserGroups($user1);
- $this->assertEquals(1, count($groups));
- $group1 = reset($groups);
- $this->assertEquals('group1', $group1->getGID());
- }
-
- public function testGetUserGroupsWithRemoveUser() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $expectedGroups = array('group1');
- $backend->expects($this->any())
- ->method('getUserGroups')
- ->with('user1')
- ->will($this->returnCallback(function () use (&$expectedGroups) {
- return $expectedGroups;
- }));
- $backend->expects($this->any())
- ->method('groupExists')
- ->with('group1')
- ->will($this->returnValue(true));
- $backend->expects($this->once())
- ->method('implementsActions')
- ->will($this->returnValue(true));
- $backend->expects($this->once())
- ->method('inGroup')
- ->will($this->returnValue(true));
- $backend->expects($this->once())
- ->method('removeFromGroup')
- ->will($this->returnValue(true));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- // prime cache
- $user1 = new User('user1', null);
- $groups = $manager->getUserGroups($user1);
- $this->assertEquals(1, count($groups));
- $group1 = reset($groups);
- $this->assertEquals('group1', $group1->getGID());
-
- // remove user
- $group = $manager->get('group1');
- $group->removeUser($user1);
- $expectedGroups = array();
-
- // check result
- $groups = $manager->getUserGroups($user1);
- $this->assertEquals(array(), $groups);
- }
-
- public function testGetUserIdGroups() {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend
- */
- $backend = $this->getMock('\OC_Group_Database');
- $backend->expects($this->any())
- ->method('getUserGroups')
- ->with('user1')
- ->will($this->returnValue(null));
-
- /**
- * @var \OC\User\Manager $userManager
- */
- $userManager = $this->getMock('\OC\User\Manager');
- $manager = new \OC\Group\Manager($userManager);
- $manager->addBackend($backend);
-
- $groups = $manager->getUserIdGroups('user1');
- $this->assertEquals([], $groups);
- }
-
-}
diff --git a/tests/lib/group/metadata.php b/tests/lib/group/metadata.php
deleted file mode 100644
index 233463c71eb..00000000000
--- a/tests/lib/group/metadata.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-/**
- * @author Arthur Schiwon <blizzz@owncloud.com>
- * @author Lukas Reschke <lukas@owncloud.com>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace Test\Group;
-
-class Test_MetaData extends \Test\TestCase {
- /** @var \OC\Group\Manager */
- private $groupManager;
- /** @var \OCP\IUserSession */
- private $userSession;
- /** @var \OC\Group\MetaData */
- private $groupMetadata;
- /** @var bool */
- private $isAdmin = true;
-
- public function setUp() {
- parent::setUp();
- $this->groupManager = $this->getMockBuilder('\OC\Group\Manager')
- ->disableOriginalConstructor()
- ->getMock();
- $this->userSession = $this->getMock('\OCP\IUserSession');
- $this->groupMetadata = new \OC\Group\MetaData(
- 'foo',
- $this->isAdmin,
- $this->groupManager,
- $this->userSession
- );
- }
-
- private function getGroupMock($countCallCount = 0) {
- $group = $this->getMockBuilder('\OC\Group\Group')
- ->disableOriginalConstructor()
- ->getMock();
-
- $group->expects($this->exactly(9))
- ->method('getGID')
- ->will($this->onConsecutiveCalls(
- 'admin', 'admin', 'admin',
- 'g2', 'g2', 'g2',
- 'g3', 'g3', 'g3'));
-
- $group->expects($this->exactly($countCallCount))
- ->method('count')
- ->with('')
- ->will($this->onConsecutiveCalls(2, 3, 5));
-
- return $group;
- }
-
-
- public function testGet() {
- $group = $this->getGroupMock();
- $groups = array_fill(0, 3, $group);
-
- $this->groupManager->expects($this->once())
- ->method('search')
- ->with('')
- ->will($this->returnValue($groups));
-
- list($adminGroups, $ordinaryGroups) = $this->groupMetadata->get();
-
- $this->assertSame(1, count($adminGroups));
- $this->assertSame(2, count($ordinaryGroups));
-
- $this->assertSame('g2', $ordinaryGroups[0]['name']);
- // user count is not loaded
- $this->assertSame(0, $ordinaryGroups[0]['usercount']);
- }
-
- public function testGetWithSorting() {
- $this->groupMetadata->setSorting(1);
- $group = $this->getGroupMock(3);
- $groups = array_fill(0, 3, $group);
-
- $this->groupManager->expects($this->once())
- ->method('search')
- ->with('')
- ->will($this->returnValue($groups));
-
- list($adminGroups, $ordinaryGroups) = $this->groupMetadata->get();
-
- $this->assertSame(1, count($adminGroups));
- $this->assertSame(2, count($ordinaryGroups));
-
- $this->assertSame('g3', $ordinaryGroups[0]['name']);
- $this->assertSame(5, $ordinaryGroups[0]['usercount']);
- }
-
- public function testGetWithCache() {
- $group = $this->getGroupMock();
- $groups = array_fill(0, 3, $group);
-
- $this->groupManager->expects($this->once())
- ->method('search')
- ->with('')
- ->will($this->returnValue($groups));
-
- //two calls, if caching fails call counts for group and groupmanager
- //are exceeded
- $this->groupMetadata->get();
- $this->groupMetadata->get();
- }
-
- //get() does not need to be tested with search parameters, because they are
- //solely and only passed to GroupManager and Group.
-
- public function testGetGroupsAsAdmin() {
- $this->groupManager
- ->expects($this->once())
- ->method('search')
- ->with('Foo')
- ->will($this->returnValue(['DummyValue']));
-
- $expected = ['DummyValue'];
- $this->assertSame($expected, $this->invokePrivate($this->groupMetadata, 'getGroups', ['Foo']));
- }
-}