浏览代码

fix attribute casing to ensure array keys work

tags/v9.0beta1
Arthur Schiwon 8 年前
父节点
当前提交
f96e552164
共有 2 个文件被更改,包括 15 次插入4 次删除
  1. 2
    1
      apps/user_ldap/lib/access.php
  2. 13
    3
      apps/user_ldap/tests/access.php

+ 2
- 1
apps/user_ldap/lib/access.php 查看文件

@@ -691,8 +691,9 @@ class Access extends LDAPUtility implements user\IUserTools {
* @param array $ldapRecords
*/
public function batchApplyUserAttributes(array $ldapRecords){
$displayNameAttribute = strtolower($this->connection->ldapUserDisplayName);
foreach($ldapRecords as $userRecord) {
$ocName = $this->dn2ocname($userRecord['dn'][0], $userRecord[$this->connection->ldapUserDisplayName]);
$ocName = $this->dn2ocname($userRecord['dn'][0], $userRecord[$displayNameAttribute]);
$this->cacheUserExists($ocName);
$user = $this->userManager->get($ocName);
$user->processAttributes($userRecord);

+ 13
- 3
apps/user_ldap/tests/access.php 查看文件

@@ -230,24 +230,34 @@ class Test_Access extends \Test\TestCase {
$mapperMock = $this->getMockBuilder('\OCA\User_LDAP\Mapping\UserMapping')
->disableOriginalConstructor()
->getMock();

$mapperMock->expects($this->any())
->method('getNameByDN')
->will($this->returnValue('a_username'));

$userMock = $this->getMockBuilder('\OCA\user_ldap\lib\user\User')
->disableOriginalConstructor()
->getMock();

$access->connection->expects($this->any())
->method('__get')
->will($this->returnValue('displayName'));

$access->setUserMapper($mapperMock);

$displayNameAttribute = strtolower($access->connection->ldapUserDisplayName);
$data = array(
array(
'dn' => 'foobar',
$con->ldapUserDisplayName => 'barfoo'
$displayNameAttribute => 'barfoo'
),
array(
'dn' => 'foo',
$con->ldapUserDisplayName => 'bar'
$displayNameAttribute => 'bar'
),
array(
'dn' => 'raboof',
$con->ldapUserDisplayName => 'oofrab'
$displayNameAttribute => 'oofrab'
)
);


正在加载...
取消
保存