From 4f910221c4f538fba44c0cafd6ad6c342ccc7f28 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon <blizzz@owncloud.com> Date: Fri, 17 Jul 2015 18:57:56 +0200 Subject: [PATCH] fix runtime caching in ldap's user manager, fixes #17631 --- apps/user_ldap/lib/user/manager.php | 4 ++-- apps/user_ldap/tests/user/manager.php | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/user_ldap/lib/user/manager.php b/apps/user_ldap/lib/user/manager.php index 2f5ee3adfb..b70e057741 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 e86db6b9f8..f7e4a1a5e8 100644 --- a/apps/user_ldap/tests/user/manager.php +++ b/apps/user_ldap/tests/user/manager.php @@ -64,6 +64,10 @@ class Test_User_Manager extends \Test\TestCase { $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); } @@ -173,6 +177,10 @@ class Test_User_Manager extends \Test\TestCase { $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); } -- GitLab