diff --git a/apps/user_ldap/lib/User/User.php b/apps/user_ldap/lib/User/User.php index cdffaf9744..bf07218d63 100644 --- a/apps/user_ldap/lib/User/User.php +++ b/apps/user_ldap/lib/User/User.php @@ -611,7 +611,7 @@ class User { $uid = $params['uid']; if(isset($uid) && $uid === $this->getUsername()) { //retrieve relevant user attributes - $result = $this->access->search('objectclass=*', $this->dn, ['sn', 'pwdpolicysubentry', 'pwdgraceusetime', 'pwdreset', 'pwdchangedtime']); + $result = $this->access->search('objectclass=*', $this->dn, ['pwdpolicysubentry', 'pwdgraceusetime', 'pwdreset', 'pwdchangedtime']); if(array_key_exists('pwdpolicysubentry', $result[0])) { $pwdPolicySubentry = $result[0]['pwdpolicysubentry']; @@ -628,7 +628,7 @@ class User { $cacheKey = 'ppolicyAttributes' . $ppolicyDN; $result = $this->connection->getFromCache($cacheKey); if(is_null($result)) { - $result = $this->access->search('objectclass=*', $ppolicyDN, ['cn','pwdgraceauthnlimit', 'pwdmaxage', 'pwdexpirewarning']); + $result = $this->access->search('objectclass=*', $ppolicyDN, ['pwdgraceauthnlimit', 'pwdmaxage', 'pwdexpirewarning']); $this->connection->writeToCache($cacheKey, $result); } diff --git a/apps/user_ldap/tests/User/UserTest.php b/apps/user_ldap/tests/User/UserTest.php index cf42aad057..0437051b13 100644 --- a/apps/user_ldap/tests/User/UserTest.php +++ b/apps/user_ldap/tests/User/UserTest.php @@ -1263,16 +1263,22 @@ class UserTest extends \Test\TestCase { })); $access->expects($this->any()) - ->method('readAttribute') - ->will($this->returnCallback(function($dn, $attr) { - if($attr === 'pwdchangedtime') { - return array((new \DateTime())->sub(new \DateInterval('P28D'))->format('Ymdhis').'Z'); + ->method('search') + ->will($this->returnCallback(function($filter, $base) { + if($base === 'uid=alice') { + return array( + array( + 'pwdchangedtime' => array((new \DateTime())->sub(new \DateInterval('P28D'))->format('Ymdhis').'Z'), + ), + ); } - if($dn === 'cn=default,ou=policies,dc=foo,dc=bar' && $attr === 'pwdmaxage') { - return array('2592000'); - } - if($dn === 'cn=default,ou=policies,dc=foo,dc=bar' && $attr === 'pwdexpirewarning') { - return array('2591999'); + if($base === 'cn=default,ou=policies,dc=foo,dc=bar') { + return array( + array( + 'pwdmaxage' => array('2592000'), + 'pwdexpirewarning' => array('2591999'), + ), + ); } return array(); })); @@ -1329,19 +1335,23 @@ class UserTest extends \Test\TestCase { })); $access->expects($this->any()) - ->method('readAttribute') - ->will($this->returnCallback(function($dn, $attr) { - if($attr === 'pwdpolicysubentry') { - return array('cn=custom,ou=policies,dc=foo,dc=bar'); + ->method('search') + ->will($this->returnCallback(function($filter, $base) { + if($base === 'uid=alice') { + return array( + array( + 'pwdpolicysubentry' => array('cn=custom,ou=policies,dc=foo,dc=bar'), + 'pwdchangedtime' => array((new \DateTime())->sub(new \DateInterval('P28D'))->format('Ymdhis').'Z'), + ) + ); } - if($attr === 'pwdchangedtime') { - return array((new \DateTime())->sub(new \DateInterval('P28D'))->format('Ymdhis').'Z'); - } - if($dn === 'cn=custom,ou=policies,dc=foo,dc=bar' && $attr === 'pwdmaxage') { - return array('2592000'); - } - if($dn === 'cn=custom,ou=policies,dc=foo,dc=bar' && $attr === 'pwdexpirewarning') { - return array('2591999'); + if($base === 'cn=custom,ou=policies,dc=foo,dc=bar') { + return array( + array( + 'pwdmaxage' => array('2592000'), + 'pwdexpirewarning' => array('2591999'), + ) + ); } return array(); })); diff --git a/tests/bootstrap.php b/tests/bootstrap.php index c58d9f5852..44c42d353e 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -19,3 +19,5 @@ if (!class_exists('PHPUnit_Framework_TestCase')) { } OC_Hook::clear(); + +set_include_path(get_include_path() . PATH_SEPARATOR . '/usr/share/php');