summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/user_ldap/lib/access.php3
-rw-r--r--apps/user_ldap/lib/user/user.php6
-rw-r--r--apps/user_ldap/tests/access.php16
-rw-r--r--apps/user_ldap/tests/user/user.php39
4 files changed, 57 insertions, 7 deletions
diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php
index 32472c13b03..dd8ffe14bca 100644
--- a/apps/user_ldap/lib/access.php
+++ b/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);
diff --git a/apps/user_ldap/lib/user/user.php b/apps/user_ldap/lib/user/user.php
index c77f7254c94..0dc3c8c0c26 100644
--- a/apps/user_ldap/lib/user/user.php
+++ b/apps/user_ldap/lib/user/user.php
@@ -417,9 +417,9 @@ class User {
}
//can be null
$quotaDefault = $this->connection->ldapQuotaDefault;
- $quota = !is_null($valueFromLDAP)
- ? $valueFromLDAP
- : $quotaDefault !== '' ? $quotaDefault : null;
+ $quota = $quotaDefault !== '' ? $quotaDefault : null;
+ $quota = !is_null($valueFromLDAP) ? $valueFromLDAP : $quota;
+
if(is_null($valueFromLDAP)) {
$quotaAttribute = $this->connection->ldapQuotaAttribute;
if(!empty($quotaAttribute)) {
diff --git a/apps/user_ldap/tests/access.php b/apps/user_ldap/tests/access.php
index cb6dbf0cd5d..25e871d9b3d 100644
--- a/apps/user_ldap/tests/access.php
+++ b/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'
)
);
diff --git a/apps/user_ldap/tests/user/user.php b/apps/user_ldap/tests/user/user.php
index 1c41eb71ec2..19581d835d1 100644
--- a/apps/user_ldap/tests/user/user.php
+++ b/apps/user_ldap/tests/user/user.php
@@ -370,6 +370,45 @@ class Test_User_User extends \Test\TestCase {
$user->updateQuota();
}
+ public function testUpdateQuotaFromValue() {
+ list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =
+ $this->getTestInstances();
+
+ list($access, $connection) =
+ $this->getAdvancedMocks($config, $filesys, $log, $avaMgr, $dbc);
+
+ $readQuota = '19 GB';
+
+ $connection->expects($this->at(0))
+ ->method('__get')
+ ->with($this->equalTo('ldapQuotaDefault'))
+ ->will($this->returnValue(''));
+
+ $connection->expects($this->once(1))
+ ->method('__get')
+ ->with($this->equalTo('ldapQuotaDefault'))
+ ->will($this->returnValue(null));
+
+ $access->expects($this->never())
+ ->method('readAttribute');
+
+ $config->expects($this->once())
+ ->method('setUserValue')
+ ->with($this->equalTo('alice'),
+ $this->equalTo('files'),
+ $this->equalTo('quota'),
+ $this->equalTo($readQuota))
+ ->will($this->returnValue(true));
+
+ $uid = 'alice';
+ $dn = 'uid=alice,dc=foo,dc=bar';
+
+ $user = new User(
+ $uid, $dn, $access, $config, $filesys, $image, $log, $avaMgr);
+
+ $user->updateQuota($readQuota);
+ }
+
//the testUpdateAvatar series also implicitely tests getAvatarImage
public function testUpdateAvatarJpegPhotoProvided() {
list($access, $config, $filesys, $image, $log, $avaMgr, $dbc) =