|
|
|
|
@ -37,6 +37,7 @@ use OCA\User_LDAP\Access; |
|
|
|
|
use OCA\User_LDAP\Connection; |
|
|
|
|
use OCA\User_LDAP\Mapping\AbstractMapping; |
|
|
|
|
use OCA\User_LDAP\Mapping\UserMapping; |
|
|
|
|
use OCA\User_LDAP\User\DeletedUsersIndex; |
|
|
|
|
use OCA\User_LDAP\User\Manager; |
|
|
|
|
use OCA\User_LDAP\User\OfflineUser; |
|
|
|
|
use OCA\User_LDAP\User\User; |
|
|
|
|
@ -48,6 +49,8 @@ use OCP\IConfig; |
|
|
|
|
use OCP\IUser; |
|
|
|
|
use OCP\Notification\IManager as INotificationManager; |
|
|
|
|
use Test\TestCase; |
|
|
|
|
use PHPUnit\Framework\MockObject\MockObject; |
|
|
|
|
use Psr\Log\LoggerInterface; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Class Test_User_Ldap_Direct |
|
|
|
|
@ -59,22 +62,26 @@ use Test\TestCase; |
|
|
|
|
class User_LDAPTest extends TestCase { |
|
|
|
|
/** @var User_LDAP */ |
|
|
|
|
protected $backend; |
|
|
|
|
/** @var Access|\PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
|
/** @var Access|MockObject */ |
|
|
|
|
protected $access; |
|
|
|
|
/** @var OfflineUser|\PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
|
/** @var OfflineUser|MockObject */ |
|
|
|
|
protected $offlineUser; |
|
|
|
|
/** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
|
/** @var IConfig|MockObject */ |
|
|
|
|
protected $config; |
|
|
|
|
/** @var INotificationManager|\PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
|
/** @var INotificationManager|MockObject */ |
|
|
|
|
protected $notificationManager; |
|
|
|
|
/** @var Session|\PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
|
/** @var Session|MockObject */ |
|
|
|
|
protected $session; |
|
|
|
|
/** @var UserPluginManager|\PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
|
/** @var UserPluginManager|MockObject */ |
|
|
|
|
protected $pluginManager; |
|
|
|
|
/** @var Connection|\PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
|
/** @var Connection|MockObject */ |
|
|
|
|
protected $connection; |
|
|
|
|
/** @var Manager|\PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
|
/** @var Manager|MockObject */ |
|
|
|
|
protected $userManager; |
|
|
|
|
/** @var LoggerInterface|MockObject */ |
|
|
|
|
protected $logger; |
|
|
|
|
/** @var DeletedUsersIndex|MockObject */ |
|
|
|
|
protected $deletedUsersIndex; |
|
|
|
|
|
|
|
|
|
protected function setUp(): void { |
|
|
|
|
parent::setUp(); |
|
|
|
|
@ -95,12 +102,18 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
$this->session = $this->createMock(Session::class); |
|
|
|
|
$this->pluginManager = $this->createMock(UserPluginManager::class); |
|
|
|
|
|
|
|
|
|
$this->logger = $this->createMock(LoggerInterface::class); |
|
|
|
|
|
|
|
|
|
$this->deletedUsersIndex = $this->createMock(DeletedUsersIndex::class); |
|
|
|
|
|
|
|
|
|
$this->backend = new User_LDAP( |
|
|
|
|
$this->access, |
|
|
|
|
$this->config, |
|
|
|
|
$this->notificationManager, |
|
|
|
|
$this->session, |
|
|
|
|
$this->pluginManager |
|
|
|
|
$this->pluginManager, |
|
|
|
|
$this->logger, |
|
|
|
|
$this->deletedUsersIndex, |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -109,21 +122,21 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('username2dn') |
|
|
|
|
->willReturnCallback(function ($uid) { |
|
|
|
|
switch ($uid) { |
|
|
|
|
case 'gunslinger': |
|
|
|
|
return 'dnOfRoland,dc=test'; |
|
|
|
|
break; |
|
|
|
|
case 'formerUser': |
|
|
|
|
return 'dnOfFormerUser,dc=test'; |
|
|
|
|
break; |
|
|
|
|
case 'newyorker': |
|
|
|
|
return 'dnOfNewYorker,dc=test'; |
|
|
|
|
break; |
|
|
|
|
case 'ladyofshadows': |
|
|
|
|
return 'dnOfLadyOfShadows,dc=test'; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
case 'gunslinger': |
|
|
|
|
return 'dnOfRoland,dc=test'; |
|
|
|
|
break; |
|
|
|
|
case 'formerUser': |
|
|
|
|
return 'dnOfFormerUser,dc=test'; |
|
|
|
|
break; |
|
|
|
|
case 'newyorker': |
|
|
|
|
return 'dnOfNewYorker,dc=test'; |
|
|
|
|
break; |
|
|
|
|
case 'ladyofshadows': |
|
|
|
|
return 'dnOfLadyOfShadows,dc=test'; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
$this->access->method('fetchUsersByLoginName') |
|
|
|
|
@ -199,7 +212,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('get') |
|
|
|
|
->willReturn($user); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
@ -209,7 +222,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testCheckPasswordWrongPassword() { |
|
|
|
|
$this->prepareAccessForCheckPassword(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$result = $backend->checkPassword('roland', 'wrong'); |
|
|
|
|
@ -218,7 +231,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testCheckPasswordWrongUser() { |
|
|
|
|
$this->prepareAccessForCheckPassword(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$result = $backend->checkPassword('mallory', 'evil'); |
|
|
|
|
@ -233,7 +246,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('get') |
|
|
|
|
->willReturn(null); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$result = $backend->checkPassword('roland', 'dt19'); |
|
|
|
|
@ -251,7 +264,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('get') |
|
|
|
|
->willReturn($user); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$user = \OC::$server->getUserManager()->checkPassword('roland', 'dt19'); |
|
|
|
|
@ -264,7 +277,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testCheckPasswordPublicAPIWrongPassword() { |
|
|
|
|
$this->prepareAccessForCheckPassword(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$user = \OC::$server->getUserManager()->checkPassword('roland', 'wrong'); |
|
|
|
|
@ -277,7 +290,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testCheckPasswordPublicAPIWrongUser() { |
|
|
|
|
$this->prepareAccessForCheckPassword(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$user = \OC::$server->getUserManager()->checkPassword('mallory', 'evil'); |
|
|
|
|
@ -289,7 +302,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testDeleteUserCancel() { |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$result = $backend->deleteUser('notme'); |
|
|
|
|
$this->assertFalse($result); |
|
|
|
|
} |
|
|
|
|
@ -309,10 +322,10 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('getConnectionResource') |
|
|
|
|
->willReturn('this is an ldap link'); |
|
|
|
|
|
|
|
|
|
$this->config->expects($this->any()) |
|
|
|
|
->method('getUserValue') |
|
|
|
|
->with($uid, 'user_ldap', 'isDeleted') |
|
|
|
|
->willReturn('1'); |
|
|
|
|
$this->deletedUsersIndex->expects($this->once()) |
|
|
|
|
->method('isUserMarked') |
|
|
|
|
->with($uid) |
|
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
|
|
$offlineUser = $this->createMock(OfflineUser::class); |
|
|
|
|
$offlineUser->expects($this->once()) |
|
|
|
|
@ -322,7 +335,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('get') |
|
|
|
|
->willReturn($offlineUser); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
$result = $backend->deleteUser($uid); |
|
|
|
|
$this->assertTrue($result); |
|
|
|
|
@ -339,10 +352,10 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->with('uid') |
|
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
|
|
$this->config->expects($this->once()) |
|
|
|
|
->method('getUserValue') |
|
|
|
|
->with('uid', 'user_ldap', 'isDeleted', 0) |
|
|
|
|
->willReturn(1); |
|
|
|
|
$this->deletedUsersIndex->expects($this->once()) |
|
|
|
|
->method('isUserMarked') |
|
|
|
|
->with('uid') |
|
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
|
|
$mapper = $this->createMock(UserMapping::class); |
|
|
|
|
$mapper->expects($this->once()) |
|
|
|
|
@ -388,7 +401,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} else { |
|
|
|
|
$result = []; |
|
|
|
|
foreach ($users as $user) { |
|
|
|
|
if (stripos($user, $search) !== false) { |
|
|
|
|
if (stripos($user, $search) !== false) { |
|
|
|
|
$result[] = $user; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -411,7 +424,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersNoParam() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
$result = $backend->getUsers(); |
|
|
|
|
$this->assertEquals(3, count($result)); |
|
|
|
|
@ -419,7 +432,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersLimitOffset() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
$result = $backend->getUsers('', 1, 2); |
|
|
|
|
$this->assertEquals(1, count($result)); |
|
|
|
|
@ -427,7 +440,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersLimitOffset2() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
$result = $backend->getUsers('', 2, 1); |
|
|
|
|
$this->assertEquals(2, count($result)); |
|
|
|
|
@ -435,7 +448,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersSearchWithResult() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
$result = $backend->getUsers('yo'); |
|
|
|
|
$this->assertEquals(2, count($result)); |
|
|
|
|
@ -443,7 +456,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersSearchEmptyResult() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
$result = $backend->getUsers('nix'); |
|
|
|
|
$this->assertEquals(0, count($result)); |
|
|
|
|
@ -459,7 +472,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersViaAPINoParam() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$result = $this->getUsers(); |
|
|
|
|
@ -468,7 +481,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersViaAPILimitOffset() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$result = $this->getUsers('', 1, 2); |
|
|
|
|
@ -477,7 +490,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersViaAPILimitOffset2() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$result = $this->getUsers('', 2, 1); |
|
|
|
|
@ -486,7 +499,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersViaAPISearchWithResult() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$result = $this->getUsers('yo'); |
|
|
|
|
@ -495,7 +508,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetUsersViaAPISearchEmptyResult() { |
|
|
|
|
$this->prepareAccessForGetUsers(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$result = $this->getUsers('nix'); |
|
|
|
|
@ -503,7 +516,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testUserExists() { |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
|
|
|
|
|
$user = $this->createMock(User::class); |
|
|
|
|
@ -522,7 +535,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testUserExistsForDeleted() { |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
|
|
|
|
|
$mapper = $this->createMock(UserMapping::class); |
|
|
|
|
@ -546,7 +559,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testUserExistsForNeverExisting() { |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
|
|
|
|
|
$this->access->expects($this->any()) |
|
|
|
|
@ -565,7 +578,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testUserExistsPublicAPI() { |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
@ -595,7 +608,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testDeleteUserExisting() { |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
//we do not support deleting existing users at all |
|
|
|
|
$result = $backend->deleteUser('gunslinger'); |
|
|
|
|
@ -603,7 +616,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testGetHomeAbsolutePath() { |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
|
|
|
|
|
$this->connection->expects($this->any()) |
|
|
|
|
@ -652,7 +665,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testGetHomeRelative() { |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
|
|
|
|
|
$dataDir = \OC::$server->getConfig()->getSystemValue( |
|
|
|
|
@ -706,7 +719,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
public function testGetHomeNoPath() { |
|
|
|
|
$this->expectException(\Exception::class); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
|
|
|
|
|
$this->connection->expects($this->any()) |
|
|
|
|
@ -754,7 +767,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
public function testGetHomeDeletedUser() { |
|
|
|
|
$uid = 'newyorker'; |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
|
|
|
|
|
$this->connection->expects($this->any()) |
|
|
|
|
@ -810,7 +823,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
/** @noinspection PhpUnhandledExceptionInspection */ |
|
|
|
|
$this->assertEquals($this->backend->getHome('uid'),'result'); |
|
|
|
|
$this->assertEquals($this->backend->getHome('uid'), 'result'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private function prepareAccessForGetDisplayName() { |
|
|
|
|
@ -829,16 +842,16 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('readAttribute') |
|
|
|
|
->willReturnCallback(function ($dn, $attr) { |
|
|
|
|
switch ($dn) { |
|
|
|
|
case 'dnOfRoland,dc=test': |
|
|
|
|
if ($attr === 'displayname') { |
|
|
|
|
return ['Roland Deschain']; |
|
|
|
|
} |
|
|
|
|
return []; |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
case 'dnOfRoland,dc=test': |
|
|
|
|
if ($attr === 'displayname') { |
|
|
|
|
return ['Roland Deschain']; |
|
|
|
|
} |
|
|
|
|
return []; |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
$this->access->method('fetchUsersByLoginName') |
|
|
|
|
->willReturn([]); |
|
|
|
|
@ -846,7 +859,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
|
|
|
|
|
public function testGetDisplayName() { |
|
|
|
|
$this->prepareAccessForGetDisplayName(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
|
|
|
|
|
$this->connection->expects($this->any()) |
|
|
|
|
@ -927,7 +940,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
$this->prepareAccessForGetDisplayName(); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->prepareMockForUserExists(); |
|
|
|
|
|
|
|
|
|
$this->connection->expects($this->any()) |
|
|
|
|
@ -998,7 +1011,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->with('uid') |
|
|
|
|
->willReturn('result'); |
|
|
|
|
|
|
|
|
|
$this->assertEquals($this->backend->getDisplayName('uid'),'result'); |
|
|
|
|
$this->assertEquals($this->backend->getDisplayName('uid'), 'result'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//no test for getDisplayNames, because it just invokes getUsers and |
|
|
|
|
@ -1009,7 +1022,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('countUsers') |
|
|
|
|
->willReturn(5); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
$result = $backend->countUsers(); |
|
|
|
|
$this->assertEquals(5, $result); |
|
|
|
|
@ -1020,7 +1033,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('countUsers') |
|
|
|
|
->willReturn(false); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
|
|
|
|
|
$result = $backend->countUsers(); |
|
|
|
|
$this->assertFalse($result); |
|
|
|
|
@ -1035,7 +1048,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('countUsers') |
|
|
|
|
->willReturn(42); |
|
|
|
|
|
|
|
|
|
$this->assertEquals($this->backend->countUsers(),42); |
|
|
|
|
$this->assertEquals($this->backend->countUsers(), 42); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testLoginName2UserNameSuccess() { |
|
|
|
|
@ -1064,7 +1077,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('writeToCache') |
|
|
|
|
->with($this->equalTo('loginName2UserName-'.$loginName), $this->equalTo($username)); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$user = $this->createMock(User::class); |
|
|
|
|
$user->expects($this->any()) |
|
|
|
|
->method('getUsername') |
|
|
|
|
@ -1109,7 +1122,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('getAttributes') |
|
|
|
|
->willReturn(['dn', 'uid', 'mail', 'displayname']); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$name = $backend->loginName2UserName($loginName); |
|
|
|
|
$this->assertSame(false, $name); |
|
|
|
|
|
|
|
|
|
@ -1146,7 +1159,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('getAttributes') |
|
|
|
|
->willReturn(['dn', 'uid', 'mail', 'displayname']); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$name = $backend->loginName2UserName($loginName); |
|
|
|
|
$this->assertSame(false, $name); |
|
|
|
|
|
|
|
|
|
@ -1223,7 +1236,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
$this->userManager->expects($this->atLeastOnce()) |
|
|
|
|
->method('get') |
|
|
|
|
->willReturn($this->createMock(User::class)); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$this->assertTrue(\OC_User::setPassword('roland', 'dt')); |
|
|
|
|
@ -1236,7 +1249,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('get') |
|
|
|
|
->willReturn($this->createMock(User::class)); |
|
|
|
|
|
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
$this->userManager->expects($this->any()) |
|
|
|
|
->method('get') |
|
|
|
|
->willReturn($this->createMock(User::class)); |
|
|
|
|
@ -1252,7 +1265,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->willReturn($this->createMock(User::class)); |
|
|
|
|
|
|
|
|
|
$this->prepareAccessForSetPassword(false); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager); |
|
|
|
|
$backend = new UserLDAP($this->access, $this->config, $this->notificationManager, $this->session, $this->pluginManager, $this->logger, $this->deletedUsersIndex); |
|
|
|
|
\OC_User::useBackend($backend); |
|
|
|
|
|
|
|
|
|
$this->assertFalse(\OC_User::setPassword('roland', 'dt12234$')); |
|
|
|
|
@ -1295,11 +1308,11 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->willReturn(true); |
|
|
|
|
$this->pluginManager->expects($this->once()) |
|
|
|
|
->method('setPassword') |
|
|
|
|
->with('uid','password') |
|
|
|
|
->with('uid', 'password') |
|
|
|
|
->willReturn('result'); |
|
|
|
|
|
|
|
|
|
/** @noinspection PhpUnhandledExceptionInspection */ |
|
|
|
|
$this->assertEquals($this->backend->setPassword('uid', 'password'),'result'); |
|
|
|
|
$this->assertEquals($this->backend->setPassword('uid', 'password'), 'result'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function avatarDataProvider() { |
|
|
|
|
@ -1340,7 +1353,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->with('uid') |
|
|
|
|
->willReturn('result'); |
|
|
|
|
|
|
|
|
|
$this->assertEquals($this->backend->canChangeAvatar('uid'),'result'); |
|
|
|
|
$this->assertEquals($this->backend->canChangeAvatar('uid'), 'result'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testSetDisplayNameWithPlugin() { |
|
|
|
|
@ -1413,7 +1426,7 @@ class User_LDAPTest extends TestCase { |
|
|
|
|
->method('getUserMapper') |
|
|
|
|
->willReturn($this->createMock(UserMapping::class)); |
|
|
|
|
|
|
|
|
|
$this->assertEquals($this->backend->createUser($uid, $pwd),true); |
|
|
|
|
$this->assertEquals($this->backend->createUser($uid, $pwd), true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testCreateUserFailing() { |
|
|
|
|
|