mirror of
https://github.com/nextcloud/server.git
synced 2026-04-08 18:46:28 -04:00
Merge pull request #57100 from nextcloud/fix/remove-iservercontainer-from-user-ldap
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Psalm static code analysis / static-code-analysis-strict (push) Waiting to run
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Psalm static code analysis / static-code-analysis-strict (push) Waiting to run
fix(user_ldap): Remove usages of deprecated IServerContainer
This commit is contained in:
commit
5fa368c41c
12 changed files with 94 additions and 209 deletions
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
|
@ -8,7 +10,6 @@ namespace OCA\User_LDAP\AppInfo;
|
|||
|
||||
use Closure;
|
||||
use OCA\Files_External\Service\BackendService;
|
||||
use OCA\User_LDAP\Controller\RenewPasswordController;
|
||||
use OCA\User_LDAP\Events\GroupBackendRegistered;
|
||||
use OCA\User_LDAP\Events\UserBackendRegistered;
|
||||
use OCA\User_LDAP\Group_Proxy;
|
||||
|
|
@ -30,16 +31,12 @@ use OCP\AppFramework\Bootstrap\IBootstrap;
|
|||
use OCP\AppFramework\Bootstrap\IRegistrationContext;
|
||||
use OCP\AppFramework\IAppContainer;
|
||||
use OCP\AppFramework\Services\IAppConfig;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
use OCP\Config\IUserConfig;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\IAvatarManager;
|
||||
use OCP\IConfig;
|
||||
use OCP\IGroupManager;
|
||||
use OCP\IL10N;
|
||||
use OCP\Image;
|
||||
use OCP\IRequest;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\IUserManager;
|
||||
use OCP\Notification\IManager as INotificationManager;
|
||||
use OCP\Share\IManager as IShareManager;
|
||||
|
|
@ -53,33 +50,11 @@ class Application extends App implements IBootstrap {
|
|||
|
||||
public function __construct() {
|
||||
parent::__construct(self::APP_ID);
|
||||
$container = $this->getContainer();
|
||||
|
||||
/**
|
||||
* Controller
|
||||
*/
|
||||
$container->registerService('RenewPasswordController', function (ContainerInterface $appContainer) {
|
||||
return new RenewPasswordController(
|
||||
$appContainer->get('AppName'),
|
||||
$appContainer->get(IRequest::class),
|
||||
$appContainer->get(IUserManager::class),
|
||||
$appContainer->get(IConfig::class),
|
||||
$appContainer->get(IUserConfig::class),
|
||||
$appContainer->get(IL10N::class),
|
||||
$appContainer->get('Session'),
|
||||
$appContainer->get(IURLGenerator::class),
|
||||
$appContainer->get(IInitialState::class),
|
||||
);
|
||||
});
|
||||
|
||||
$container->registerService(ILDAPWrapper::class, function (ContainerInterface $appContainer) {
|
||||
return new LDAP(
|
||||
$appContainer->get(IConfig::class)->getSystemValueString('ldap_log_file')
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
public function register(IRegistrationContext $context): void {
|
||||
$context->registerServiceAlias(ILDAPWrapper::class, LDAP::class);
|
||||
|
||||
$context->registerNotifierService(Notifier::class);
|
||||
|
||||
$context->registerService(
|
||||
|
|
|
|||
|
|
@ -8,11 +8,8 @@
|
|||
namespace OCA\User_LDAP\Command;
|
||||
|
||||
use OCA\User_LDAP\Group_Proxy;
|
||||
use OCA\User_LDAP\Helper;
|
||||
use OCA\User_LDAP\LDAP;
|
||||
use OCA\User_LDAP\User_Proxy;
|
||||
use OCP\IConfig;
|
||||
use OCP\Server;
|
||||
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
|
|
@ -82,10 +79,6 @@ class Search extends Command {
|
|||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int {
|
||||
$helper = Server::get(Helper::class);
|
||||
$configPrefixes = $helper->getServerConfigurationPrefixes(true);
|
||||
$ldapWrapper = new LDAP();
|
||||
|
||||
$offset = (int)$input->getOption('offset');
|
||||
$limit = (int)$input->getOption('limit');
|
||||
$this->validateOffsetAndLimit($offset, $limit);
|
||||
|
|
|
|||
|
|
@ -10,14 +10,19 @@ namespace OCA\User_LDAP\Command;
|
|||
use OCA\User_LDAP\Configuration;
|
||||
use OCA\User_LDAP\ConnectionFactory;
|
||||
use OCA\User_LDAP\Helper;
|
||||
use OCA\User_LDAP\LDAP;
|
||||
use OCP\Server;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class SetConfig extends Command {
|
||||
public function __construct(
|
||||
private readonly Helper $helper,
|
||||
private readonly ConnectionFactory $connectionFactory,
|
||||
) {
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
protected function configure(): void {
|
||||
$this
|
||||
->setName('ldap:set-config')
|
||||
|
|
@ -41,8 +46,7 @@ class SetConfig extends Command {
|
|||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int {
|
||||
$helper = Server::get(Helper::class);
|
||||
$availableConfigs = $helper->getServerConfigurationPrefixes();
|
||||
$availableConfigs = $this->helper->getServerConfigurationPrefixes();
|
||||
$configID = $input->getArgument('configID');
|
||||
if (!in_array($configID, $availableConfigs)) {
|
||||
$output->writeln('Invalid configID');
|
||||
|
|
@ -65,7 +69,6 @@ class SetConfig extends Command {
|
|||
$configHolder->$key = $value;
|
||||
$configHolder->saveConfiguration();
|
||||
|
||||
$connectionFactory = new ConnectionFactory(new LDAP());
|
||||
$connectionFactory->get($configID)->clearCache();
|
||||
$this->connectionFactory->get($configID)->clearCache();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,8 +23,6 @@ class Sync extends TimedJob {
|
|||
public const MAX_INTERVAL = 12 * 60 * 60; // 12h
|
||||
public const MIN_INTERVAL = 30 * 60; // 30min
|
||||
|
||||
protected LDAP $ldap;
|
||||
|
||||
public function __construct(
|
||||
ITimeFactory $timeFactory,
|
||||
private IConfig $config,
|
||||
|
|
@ -42,7 +40,6 @@ class Sync extends TimedJob {
|
|||
self::MIN_INTERVAL
|
||||
)
|
||||
);
|
||||
$this->ldap = new LDAP($this->config->getSystemValueString('ldap_log_file'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -253,11 +250,4 @@ class Sync extends TimedJob {
|
|||
}
|
||||
return $prefixes[$i];
|
||||
}
|
||||
|
||||
/**
|
||||
* Only used in tests
|
||||
*/
|
||||
public function overwritePropertiesForTest(LDAP $ldapWrapper): void {
|
||||
$this->ldap = $ldapWrapper;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,23 +18,21 @@ use Psr\Log\LoggerInterface;
|
|||
|
||||
class LDAP implements ILDAPWrapper {
|
||||
protected array $curArgs = [];
|
||||
protected LoggerInterface $logger;
|
||||
protected IConfig $config;
|
||||
|
||||
private ?LdapDataCollector $dataCollector = null;
|
||||
|
||||
protected string $logFile = '';
|
||||
|
||||
public function __construct(
|
||||
protected string $logFile = '',
|
||||
IProfiler $profiler,
|
||||
protected IConfig $config,
|
||||
protected LoggerInterface $logger,
|
||||
) {
|
||||
/** @var IProfiler $profiler */
|
||||
$profiler = Server::get(IProfiler::class);
|
||||
if ($profiler->isEnabled()) {
|
||||
$this->dataCollector = new LdapDataCollector();
|
||||
$profiler->add($this->dataCollector);
|
||||
}
|
||||
|
||||
$this->logger = Server::get(LoggerInterface::class);
|
||||
$this->config = Server::get(IConfig::class);
|
||||
$this->logFile = $this->config->getSystemValueString('ldap_log_file');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -5,38 +5,38 @@
|
|||
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
namespace OCA\User_LDAP;
|
||||
|
||||
use OCA\User_LDAP\User\DeletedUsersIndex;
|
||||
use OCP\IServerContainer;
|
||||
use OCP\GroupInterface;
|
||||
use OCP\IGroupManager;
|
||||
use OCP\IUserManager;
|
||||
use OCP\LDAP\IDeletionFlagSupport;
|
||||
use OCP\LDAP\ILDAPProvider;
|
||||
use OCP\UserInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
/**
|
||||
* LDAP provider for public access to the LDAP backend.
|
||||
*/
|
||||
class LDAPProvider implements ILDAPProvider, IDeletionFlagSupport {
|
||||
private $userBackend;
|
||||
private $groupBackend;
|
||||
private $logger;
|
||||
private IUserLDAP&UserInterface $userBackend;
|
||||
private IGroupLDAP&GroupInterface $groupBackend;
|
||||
|
||||
/**
|
||||
* Create new LDAPProvider
|
||||
* @param IServerContainer $serverContainer
|
||||
* @param Helper $helper
|
||||
* @param DeletedUsersIndex $deletedUsersIndex
|
||||
* @throws \Exception if user_ldap app was not enabled
|
||||
*/
|
||||
public function __construct(
|
||||
IServerContainer $serverContainer,
|
||||
IUserManager $userManager,
|
||||
IGroupManager $groupManager,
|
||||
private Helper $helper,
|
||||
private DeletedUsersIndex $deletedUsersIndex,
|
||||
private LoggerInterface $logger,
|
||||
) {
|
||||
$this->logger = $serverContainer->get(LoggerInterface::class);
|
||||
$userBackendFound = false;
|
||||
$groupBackendFound = false;
|
||||
foreach ($serverContainer->getUserManager()->getBackends() as $backend) {
|
||||
foreach ($userManager->getBackends() as $backend) {
|
||||
$this->logger->debug('instance ' . get_class($backend) . ' user backend.', ['app' => 'user_ldap']);
|
||||
if ($backend instanceof IUserLDAP) {
|
||||
$this->userBackend = $backend;
|
||||
|
|
@ -44,7 +44,7 @@ class LDAPProvider implements ILDAPProvider, IDeletionFlagSupport {
|
|||
break;
|
||||
}
|
||||
}
|
||||
foreach ($serverContainer->getGroupManager()->getBackends() as $backend) {
|
||||
foreach ($groupManager->getBackends() as $backend) {
|
||||
$this->logger->debug('instance ' . get_class($backend) . ' group backend.', ['app' => 'user_ldap']);
|
||||
if ($backend instanceof IGroupLDAP) {
|
||||
$this->groupBackend = $backend;
|
||||
|
|
|
|||
|
|
@ -1,20 +1,22 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
namespace OCA\User_LDAP;
|
||||
|
||||
use OCP\IServerContainer;
|
||||
use OCP\LDAP\ILDAPProvider;
|
||||
use OCP\LDAP\ILDAPProviderFactory;
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
class LDAPProviderFactory implements ILDAPProviderFactory {
|
||||
public function __construct(
|
||||
/** * @var IServerContainer */
|
||||
private IServerContainer $serverContainer,
|
||||
private ContainerInterface $serverContainer,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ use OCP\IConfig;
|
|||
use OCP\Image;
|
||||
use OCP\IUserManager;
|
||||
use OCP\Notification\IManager as INotificationManager;
|
||||
use OCP\Profiler\IProfiler;
|
||||
use OCP\Server;
|
||||
use OCP\Share\IManager;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
|
|
@ -242,7 +243,11 @@ class AccessTest extends TestCase {
|
|||
#[\PHPUnit\Framework\Attributes\DataProvider(methodName: 'dnInputDataProvider')]
|
||||
public function testStringResemblesDNLDAPmod(string $input, array|bool $interResult, bool $expectedResult): void {
|
||||
[, $con, $um, $helper] = $this->getConnectorAndLdapMock();
|
||||
$lw = new LDAP();
|
||||
$lw = new LDAP(
|
||||
$this->createMock(IProfiler::class),
|
||||
$this->createMock(IConfig::class),
|
||||
$this->createMock(LoggerInterface::class),
|
||||
);
|
||||
$access = new Access($lw, $con, $um, $helper, $this->ncUserManager, $this->logger, $this->appConfig, $this->dispatcher);
|
||||
|
||||
if (!function_exists('ldap_explode_dn')) {
|
||||
|
|
|
|||
|
|
@ -76,8 +76,6 @@ class SyncTest extends TestCase {
|
|||
$this->connectionFactory,
|
||||
$this->accessFactory,
|
||||
);
|
||||
|
||||
$this->sync->overwritePropertiesForTest($this->ldapWrapper);
|
||||
}
|
||||
|
||||
public static function intervalDataProvider(): array {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ declare(strict_types=1);
|
|||
*/
|
||||
namespace OCA\User_LDAP\Tests;
|
||||
|
||||
use OC\Config;
|
||||
use OC\User\Manager;
|
||||
use OCA\User_LDAP\Access;
|
||||
use OCA\User_LDAP\Connection;
|
||||
|
|
@ -16,12 +15,12 @@ use OCA\User_LDAP\Helper;
|
|||
use OCA\User_LDAP\IGroupLDAP;
|
||||
use OCA\User_LDAP\ILDAPWrapper;
|
||||
use OCA\User_LDAP\IUserLDAP;
|
||||
use OCA\User_LDAP\LDAPProviderFactory;
|
||||
use OCA\User_LDAP\LDAPProvider;
|
||||
use OCA\User_LDAP\User\DeletedUsersIndex;
|
||||
use OCA\User_LDAP\User_LDAP;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\IConfig;
|
||||
use OCP\IServerContainer;
|
||||
use OCP\Server;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
|
|
@ -33,21 +32,6 @@ use Psr\Log\LoggerInterface;
|
|||
*/
|
||||
#[\PHPUnit\Framework\Attributes\Group(name: 'DB')]
|
||||
class LDAPProviderTest extends \Test\TestCase {
|
||||
private function getServerMock(IUserLDAP $userBackend, IGroupLDAP $groupBackend) {
|
||||
$server = $this->getMockBuilder('OC\Server')
|
||||
->onlyMethods(['getUserManager', 'getGroupManager'])
|
||||
->setConstructorArgs(['', new Config(\OC::$configDir)])
|
||||
->getMock();
|
||||
$server->expects($this->any())
|
||||
->method('getUserManager')
|
||||
->willReturn($this->getUserManagerMock($userBackend));
|
||||
$server->expects($this->any())
|
||||
->method('getGroupManager')
|
||||
->willReturn($this->getGroupManagerMock($groupBackend));
|
||||
|
||||
return $server;
|
||||
}
|
||||
|
||||
private function getUserManagerMock(IUserLDAP $userBackend) {
|
||||
$userManager = $this->getMockBuilder(Manager::class)
|
||||
->onlyMethods(['getBackends'])
|
||||
|
|
@ -83,9 +67,14 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
return $groupBackend;
|
||||
}
|
||||
|
||||
private function getLDAPProvider(IServerContainer $serverContainer) {
|
||||
$factory = new LDAPProviderFactory($serverContainer);
|
||||
return $factory->getLDAPProvider();
|
||||
private function getLDAPProvider(IUserLDAP $userBackend, IGroupLDAP $groupBackend): LDAPProvider {
|
||||
return new LDAPProvider(
|
||||
$this->getUserManagerMock($userBackend),
|
||||
$this->getGroupManagerMock($groupBackend),
|
||||
Server::get(Helper::class),
|
||||
Server::get(DeletedUsersIndex::class),
|
||||
$this->createMock(LoggerInterface::class),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -99,9 +88,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->getMock();
|
||||
$userBackend->expects($this->any())->method('userExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->getUserDN('nonexisting_user');
|
||||
}
|
||||
|
||||
|
|
@ -125,9 +112,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($userAccess);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertEquals('cn=existing_user,ou=Are Sufficient To,ou=Test,dc=example,dc=org',
|
||||
$ldapProvider->getUserDN('existing_user'));
|
||||
}
|
||||
|
|
@ -145,9 +130,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
|
||||
$groupBackend->expects($this->any())->method('groupExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$ldapProvider->getGroupDN('nonexisting_group');
|
||||
}
|
||||
|
||||
|
|
@ -170,9 +153,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($groupAccess);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$this->assertEquals('cn=existing_group,ou=Are Sufficient To,ou=Test,dc=example,dc=org',
|
||||
$ldapProvider->getGroupDN('existing_group'));
|
||||
}
|
||||
|
|
@ -186,9 +167,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('dn2UserName')
|
||||
->willReturn('existing_user');
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertEquals('existing_user',
|
||||
$ldapProvider->getUserName('cn=existing_user,ou=Are Sufficient To,ou=Test,dc=example,dc=org'));
|
||||
}
|
||||
|
|
@ -196,11 +175,9 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
public function testDNasBaseParameter(): void {
|
||||
$userBackend = $this->createMock(User_LDAP::class);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$helper = Server::get(Helper::class);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertEquals(
|
||||
$helper->DNasBaseParameter('cn=existing_user,ou=Are Sufficient To,ou=Test,dc=example,dc=org'),
|
||||
$ldapProvider->DNasBaseParameter('cn=existing_user,ou=Are Sufficient To,ou=Test,dc=example,dc=org'));
|
||||
|
|
@ -209,11 +186,9 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
public function testSanitizeDN(): void {
|
||||
$userBackend = $this->createMock(User_LDAP::class);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$helper = Server::get(Helper::class);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertEquals(
|
||||
$helper->sanitizeDN('cn=existing_user,ou=Are Sufficient To,ou=Test,dc=example,dc=org'),
|
||||
$ldapProvider->sanitizeDN('cn=existing_user,ou=Are Sufficient To,ou=Test,dc=example,dc=org'));
|
||||
|
|
@ -227,9 +202,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
$userBackend = $this->createMock(User_LDAP::class);
|
||||
$userBackend->expects($this->any())->method('userExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->getLDAPConnection('nonexisting_user');
|
||||
}
|
||||
|
||||
|
|
@ -246,9 +219,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getNewLDAPConnection')
|
||||
->willReturn($ldapConnection);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertEquals($ldapConnection, $ldapProvider->getLDAPConnection('existing_user'));
|
||||
}
|
||||
|
||||
|
|
@ -265,9 +236,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
|
||||
$groupBackend->expects($this->any())->method('groupExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$ldapProvider->getGroupLDAPConnection('nonexisting_group');
|
||||
}
|
||||
|
||||
|
|
@ -287,9 +256,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getNewLDAPConnection')
|
||||
->willReturn($ldapConnection);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$this->assertEquals($ldapConnection, $ldapProvider->getGroupLDAPConnection('existing_group'));
|
||||
}
|
||||
|
||||
|
|
@ -304,9 +271,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->getMock();
|
||||
$userBackend->expects($this->any())->method('userExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->getLDAPBaseUsers('nonexisting_user');
|
||||
}
|
||||
|
||||
|
|
@ -352,9 +317,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($access);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertEquals($bases[1], $ldapProvider->getLDAPBaseUsers('existing_user'));
|
||||
}
|
||||
|
||||
|
|
@ -369,9 +332,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->getMock();
|
||||
$userBackend->expects($this->any())->method('userExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->getLDAPBaseGroups('nonexisting_user');
|
||||
}
|
||||
|
||||
|
|
@ -410,9 +371,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($access);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertEquals($bases[0], $ldapProvider->getLDAPBaseGroups('existing_user'));
|
||||
}
|
||||
|
||||
|
|
@ -427,9 +386,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->getMock();
|
||||
$userBackend->expects($this->any())->method('userExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->clearCache('nonexisting_user');
|
||||
}
|
||||
|
||||
|
|
@ -454,9 +411,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($access);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->clearCache('existing_user');
|
||||
$this->addToAssertionCount(1);
|
||||
}
|
||||
|
|
@ -475,9 +430,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->getMock();
|
||||
$groupBackend->expects($this->any())->method('groupExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$ldapProvider->clearGroupCache('nonexisting_group');
|
||||
}
|
||||
|
||||
|
|
@ -503,9 +456,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($access);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$ldapProvider->clearGroupCache('existing_group');
|
||||
$this->addToAssertionCount(1);
|
||||
}
|
||||
|
|
@ -519,26 +470,22 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('dn2UserName')
|
||||
->willReturn('existing_user');
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertTrue($ldapProvider->dnExists('cn=existing_user,ou=Are Sufficient To,ou=Test,dc=example,dc=org'));
|
||||
}
|
||||
|
||||
public function testFlagRecord(): void {
|
||||
$userBackend = $this->createMock(User_LDAP::class);
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->flagRecord('existing_user');
|
||||
$this->addToAssertionCount(1);
|
||||
}
|
||||
|
||||
public function testUnflagRecord(): void {
|
||||
$userBackend = $this->createMock(User_LDAP::class);
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->unflagRecord('existing_user');
|
||||
$this->addToAssertionCount(1);
|
||||
}
|
||||
|
|
@ -554,9 +501,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->getMock();
|
||||
$userBackend->expects($this->any())->method('userExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->getLDAPDisplayNameField('nonexisting_user');
|
||||
}
|
||||
|
||||
|
|
@ -581,9 +526,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($access);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertEquals('displayName', $ldapProvider->getLDAPDisplayNameField('existing_user'));
|
||||
}
|
||||
|
||||
|
|
@ -598,9 +541,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->getMock();
|
||||
$userBackend->expects($this->any())->method('userExists')->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$ldapProvider->getLDAPEmailField('nonexisting_user');
|
||||
}
|
||||
|
||||
|
|
@ -625,9 +566,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($access);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $this->getDefaultGroupBackendMock());
|
||||
$this->assertEquals('mail', $ldapProvider->getLDAPEmailField('existing_user'));
|
||||
}
|
||||
|
||||
|
|
@ -646,9 +585,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('groupExists')
|
||||
->willReturn(false);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$ldapProvider->getLDAPGroupMemberAssoc('nonexisting_group');
|
||||
}
|
||||
|
||||
|
|
@ -676,9 +613,7 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($access);
|
||||
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$this->assertEquals('assoc_type', $ldapProvider->getLDAPGroupMemberAssoc('existing_group'));
|
||||
}
|
||||
|
||||
|
|
@ -692,9 +627,8 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->with('admin')
|
||||
->willReturn(false);
|
||||
$groupBackend = $this->createMock(Group_LDAP::class);
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$ldapProvider->getMultiValueUserAttribute('admin', 'mailAlias');
|
||||
}
|
||||
|
||||
|
|
@ -719,9 +653,8 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
->method('getLDAPAccess')
|
||||
->willReturn($access);
|
||||
$groupBackend = $this->createMock(Group_LDAP::class);
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$ldapProvider->getMultiValueUserAttribute('admin', 'mailAlias');
|
||||
}
|
||||
|
||||
|
|
@ -756,9 +689,8 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
$groupBackend = $this->getMockBuilder(Group_LDAP::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$values = $ldapProvider->getMultiValueUserAttribute('admin', 'mailAlias');
|
||||
|
||||
self::assertCount(0, $values);
|
||||
|
|
@ -795,9 +727,8 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
$groupBackend = $this->getMockBuilder(Group_LDAP::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$values = $ldapProvider->getMultiValueUserAttribute('admin', 'mailAlias');
|
||||
|
||||
self::assertCount(2, $values);
|
||||
|
|
@ -834,9 +765,8 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
$groupBackend = $this->getMockBuilder(Group_LDAP::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$value = $ldapProvider->getUserAttribute('admin', 'mailAlias');
|
||||
|
||||
self::assertNull($value);
|
||||
|
|
@ -873,9 +803,8 @@ class LDAPProviderTest extends \Test\TestCase {
|
|||
$groupBackend = $this->getMockBuilder(Group_LDAP::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$server = $this->getServerMock($userBackend, $groupBackend);
|
||||
|
||||
$ldapProvider = $this->getLDAPProvider($server);
|
||||
$ldapProvider = $this->getLDAPProvider($userBackend, $groupBackend);
|
||||
$value = $ldapProvider->getUserAttribute('admin', 'mailAlias');
|
||||
|
||||
self::assertEquals('aliasA@test.local', $value);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,10 @@ declare(strict_types=1);
|
|||
namespace OCA\User_LDAP\Tests;
|
||||
|
||||
use OCA\User_LDAP\LDAP;
|
||||
use OCP\IConfig;
|
||||
use OCP\Profiler\IProfiler;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Test\TestCase;
|
||||
|
||||
class LDAPTest extends TestCase {
|
||||
|
|
@ -18,6 +21,11 @@ class LDAPTest extends TestCase {
|
|||
parent::setUp();
|
||||
$this->ldap = $this->getMockBuilder(LDAP::class)
|
||||
->onlyMethods(['invokeLDAPMethod'])
|
||||
->setConstructorArgs([
|
||||
$this->createMock(IProfiler::class),
|
||||
$this->createMock(IConfig::class),
|
||||
$this->createMock(LoggerInterface::class),
|
||||
])
|
||||
->getMock();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2575,8 +2575,6 @@
|
|||
'loginName2UserName'
|
||||
)]]></code>
|
||||
<code><![CDATA[dispatch]]></code>
|
||||
<code><![CDATA[registerService]]></code>
|
||||
<code><![CDATA[registerService]]></code>
|
||||
</DeprecatedMethod>
|
||||
</file>
|
||||
<file src="apps/user_ldap/lib/Configuration.php">
|
||||
|
|
@ -2617,20 +2615,6 @@
|
|||
<code><![CDATA[$i]]></code>
|
||||
</InvalidOperand>
|
||||
</file>
|
||||
<file src="apps/user_ldap/lib/LDAPProvider.php">
|
||||
<DeprecatedInterface>
|
||||
<code><![CDATA[IServerContainer]]></code>
|
||||
</DeprecatedInterface>
|
||||
<DeprecatedMethod>
|
||||
<code><![CDATA[getGroupManager]]></code>
|
||||
<code><![CDATA[getUserManager]]></code>
|
||||
</DeprecatedMethod>
|
||||
</file>
|
||||
<file src="apps/user_ldap/lib/LDAPProviderFactory.php">
|
||||
<DeprecatedInterface>
|
||||
<code><![CDATA[private]]></code>
|
||||
</DeprecatedInterface>
|
||||
</file>
|
||||
<file src="apps/user_ldap/lib/Mapping/AbstractMapping.php">
|
||||
<DeprecatedMethod>
|
||||
<code><![CDATA[getDatabasePlatform]]></code>
|
||||
|
|
|
|||
Loading…
Reference in a new issue