aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@owncloud.com>2015-11-06 10:40:09 +0100
committerJoas Schilling <nickvergessen@owncloud.com>2015-11-06 10:40:09 +0100
commit292dc553c3bea72deff20392baec1055aaa88446 (patch)
tree02e2e8ffb595acaaf1115faf67f78d37a439b17b
parentbf941032a39047cc948af5887e43f664d05e1e40 (diff)
downloadnextcloud-server-292dc553c3bea72deff20392baec1055aaa88446.tar.gz
nextcloud-server-292dc553c3bea72deff20392baec1055aaa88446.zip
Make sure that group names are strings not integers
-rw-r--r--lib/private/group/manager.php4
-rw-r--r--tests/lib/group/manager.php26
2 files changed, 29 insertions, 1 deletions
diff --git a/lib/private/group/manager.php b/lib/private/group/manager.php
index 0f6ba7f24e0..73ff0e537c6 100644
--- a/lib/private/group/manager.php
+++ b/lib/private/group/manager.php
@@ -263,7 +263,9 @@ class Manager extends PublicEmitter implements IGroupManager {
* @return array with group ids
*/
public function getUserGroupIds($user) {
- return array_keys($this->getUserGroups($user));
+ return array_map(function($value) {
+ return (string) $value;
+ }, array_keys($this->getUserGroups($user)));
}
/**
diff --git a/tests/lib/group/manager.php b/tests/lib/group/manager.php
index e3e2a96e46d..6cf473b9156 100644
--- a/tests/lib/group/manager.php
+++ b/tests/lib/group/manager.php
@@ -304,6 +304,32 @@ class Manager extends \Test\TestCase {
$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