[Pkg-owncloud-commits] [owncloud] 22/153: Add unit tests for getUserGroups with addUser and removeUser

David Prévot taffit at moszumanska.debian.org
Tue May 27 03:05:28 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit 3116bede68b07efc3a3bc6c991edf191c918565b
Author: Bart Visscher <bartv at thisnet.nl>
Date:   Thu Feb 27 21:04:44 2014 +0100

    Add unit tests for getUserGroups with addUser and removeUser
---
 tests/lib/group/manager.php | 94 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)

diff --git a/tests/lib/group/manager.php b/tests/lib/group/manager.php
index 90f0e1b..c39a7d6 100644
--- a/tests/lib/group/manager.php
+++ b/tests/lib/group/manager.php
@@ -343,4 +343,98 @@ class Manager extends \PHPUnit_Framework_TestCase {
 		$this->assertEquals('group1', $group1->getGID());
 		$this->assertEquals('group2', $group2->getGID());
 	}
+
+	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 = $groups[0];
+		$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 = $groups[0];
+		$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);
+	}
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list