diff --git a/apps/user_ldap/tests/user_ldap.php b/apps/user_ldap/tests/user_ldap.php index 53229e2d64a42d5bf7c63e0d060e71f0243c8709..2f15a5acc6d7cd6d5544857630d1184655fb4c1d 100644 --- a/apps/user_ldap/tests/user_ldap.php +++ b/apps/user_ldap/tests/user_ldap.php @@ -259,12 +259,15 @@ class Test_User_Ldap_Direct extends \Test\TestCase { $config = $this->getMock('\OCP\IConfig'); $config->expects($this->exactly(2)) ->method('getUserValue') - ->will($this->returnValue(1)); + ->will($this->onConsecutiveCalls('1', '/var/vhome/jdings/')); $backend = new UserLDAP($access, $config); $result = $backend->deleteUser('jeremy'); $this->assertTrue($result); + + $home = $backend->getHome('jeremy'); + $this->assertSame($home, '/var/vhome/jdings/'); } /** diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php index cc5d5f5226f398dd36b8cd0d9ea2b41580eead7e..014d60c73169f124b410faffefa9d9d70ae1447d 100644 --- a/apps/user_ldap/user_ldap.php +++ b/apps/user_ldap/user_ldap.php @@ -198,6 +198,7 @@ class USER_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn } //getting dn, if false the user does not exist. If dn, he may be mapped only, requires more checking. $user = $this->access->userManager->get($uid); + if(is_null($user)) { \OCP\Util::writeLog('user_ldap', 'No DN found for '.$uid.' on '. $this->access->connection->ldapHost, \OCP\Util::DEBUG); @@ -249,16 +250,16 @@ class USER_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn * @return string|bool */ public function getHome($uid) { - // user Exists check required as it is not done in user proxy! - if(!$this->userExists($uid)) { - return false; - } - if(isset($this->homesToKill[$uid]) && !empty($this->homesToKill[$uid])) { //a deleted user who needs some clean up return $this->homesToKill[$uid]; } + // user Exists check required as it is not done in user proxy! + if(!$this->userExists($uid)) { + return false; + } + $cacheKey = 'getHome'.$uid; if($this->access->connection->isCached($cacheKey)) { return $this->access->connection->getFromCache($cacheKey);