Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2015-07-17 19:57:56 +0300
committerArthur Schiwon <blizzz@owncloud.com>2015-07-21 00:01:32 +0300
commitd64a6115f00de8b450cb494762fa31c851dde280 (patch)
treeab3c3c7f9ea569a09911514536452e744b89ef21 /apps
parent2b0de142ab773af1f0c72a851cb66a9011830fb4 (diff)
Backport of #17723 to stable8
fix runtime caching in ldap's user manager, fixes #17631 fix indentation. no code changes, whitespace only.
Diffstat (limited to 'apps')
-rw-r--r--apps/user_ldap/lib/user/manager.php4
-rw-r--r--apps/user_ldap/tests/user/manager.php254
2 files changed, 133 insertions, 125 deletions
diff --git a/apps/user_ldap/lib/user/manager.php b/apps/user_ldap/lib/user/manager.php
index 79b95818276..2cfa165bd50 100644
--- a/apps/user_ldap/lib/user/manager.php
+++ b/apps/user_ldap/lib/user/manager.php
@@ -110,8 +110,8 @@ class Manager {
$user = new User($uid, $dn, $this->access, $this->ocConfig,
$this->ocFilesystem, clone $this->image, $this->ocLog,
$this->avatarManager);
- $users['byDN'][$dn] = $user;
- $users['byUid'][$uid] = $user;
+ $this->users['byDN'][$dn] = $user;
+ $this->users['byUid'][$uid] = $user;
return $user;
}
diff --git a/apps/user_ldap/tests/user/manager.php b/apps/user_ldap/tests/user/manager.php
index 4ce504365b8..47904f21ec3 100644
--- a/apps/user_ldap/tests/user/manager.php
+++ b/apps/user_ldap/tests/user/manager.php
@@ -26,174 +26,182 @@ use OCA\user_ldap\lib\user\Manager;
class Test_User_Manager extends \Test\TestCase {
- private function getTestInstances() {
- $access = $this->getMock('\OCA\user_ldap\lib\user\IUserTools');
- $config = $this->getMock('\OCP\IConfig');
- $filesys = $this->getMock('\OCA\user_ldap\lib\FilesystemHelper');
- $log = $this->getMock('\OCA\user_ldap\lib\LogWrapper');
- $avaMgr = $this->getMock('\OCP\IAvatarManager');
- $image = $this->getMock('\OCP\Image');
- $dbc = $this->getMock('\OCP\IDBConnection');
+ private function getTestInstances() {
+ $access = $this->getMock('\OCA\user_ldap\lib\user\IUserTools');
+ $config = $this->getMock('\OCP\IConfig');
+ $filesys = $this->getMock('\OCA\user_ldap\lib\FilesystemHelper');
+ $log = $this->getMock('\OCA\user_ldap\lib\LogWrapper');
+ $avaMgr = $this->getMock('\OCP\IAvatarManager');
+ $image = $this->getMock('\OCP\Image');
+ $dbc = $this->getMock('\OCP\IDBConnection');
- return array($access, $config, $filesys, $image, $log, $avaMgr, $dbc);
- }
+ return array($access, $config, $filesys, $image, $log, $avaMgr, $dbc);
+ }
- public function testGetByDNExisting() {
- list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
- $this->getTestInstances();
+ public function testGetByDNExisting() {
+ list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
+ $this->getTestInstances();
- $inputDN = 'cn=foo,dc=foobar,dc=bar';
- $uid = '563418fc-423b-1033-8d1c-ad5f418ee02e';
+ $inputDN = 'cn=foo,dc=foobar,dc=bar';
+ $uid = '563418fc-423b-1033-8d1c-ad5f418ee02e';
$access->expects($this->once())
- ->method('stringResemblesDN')
- ->with($this->equalTo($inputDN))
- ->will($this->returnValue(true));
+ ->method('stringResemblesDN')
+ ->with($this->equalTo($inputDN))
+ ->will($this->returnValue(true));
- $access->expects($this->once())
- ->method('dn2username')
- ->with($this->equalTo($inputDN))
- ->will($this->returnValue($uid));
+ $access->expects($this->once())
+ ->method('dn2username')
+ ->with($this->equalTo($inputDN))
+ ->will($this->returnValue($uid));
+
+ $access->expects($this->never())
+ ->method('username2dn');
- $access->expects($this->never())
- ->method('username2dn');
+ $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
+ $manager->setLdapAccess($access);
+ $user = $manager->get($inputDN);
- $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
- $manager->setLdapAccess($access);
- $user = $manager->get($inputDN);
+ // Now we fetch the user again. If this leads to a failing test,
+ // runtime caching the manager is broken.
+ $user = $manager->get($inputDN);
- $this->assertInstanceOf('\OCA\user_ldap\lib\user\User', $user);
- }
+ $this->assertInstanceOf('\OCA\user_ldap\lib\user\User', $user);
+ }
- public function testGetByEDirectoryDN() {
- list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
- $this->getTestInstances();
+ public function testGetByEDirectoryDN() {
+ list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
+ $this->getTestInstances();
- $inputDN = 'uid=foo,o=foobar,c=bar';
- $uid = '563418fc-423b-1033-8d1c-ad5f418ee02e';
+ $inputDN = 'uid=foo,o=foobar,c=bar';
+ $uid = '563418fc-423b-1033-8d1c-ad5f418ee02e';
$access->expects($this->once())
- ->method('stringResemblesDN')
- ->with($this->equalTo($inputDN))
- ->will($this->returnValue(true));
+ ->method('stringResemblesDN')
+ ->with($this->equalTo($inputDN))
+ ->will($this->returnValue(true));
- $access->expects($this->once())
- ->method('dn2username')
- ->with($this->equalTo($inputDN))
- ->will($this->returnValue($uid));
+ $access->expects($this->once())
+ ->method('dn2username')
+ ->with($this->equalTo($inputDN))
+ ->will($this->returnValue($uid));
- $access->expects($this->never())
- ->method('username2dn');
+ $access->expects($this->never())
+ ->method('username2dn');
- $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
- $manager->setLdapAccess($access);
- $user = $manager->get($inputDN);
+ $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
+ $manager->setLdapAccess($access);
+ $user = $manager->get($inputDN);
- $this->assertInstanceOf('\OCA\user_ldap\lib\user\User', $user);
- }
+ $this->assertInstanceOf('\OCA\user_ldap\lib\user\User', $user);
+ }
- public function testGetByExoticDN() {
- list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
- $this->getTestInstances();
+ public function testGetByExoticDN() {
+ list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
+ $this->getTestInstances();
- $inputDN = 'ab=cde,f=ghei,mno=pq';
- $uid = '563418fc-423b-1033-8d1c-ad5f418ee02e';
+ $inputDN = 'ab=cde,f=ghei,mno=pq';
+ $uid = '563418fc-423b-1033-8d1c-ad5f418ee02e';
$access->expects($this->once())
- ->method('stringResemblesDN')
- ->with($this->equalTo($inputDN))
- ->will($this->returnValue(true));
+ ->method('stringResemblesDN')
+ ->with($this->equalTo($inputDN))
+ ->will($this->returnValue(true));
- $access->expects($this->once())
- ->method('dn2username')
- ->with($this->equalTo($inputDN))
- ->will($this->returnValue($uid));
+ $access->expects($this->once())
+ ->method('dn2username')
+ ->with($this->equalTo($inputDN))
+ ->will($this->returnValue($uid));
- $access->expects($this->never())
- ->method('username2dn');
+ $access->expects($this->never())
+ ->method('username2dn');
- $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
- $manager->setLdapAccess($access);
- $user = $manager->get($inputDN);
+ $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
+ $manager->setLdapAccess($access);
+ $user = $manager->get($inputDN);
- $this->assertInstanceOf('\OCA\user_ldap\lib\user\User', $user);
- }
+ $this->assertInstanceOf('\OCA\user_ldap\lib\user\User', $user);
+ }
- public function testGetByDNNotExisting() {
- list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
- $this->getTestInstances();
+ public function testGetByDNNotExisting() {
+ list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
+ $this->getTestInstances();
- $inputDN = 'cn=gone,dc=foobar,dc=bar';
+ $inputDN = 'cn=gone,dc=foobar,dc=bar';
$access->expects($this->once())
- ->method('stringResemblesDN')
- ->with($this->equalTo($inputDN))
- ->will($this->returnValue(true));
+ ->method('stringResemblesDN')
+ ->with($this->equalTo($inputDN))
+ ->will($this->returnValue(true));
- $access->expects($this->once())
- ->method('dn2username')
- ->with($this->equalTo($inputDN))
- ->will($this->returnValue(false));
+ $access->expects($this->once())
+ ->method('dn2username')
+ ->with($this->equalTo($inputDN))
+ ->will($this->returnValue(false));
- $access->expects($this->once())
- ->method('username2dn')
- ->with($this->equalTo($inputDN))
- ->will($this->returnValue(false));
+ $access->expects($this->once())
+ ->method('username2dn')
+ ->with($this->equalTo($inputDN))
+ ->will($this->returnValue(false));
+
+ $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
+ $manager->setLdapAccess($access);
+ $user = $manager->get($inputDN);
- $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
- $manager->setLdapAccess($access);
- $user = $manager->get($inputDN);
+ $this->assertNull($user);
+ }
- $this->assertNull($user);
- }
+ public function testGetByUidExisting() {
+ list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
+ $this->getTestInstances();
- public function testGetByUidExisting() {
- list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
- $this->getTestInstances();
+ $dn = 'cn=foo,dc=foobar,dc=bar';
+ $uid = '563418fc-423b-1033-8d1c-ad5f418ee02e';
- $dn = 'cn=foo,dc=foobar,dc=bar';
- $uid = '563418fc-423b-1033-8d1c-ad5f418ee02e';
+ $access->expects($this->never())
+ ->method('dn2username');
- $access->expects($this->never())
- ->method('dn2username');
+ $access->expects($this->once())
+ ->method('username2dn')
+ ->with($this->equalTo($uid))
+ ->will($this->returnValue($dn));
- $access->expects($this->once())
- ->method('username2dn')
- ->with($this->equalTo($uid))
- ->will($this->returnValue($dn));
+ $access->expects($this->once())
+ ->method('stringResemblesDN')
+ ->with($this->equalTo($uid))
+ ->will($this->returnValue(false));
- $access->expects($this->once())
- ->method('stringResemblesDN')
- ->with($this->equalTo($uid))
- ->will($this->returnValue(false));
+ $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
+ $manager->setLdapAccess($access);
+ $user = $manager->get($uid);
- $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
- $manager->setLdapAccess($access);
- $user = $manager->get($uid);
+ // Now we fetch the user again. If this leads to a failing test,
+ // runtime caching the manager is broken.
+ $user = $manager->get($uid);
- $this->assertInstanceOf('\OCA\user_ldap\lib\user\User', $user);
- }
+ $this->assertInstanceOf('\OCA\user_ldap\lib\user\User', $user);
+ }
- public function testGetByUidNotExisting() {
- list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
- $this->getTestInstances();
+ public function testGetByUidNotExisting() {
+ list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
+ $this->getTestInstances();
- $dn = 'cn=foo,dc=foobar,dc=bar';
- $uid = 'gone';
+ $dn = 'cn=foo,dc=foobar,dc=bar';
+ $uid = 'gone';
- $access->expects($this->never())
- ->method('dn2username');
+ $access->expects($this->never())
+ ->method('dn2username');
- $access->expects($this->exactly(1))
- ->method('username2dn')
- ->with($this->equalTo($uid))
- ->will($this->returnValue(false));
+ $access->expects($this->exactly(1))
+ ->method('username2dn')
+ ->with($this->equalTo($uid))
+ ->will($this->returnValue(false));
- $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
- $manager->setLdapAccess($access);
- $user = $manager->get($uid);
+ $manager = new Manager($config, $filesys, $log, $avaMgr, $image, $dbc);
+ $manager->setLdapAccess($access);
+ $user = $manager->get($uid);
- $this->assertNull($user);
- }
+ $this->assertNull($user);
+ }
}