Merge pull request #20348 from owncloud/issue-20303-integer-group-names

Make sure that group names are strings not integers
This commit is contained in:
Thomas Müller 2015-11-06 11:48:40 +01:00
commit cc4f4f222d
2 changed files with 29 additions and 1 deletions

View File

@ -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)));
}
/**

View File

@ -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