|
|
|
|
@ -29,6 +29,7 @@ namespace OCA\Provisioning_API\Tests\Controller; |
|
|
|
|
use OC\Accounts\AccountManager; |
|
|
|
|
use OC\Group\Manager; |
|
|
|
|
use OC\SubAdmin; |
|
|
|
|
use OC\User\NoUserException; |
|
|
|
|
use OCA\Provisioning_API\Controller\GroupsController; |
|
|
|
|
use OCP\IConfig; |
|
|
|
|
use OCP\ILogger; |
|
|
|
|
@ -36,27 +37,31 @@ use OCP\IRequest; |
|
|
|
|
use OCP\IUser; |
|
|
|
|
use OCP\IUserManager; |
|
|
|
|
use OCP\IUserSession; |
|
|
|
|
use OCP\UserInterface; |
|
|
|
|
|
|
|
|
|
class GroupsControllerTest extends \Test\TestCase { |
|
|
|
|
|
|
|
|
|
/** @var IRequest|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
/** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
protected $request; |
|
|
|
|
/** @var IUserManager|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
/** @var IUserManager|\PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
protected $userManager; |
|
|
|
|
/** @var IConfig|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
/** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
protected $config; |
|
|
|
|
/** @var Manager|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
/** @var Manager|\PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
protected $groupManager; |
|
|
|
|
/** @var IUserSession|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
/** @var IUserSession|\PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
protected $userSession; |
|
|
|
|
/** @var AccountManager|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
/** @var AccountManager|\PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
protected $accountManager; |
|
|
|
|
/** @var ILogger|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
/** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
protected $logger; |
|
|
|
|
/** @var SubAdmin|\PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
protected $subAdminManager; |
|
|
|
|
|
|
|
|
|
/** @var GroupsController|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
/** @var GroupsController|\PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
protected $api; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected function setUp() { |
|
|
|
|
parent::setUp(); |
|
|
|
|
|
|
|
|
|
@ -126,6 +131,10 @@ class GroupsControllerTest extends \Test\TestCase { |
|
|
|
|
$user |
|
|
|
|
->method('getUID') |
|
|
|
|
->willReturn($uid); |
|
|
|
|
$backendMock = $this->createMock(UserInterface::class); |
|
|
|
|
$user |
|
|
|
|
->method('getBackend') |
|
|
|
|
->willReturn($backendMock); |
|
|
|
|
return $user; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -164,6 +173,19 @@ class GroupsControllerTest extends \Test\TestCase { |
|
|
|
|
})); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private function useAccountManager() { |
|
|
|
|
$this->accountManager->expects($this->any()) |
|
|
|
|
->method('getUser') |
|
|
|
|
->willReturnCallback(function(IUser $user) { |
|
|
|
|
return [ |
|
|
|
|
AccountManager::PROPERTY_PHONE => ['value' => '0800-call-' . $user->getUID()], |
|
|
|
|
AccountManager::PROPERTY_ADDRESS => ['value' => 'Holzweg 99, 0601 Herrera, Panama'], |
|
|
|
|
AccountManager::PROPERTY_WEBSITE => ['value' => 'https://' . $user->getUid() . '.pa'], |
|
|
|
|
AccountManager::PROPERTY_TWITTER => ['value' => '@' . $user->getUID()], |
|
|
|
|
]; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function dataGetGroups() { |
|
|
|
|
return [ |
|
|
|
|
[null, 0, 0], |
|
|
|
|
@ -454,4 +476,50 @@ class GroupsControllerTest extends \Test\TestCase { |
|
|
|
|
|
|
|
|
|
$this->api->deleteGroup('ExistingGroup'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testGetGroupUsersDetails() { |
|
|
|
|
$gid = 'ncg1'; |
|
|
|
|
|
|
|
|
|
$this->asAdmin(); |
|
|
|
|
$this->useAccountManager(); |
|
|
|
|
|
|
|
|
|
$users = [ |
|
|
|
|
'ncu1' => $this->createUser('ncu1'), # regular |
|
|
|
|
'ncu2' => $this->createUser('ncu2'), # the zombie |
|
|
|
|
]; |
|
|
|
|
$users['ncu2']->expects($this->atLeastOnce()) |
|
|
|
|
->method('getHome') |
|
|
|
|
->willThrowException(new NoUserException()); |
|
|
|
|
|
|
|
|
|
$this->userManager->expects($this->any()) |
|
|
|
|
->method('get') |
|
|
|
|
->willReturnCallback(function(string $uid) use ($users) { |
|
|
|
|
return isset($users[$uid]) ? $users[$uid] : null; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
$group = $this->createGroup($gid); |
|
|
|
|
$group->expects($this->once()) |
|
|
|
|
->method('searchUsers') |
|
|
|
|
->with('', null, 0) |
|
|
|
|
->willReturn(array_values($users)); |
|
|
|
|
|
|
|
|
|
$this->groupManager |
|
|
|
|
->method('get') |
|
|
|
|
->with($gid) |
|
|
|
|
->willReturn($group); |
|
|
|
|
$this->groupManager->expects($this->any()) |
|
|
|
|
->method('getUserGroups') |
|
|
|
|
->willReturn([$group]); |
|
|
|
|
|
|
|
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
$this->subAdminManager->expects($this->any()) |
|
|
|
|
->method('isSubAdminOfGroup') |
|
|
|
|
->willReturn(false); |
|
|
|
|
$this->subAdminManager->expects($this->any()) |
|
|
|
|
->method('getSubAdminsGroups') |
|
|
|
|
->willReturn([]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$this->api->getGroupUsersDetails($gid); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|