/** * returns the available groups * @param string $search a search string * @return \OC\Group\Group[] */ private function getGroups($search = '') { if ($this->isAdmin) { return $this->groupManager->search($search); } else { return \OC_SubAdmin::getSubAdminsGroups($this->user); } }
public function testGetUserSubAdminGroupsWithoutGroups() { $targetUser = $this->getMock('\\OCP\\IUser'); $this->userManager->expects($this->once())->method('get')->with('RequestedUser')->will($this->returnValue($targetUser)); $subAdminManager = $this->getMockBuilder('\\OC\\Subadmin')->disableOriginalConstructor()->getMock(); $subAdminManager->expects($this->once())->method('getSubAdminsGroups')->with($targetUser)->will($this->returnValue([])); $this->groupManager->expects($this->once())->method('getSubAdmin')->will($this->returnValue($subAdminManager)); $expected = new \OC_OCS_Result(null, 102, 'Unknown error occurred'); $this->assertEquals($expected, $this->api->getUserSubAdminGroups(['userid' => 'RequestedUser'])); }
/** * check if mount point is applicable to user * * @param array $mount contains $mount['applicable']['users'], $mount['applicable']['groups'] * @param string $uid * @return boolean */ private function isMountPointApplicableToUser($mount, $uid) { $acceptedUids = array('all', $uid); // check if mount point is applicable for the user $intersection = array_intersect($acceptedUids, $mount['applicable']['users']); if (!empty($intersection)) { return true; } // check if mount point is applicable for group where the user is a member foreach ($mount['applicable']['groups'] as $gid) { if ($this->groupManager->isInGroup($uid, $gid)) { return true; } } return false; }
/** * returns the available groups * @param string $search a search string * @return \OC\Group\Group[] */ private function getGroups($search = '') { if ($this->isAdmin) { return $this->groupManager->search($search); } else { $groupIds = \OC_SubAdmin::getSubAdminsGroups($this->user); /* \OC_SubAdmin::getSubAdminsGroups() returns an array of GIDs, but this * method is expected to return an array with the GIDs as keys and group objects as * values, so we need to convert this information. */ $groups = array(); foreach ($groupIds as $gid) { $group = $this->groupManager->get($gid); if (!is_null($group)) { $groups[$gid] = $group; } } return $groups; } }
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'])); }