diff options
Diffstat (limited to 'tests/php/Settings')
-rw-r--r-- | tests/php/Settings/Admin/AdminSettingsTest.php | 157 | ||||
-rw-r--r-- | tests/php/Settings/Admin/StunServerTest.php | 85 | ||||
-rw-r--r-- | tests/php/Settings/Admin/TurnServerTest.php | 70 |
3 files changed, 157 insertions, 155 deletions
diff --git a/tests/php/Settings/Admin/AdminSettingsTest.php b/tests/php/Settings/Admin/AdminSettingsTest.php new file mode 100644 index 000000000..c3594d182 --- /dev/null +++ b/tests/php/Settings/Admin/AdminSettingsTest.php @@ -0,0 +1,157 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\Talk\Tests\php\Settings\Admin; + +use OCA\Talk\Config; +use OCA\Talk\Service\CommandService; +use OCA\Talk\Settings\Admin\AdminSettings; +use OCP\IConfig; +use OCP\IInitialStateService; +use PHPUnit\Framework\MockObject\MockObject; + +class AdminSettingsTest extends \Test\TestCase { + + /** @var Config|MockObject */ + protected $talkConfig; + /** @var IConfig|MockObject */ + protected $serverConfig; + /** @var CommandService|MockObject */ + protected $commandService; + /** @var IInitialStateService|MockObject */ + protected $initialState; + /** @var StunServer */ + protected $admin; + + public function setUp(): void { + parent::setUp(); + + $this->talkConfig = $this->createMock(Config::class); + $this->serverConfig = $this->createMock(IConfig::class); + $this->commandService = $this->createMock(CommandService::class); + $this->initialState = $this->createMock(IInitialStateService::class); + + $this->admin = new AdminSettings( + $this->talkConfig, + $this->serverConfig, + $this->commandService, + $this->initialState + ); + } + + /** + * @param string[] $methods + * @return AdminSettings|MockObject + */ + protected function getAdminSettings(array $methods = []): AdminSettings { + if (empty($methods)) { + return new AdminSettings( + $this->talkConfig, + $this->serverConfig, + $this->commandService, + $this->initialState + ); + } + + return $this->getMockBuilder(AdminSettings::class) + ->setConstructorArgs([ + $this->talkConfig, + $this->serverConfig, + $this->commandService, + $this->initialState, + ]) + ->onlyMethods($methods) + ->getMock(); + } + + public function testGetSection(): void { + $admin = $this->getAdminSettings(); + $this->assertNotEmpty($admin->getSection()); + } + + public function testGetPriority(): void { + $admin = $this->getAdminSettings(); + $this->assertEquals(0, $admin->getPriority()); + } + + public function testGetForm(): void { + $admin = $this->getAdminSettings([ + 'initGeneralSettings', + 'initAllowedGroups', + 'initCommands', + 'initStunServers', + 'initTurnServers', + 'initSignalingServers' + ]); + + $admin->expects($this->once()) + ->method('initGeneralSettings'); + $admin->expects($this->once()) + ->method('initAllowedGroups'); + $admin->expects($this->once()) + ->method('initCommands'); + $admin->expects($this->once()) + ->method('initStunServers'); + $admin->expects($this->once()) + ->method('initTurnServers'); + $admin->expects($this->once()) + ->method('initSignalingServers'); + + $form = $admin->getForm(); + $this->assertSame('settings/admin-settings', $form->getTemplateName()); + $this->assertSame('', $form->getRenderAs()); + $this->assertCount(0, $form->getParams()); + } + + public function testInitStunServers(): void { + $this->talkConfig->expects($this->once()) + ->method('getStunServers') + ->willReturn(['getStunServers']); + $this->serverConfig->expects($this->once()) + ->method('getSystemValueBool') + ->with('has_internet_connection', true) + ->willReturn(true); + + $this->initialState->expects($this->exactly(2)) + ->method('provideInitialState') + ->withConsecutive( + ['talk', 'stun_servers', ['getStunServers']], + ['talk', 'has_internet_connection', true] + ); + + $admin = $this->getAdminSettings(); + self::invokePrivate($admin, 'initStunServers'); + } + + public function testInitTurnServers(): void { + $this->talkConfig->expects($this->once()) + ->method('getTurnServers') + ->willReturn(['getTurnServers']); + + $this->initialState->expects($this->once()) + ->method('provideInitialState') + ->with('talk', 'turn_servers', ['getTurnServers']); + + $admin = $this->getAdminSettings(); + self::invokePrivate($admin, 'initTurnServers'); + } +} diff --git a/tests/php/Settings/Admin/StunServerTest.php b/tests/php/Settings/Admin/StunServerTest.php deleted file mode 100644 index d061782de..000000000 --- a/tests/php/Settings/Admin/StunServerTest.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php -declare(strict_types=1); -/** - * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -namespace OCA\Talk\Tests\php\Settings\Admin; - -use OCA\Talk\Config; -use OCA\Talk\Settings\Admin\StunServer; -use OCP\IConfig; -use OCP\IInitialStateService; -use PHPUnit\Framework\MockObject\MockObject; - -class StunServerTest extends \Test\TestCase { - - /** @var Config|MockObject */ - protected $config; - /** @var IConfig|MockObject */ - protected $serverConfig; - /** @var IInitialStateService|MockObject */ - protected $initialState; - /** @var StunServer */ - protected $admin; - - public function setUp(): void { - parent::setUp(); - - $this->config = $this->createMock(Config::class); - $this->serverConfig = $this->createMock(IConfig::class); - $this->initialState = $this->createMock(IInitialStateService::class); - - $this->admin = new StunServer( - $this->config, - $this->serverConfig, - $this->initialState - ); - } - - public function testGetSection(): void { - $this->assertNotEmpty($this->admin->getSection()); - } - - public function testGetPriority(): void { - $this->assertGreaterThan(0, $this->admin->getPriority()); - } - - public function testGetForm(): void { - $this->config->expects($this->once()) - ->method('getStunServers') - ->willReturn(['getStunServers']); - $this->serverConfig->expects($this->once()) - ->method('getSystemValueBool') - ->with('has_internet_connection', true) - ->willReturn(true); - - $this->initialState->expects($this->exactly(2)) - ->method('provideInitialState') - ->withConsecutive( - ['talk', 'stun_servers', ['getStunServers']], - ['talk', 'has_internet_connection', true] - ); - - $form = $this->admin->getForm(); - $this->assertSame('settings/admin/stun-server', $form->getTemplateName()); - $this->assertSame('', $form->getRenderAs()); - $this->assertCount(0, $form->getParams()); - } -} diff --git a/tests/php/Settings/Admin/TurnServerTest.php b/tests/php/Settings/Admin/TurnServerTest.php deleted file mode 100644 index a71366a12..000000000 --- a/tests/php/Settings/Admin/TurnServerTest.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php -declare(strict_types=1); -/** - * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -namespace OCA\Talk\Tests\php\Settings\Admin; - -use OCA\Talk\Config; -use OCA\Talk\Settings\Admin\TurnServer; -use OCP\IInitialStateService; -use PHPUnit\Framework\MockObject\MockObject; - -class TurnServerTest extends \Test\TestCase { - - /** @var Config|MockObject */ - protected $config; - /** @var IInitialStateService|MockObject */ - protected $initialState; - /** @var TurnServer */ - protected $admin; - - public function setUp(): void { - parent::setUp(); - - $this->config = $this->createMock(Config::class); - $this->initialState = $this->createMock(IInitialStateService::class); - - $this->admin = new TurnServer($this->config, $this->initialState); - } - - public function testGetSection(): void { - $this->assertNotEmpty($this->admin->getSection()); - } - - public function testGetPriority(): void { - $this->assertGreaterThan(0, $this->admin->getPriority()); - } - - public function testGetForm(): void { - $this->config->expects($this->once()) - ->method('getTurnServers') - ->willReturn(['getTurnServers']); - - $this->initialState->expects($this->once()) - ->method('provideInitialState') - ->with('talk', 'turn_servers', ['getTurnServers']); - - $form = $this->admin->getForm(); - $this->assertSame('settings/admin/turn-server', $form->getTemplateName()); - $this->assertSame('', $form->getRenderAs()); - $this->assertCount(0, $form->getParams()); - } -} |