diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/user_ldap/lib/User/User.php | 4 | ||||
-rw-r--r-- | apps/user_ldap/tests/User/UserTest.php | 52 |
2 files changed, 33 insertions, 23 deletions
diff --git a/apps/user_ldap/lib/User/User.php b/apps/user_ldap/lib/User/User.php index cdffaf97446..bf07218d631 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 cf42aad057f..0437051b134 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'); - } - if($dn === 'cn=default,ou=policies,dc=foo,dc=bar' && $attr === 'pwdmaxage') { - return array('2592000'); + ->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 === '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'); - } - 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'); + ->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($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(); })); |