2016-10-10 04:51:13 -04:00
|
|
|
<?php
|
2017-11-06 09:56:42 -05:00
|
|
|
/**
|
2024-05-29 05:32:54 -04:00
|
|
|
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
2017-11-06 09:56:42 -05:00
|
|
|
*/
|
2016-10-10 04:51:13 -04:00
|
|
|
namespace OCA\User_LDAP\Tests;
|
|
|
|
|
|
|
|
|
|
use OCA\User_LDAP\Helper;
|
|
|
|
|
use OCP\IConfig;
|
|
|
|
|
|
2020-11-09 02:40:00 -05:00
|
|
|
/**
|
|
|
|
|
* @group DB
|
|
|
|
|
*/
|
2016-10-10 04:51:13 -04:00
|
|
|
class HelperTest extends \Test\TestCase {
|
|
|
|
|
|
2020-08-11 15:32:18 -04:00
|
|
|
/** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */
|
2016-10-10 04:51:13 -04:00
|
|
|
private $config;
|
|
|
|
|
|
|
|
|
|
/** @var Helper */
|
|
|
|
|
private $helper;
|
|
|
|
|
|
2019-11-27 09:27:18 -05:00
|
|
|
protected function setUp(): void {
|
2016-10-10 04:51:13 -04:00
|
|
|
parent::setUp();
|
|
|
|
|
|
|
|
|
|
$this->config = $this->createMock(IConfig::class);
|
2020-11-06 05:25:28 -05:00
|
|
|
$this->helper = new Helper($this->config, \OC::$server->getDatabaseConnection());
|
2016-10-10 04:51:13 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetServerConfigurationPrefixes(): void {
|
|
|
|
|
$this->config->method('getAppKeys')
|
|
|
|
|
->with($this->equalTo('user_ldap'))
|
|
|
|
|
->willReturn([
|
|
|
|
|
'foo',
|
|
|
|
|
'ldap_configuration_active',
|
|
|
|
|
's1ldap_configuration_active',
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$result = $this->helper->getServerConfigurationPrefixes(false);
|
|
|
|
|
|
|
|
|
|
$this->assertEquals(['', 's1'], $result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetServerConfigurationPrefixesActive(): void {
|
|
|
|
|
$this->config->method('getAppKeys')
|
|
|
|
|
->with($this->equalTo('user_ldap'))
|
|
|
|
|
->willReturn([
|
|
|
|
|
'foo',
|
|
|
|
|
'ldap_configuration_active',
|
|
|
|
|
's1ldap_configuration_active',
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$this->config->method('getAppValue')
|
2020-04-09 07:53:40 -04:00
|
|
|
->willReturnCallback(function ($app, $key, $default) {
|
2016-10-10 04:51:13 -04:00
|
|
|
if ($app !== 'user_ldap') {
|
|
|
|
|
$this->fail('wrong app');
|
|
|
|
|
}
|
|
|
|
|
if ($key === 's1ldap_configuration_active') {
|
|
|
|
|
return '1';
|
|
|
|
|
}
|
|
|
|
|
return $default;
|
2020-03-25 17:21:27 -04:00
|
|
|
});
|
2016-10-10 04:51:13 -04:00
|
|
|
|
|
|
|
|
$result = $this->helper->getServerConfigurationPrefixes(true);
|
|
|
|
|
|
|
|
|
|
$this->assertEquals(['s1'], $result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetServerConfigurationHost(): void {
|
|
|
|
|
$this->config->method('getAppKeys')
|
|
|
|
|
->with($this->equalTo('user_ldap'))
|
|
|
|
|
->willReturn([
|
|
|
|
|
'foo',
|
|
|
|
|
'ldap_host',
|
|
|
|
|
's1ldap_host',
|
|
|
|
|
's02ldap_host',
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$this->config->method('getAppValue')
|
2020-04-09 07:53:40 -04:00
|
|
|
->willReturnCallback(function ($app, $key, $default) {
|
2016-10-10 04:51:13 -04:00
|
|
|
if ($app !== 'user_ldap') {
|
|
|
|
|
$this->fail('wrong app');
|
|
|
|
|
}
|
|
|
|
|
if ($key === 'ldap_host') {
|
|
|
|
|
return 'example.com';
|
|
|
|
|
}
|
|
|
|
|
if ($key === 's1ldap_host') {
|
|
|
|
|
return 'foo.bar.com';
|
|
|
|
|
}
|
|
|
|
|
return $default;
|
2020-03-25 17:21:27 -04:00
|
|
|
});
|
2016-10-10 04:51:13 -04:00
|
|
|
|
|
|
|
|
$result = $this->helper->getServerConfigurationHosts();
|
|
|
|
|
|
|
|
|
|
$this->assertEquals([
|
|
|
|
|
'' => 'example.com',
|
|
|
|
|
's1' => 'foo.bar.com',
|
|
|
|
|
's02' => '',
|
|
|
|
|
], $result);
|
|
|
|
|
}
|
|
|
|
|
}
|