diff --git a/apps/user_ldap/tests/group_ldap.php b/apps/user_ldap/tests/group_ldap.php index c4aed25a1c..d1262e4f5b 100644 --- a/apps/user_ldap/tests/group_ldap.php +++ b/apps/user_ldap/tests/group_ldap.php @@ -59,10 +59,7 @@ class Test_Group_Ldap extends \PHPUnit_Framework_TestCase { private function enableGroups($access) { $access->connection->expects($this->any()) ->method('__get') - ->will($this->returnCallback(function($name) { -// if($name === 'ldapLoginFilter') { -// return '%uid'; -// } + ->will($this->returnCallback(function() { return 1; })); } @@ -269,4 +266,32 @@ class Test_Group_Ldap extends \PHPUnit_Framework_TestCase { $this->assertSame(false, $gid); } + /** + * tests whether Group Backend behaves correctly when cache with uid and gid + * is hit + */ + public function testInGroupHitsUidGidCache() { + $access = $this->getAccessMock(); + $this->enableGroups($access); + + $uid = 'someUser'; + $gid = 'someGroup'; + $cacheKey = 'inGroup'.$uid.':'.$gid; + $access->connection->expects($this->once()) + ->method('isCached') + ->with($cacheKey) + ->will($this->returnValue(true)); + + $access->connection->expects($this->once()) + ->method('getFromCache') + ->with($cacheKey) + ->will($this->returnValue(true)); + + $access->expects($this->never()) + ->method('username2dn'); + + $groupBackend = new GroupLDAP($access); + $groupBackend->inGroup($uid, $gid); + } + }