diff options
author | Lukas Reschke <lukas@statuscode.ch> | 2017-02-22 12:26:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-22 12:26:47 +0100 |
commit | a2e16fd5bada32559fca9450b4b635d7c0708668 (patch) | |
tree | cb81eda5fa9b4aa990fe4da2c6df08c4862ebf2b /apps | |
parent | 9e21a555cbcb1c500da81f91535cb7109cbc4bb2 (diff) | |
parent | 2ca8339d012773e3906244f7b039e5bd72920c5f (diff) | |
download | nextcloud-server-a2e16fd5bada32559fca9450b4b635d7c0708668.tar.gz nextcloud-server-a2e16fd5bada32559fca9450b4b635d7c0708668.zip |
Merge pull request #3418 from nextcloud/add-groups-to-userinfo
add groups to user info output
Diffstat (limited to 'apps')
-rw-r--r-- | apps/provisioning_api/lib/Controller/UsersController.php | 6 | ||||
-rw-r--r-- | apps/provisioning_api/tests/Controller/UsersControllerTest.php | 33 |
2 files changed, 36 insertions, 3 deletions
diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php index 1e8a767b33a..766775dfdbe 100644 --- a/apps/provisioning_api/lib/Controller/UsersController.php +++ b/apps/provisioning_api/lib/Controller/UsersController.php @@ -252,6 +252,11 @@ class UsersController extends OCSController { } $userAccount = $this->accountManager->getUser($targetUserObject); + $groups = $this->groupManager->getUserGroups($targetUserObject); + $gids = []; + foreach ($groups as $group) { + $gids[] = $group->getDisplayName(); + } // Find the data $data['id'] = $targetUserObject->getUID(); @@ -262,6 +267,7 @@ class UsersController extends OCSController { $data['address'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_ADDRESS]['value']; $data['webpage'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_WEBSITE]['value']; $data['twitter'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_TWITTER]['value']; + $data['groups'] = $gids; return $data; } diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php index a3e5bf6fde6..a049b15bf03 100644 --- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php +++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php @@ -635,6 +635,9 @@ class UsersControllerTest extends OriginalTest { } public function testGetUserDataAsAdmin() { + $group = $this->getMockBuilder(IGroup::class) + ->disableOriginalConstructor() + ->getMock(); $loggedInUser = $this->getMockBuilder('OCP\IUser') ->disableOriginalConstructor() ->getMock(); @@ -662,6 +665,19 @@ class UsersControllerTest extends OriginalTest { ->method('isAdmin') ->with('admin') ->will($this->returnValue(true)); + $this->groupManager + ->expects($this->any()) + ->method('getUserGroups') + ->willReturn([$group, $group, $group]); + $group->expects($this->at(0)) + ->method('getDisplayName') + ->willReturn('group0'); + $group->expects($this->at(1)) + ->method('getDisplayName') + ->willReturn('group1'); + $group->expects($this->at(2)) + ->method('getDisplayName') + ->willReturn('group2'); $this->accountManager->expects($this->any())->method('getUser') ->with($targetUser) ->willReturn( @@ -700,7 +716,8 @@ class UsersControllerTest extends OriginalTest { 'phone' => 'phone', 'address' => 'address', 'webpage' => 'website', - 'twitter' => 'twitter' + 'twitter' => 'twitter', + 'groups' => ['group0', 'group1', 'group2'] ]; $this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['UserToGet'])); } @@ -734,6 +751,10 @@ class UsersControllerTest extends OriginalTest { ->method('isAdmin') ->with('subadmin') ->will($this->returnValue(false)); + $this->groupManager + ->expects($this->any()) + ->method('getUserGroups') + ->willReturn([]); $subAdminManager = $this->getMockBuilder('OC\SubAdmin') ->disableOriginalConstructor() ->getMock(); @@ -784,7 +805,8 @@ class UsersControllerTest extends OriginalTest { 'phone' => 'phone', 'address' => 'address', 'webpage' => 'website', - 'twitter' => 'twitter' + 'twitter' => 'twitter', + 'groups' => [] ]; $this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['UserToGet'])); } @@ -872,6 +894,10 @@ class UsersControllerTest extends OriginalTest { ->expects($this->once()) ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); + $this->groupManager + ->expects($this->any()) + ->method('getUserGroups') + ->willReturn([]); $this->api ->expects($this->once()) ->method('fillStorageInfo') @@ -908,7 +934,8 @@ class UsersControllerTest extends OriginalTest { 'phone' => 'phone', 'address' => 'address', 'webpage' => 'website', - 'twitter' => 'twitter' + 'twitter' => 'twitter', + 'groups' => [] ]; $this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['subadmin'])); } |