diff options
Diffstat (limited to 'tests/Core/Command/Log')
-rw-r--r-- | tests/Core/Command/Log/FileTest.php | 55 | ||||
-rw-r--r-- | tests/Core/Command/Log/ManageTest.php | 88 |
2 files changed, 55 insertions, 88 deletions
diff --git a/tests/Core/Command/Log/FileTest.php b/tests/Core/Command/Log/FileTest.php index 103888de287..1aaf398b875 100644 --- a/tests/Core/Command/Log/FileTest.php +++ b/tests/Core/Command/Log/FileTest.php @@ -1,22 +1,9 @@ <?php + /** - * @author Robin McCorkell <rmccorkell@owncloud.com> - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * 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, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only */ namespace Tests\Core\Command\Log; @@ -50,7 +37,7 @@ class FileTest extends TestCase { $this->command = new File($config); } - public function testEnable() { + public function testEnable(): void { $this->config->method('getSystemValue')->willReturnArgument(1); $this->consoleInput->method('getOption') ->willReturnMap([ @@ -63,7 +50,7 @@ class FileTest extends TestCase { self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); } - public function testChangeFile() { + public function testChangeFile(): void { $this->config->method('getSystemValue')->willReturnArgument(1); $this->consoleInput->method('getOption') ->willReturnMap([ @@ -76,7 +63,7 @@ class FileTest extends TestCase { self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); } - public function changeRotateSizeProvider() { + public static function changeRotateSizeProvider(): array { return [ ['42', 42], ['0', 0], @@ -85,10 +72,8 @@ class FileTest extends TestCase { ]; } - /** - * @dataProvider changeRotateSizeProvider - */ - public function testChangeRotateSize($optionValue, $configValue) { + #[\PHPUnit\Framework\Attributes\DataProvider('changeRotateSizeProvider')] + public function testChangeRotateSize($optionValue, $configValue): void { $this->config->method('getSystemValue')->willReturnArgument(1); $this->consoleInput->method('getOption') ->willReturnMap([ @@ -101,24 +86,26 @@ class FileTest extends TestCase { self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); } - public function testGetConfiguration() { + public function testGetConfiguration(): void { $this->config->method('getSystemValue') ->willReturnMap([ ['log_type', 'file', 'log_type_value'], - ['datadirectory', \OC::$SERVERROOT.'/data', '/data/directory/'], + ['datadirectory', \OC::$SERVERROOT . '/data', '/data/directory/'], ['logfile', '/data/directory/nextcloud.log', '/var/log/nextcloud.log'], ['log_rotate_size', 100 * 1024 * 1024, 5 * 1024 * 1024], ]); - $this->consoleOutput->expects($this->at(0)) - ->method('writeln') - ->with('Log backend file: disabled'); - $this->consoleOutput->expects($this->at(1)) - ->method('writeln') - ->with('Log file: /var/log/nextcloud.log'); - $this->consoleOutput->expects($this->at(2)) + $calls = [ + ['Log backend file: disabled'], + ['Log file: /var/log/nextcloud.log'], + ['Rotate at: 5 MB'], + ]; + $this->consoleOutput->expects($this->exactly(3)) ->method('writeln') - ->with('Rotate at: 5 MB'); + ->willReturnCallback(function (string $message) use (&$calls): void { + $expected = array_shift($calls); + $this->assertEquals($expected[0], $message); + }); self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); } diff --git a/tests/Core/Command/Log/ManageTest.php b/tests/Core/Command/Log/ManageTest.php index 6683291a9b8..8b307048719 100644 --- a/tests/Core/Command/Log/ManageTest.php +++ b/tests/Core/Command/Log/ManageTest.php @@ -1,22 +1,9 @@ <?php + /** - * @author Robin McCorkell <rmccorkell@owncloud.com> - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * 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, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only */ namespace Tests\Core\Command\Log; @@ -50,7 +37,7 @@ class ManageTest extends TestCase { $this->command = new Manage($config); } - public function testChangeBackend() { + public function testChangeBackend(): void { $this->consoleInput->method('getOption') ->willReturnMap([ ['backend', 'syslog'] @@ -62,7 +49,7 @@ class ManageTest extends TestCase { self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); } - public function testChangeLevel() { + public function testChangeLevel(): void { $this->consoleInput->method('getOption') ->willReturnMap([ ['level', 'debug'] @@ -74,7 +61,7 @@ class ManageTest extends TestCase { self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); } - public function testChangeTimezone() { + public function testChangeTimezone(): void { $this->consoleInput->method('getOption') ->willReturnMap([ ['timezone', 'UTC'] @@ -87,21 +74,21 @@ class ManageTest extends TestCase { } - public function testValidateBackend() { + public function testValidateBackend(): void { $this->expectException(\InvalidArgumentException::class); self::invokePrivate($this->command, 'validateBackend', ['notabackend']); } - public function testValidateTimezone() { + public function testValidateTimezone(): void { $this->expectException(\Exception::class); // this might need to be changed when humanity colonises Mars self::invokePrivate($this->command, 'validateTimezone', ['Mars/OlympusMons']); } - public function convertLevelStringProvider() { + public static function dataConvertLevelString(): array { return [ ['dEbug', 0], ['inFO', 1], @@ -113,23 +100,21 @@ class ManageTest extends TestCase { ]; } - /** - * @dataProvider convertLevelStringProvider - */ - public function testConvertLevelString($levelString, $expectedInt) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataConvertLevelString')] + public function testConvertLevelString(string $levelString, int $expectedInt): void { $this->assertEquals($expectedInt, self::invokePrivate($this->command, 'convertLevelString', [$levelString]) ); } - public function testConvertLevelStringInvalid() { + public function testConvertLevelStringInvalid(): void { $this->expectException(\InvalidArgumentException::class); self::invokePrivate($this->command, 'convertLevelString', ['abc']); } - public function convertLevelNumberProvider() { + public static function dataConvertLevelNumber(): array { return [ [0, 'Debug'], [1, 'Info'], @@ -139,45 +124,40 @@ class ManageTest extends TestCase { ]; } - /** - * @dataProvider convertLevelNumberProvider - */ - public function testConvertLevelNumber($levelNum, $expectedString) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataConvertLevelNumber')] + public function testConvertLevelNumber(int $levelNum, string $expectedString): void { $this->assertEquals($expectedString, self::invokePrivate($this->command, 'convertLevelNumber', [$levelNum]) ); } - public function testConvertLevelNumberInvalid() { + public function testConvertLevelNumberInvalid(): void { $this->expectException(\InvalidArgumentException::class); self::invokePrivate($this->command, 'convertLevelNumber', [11]); } - public function testGetConfiguration() { - $this->config->expects($this->at(0)) - ->method('getSystemValue') - ->with('log_type', 'file') - ->willReturn('log_type_value'); - $this->config->expects($this->at(1)) + public function testGetConfiguration(): void { + $this->config->expects($this->exactly(3)) ->method('getSystemValue') - ->with('loglevel', 2) - ->willReturn(0); - $this->config->expects($this->at(2)) - ->method('getSystemValue') - ->with('logtimezone', 'UTC') - ->willReturn('logtimezone_value'); + ->willReturnMap([ + ['log_type', 'file', 'log_type_value'], + ['loglevel', 2, 0], + ['logtimezone', 'UTC', 'logtimezone_value'], + ]); - $this->consoleOutput->expects($this->at(0)) - ->method('writeln') - ->with('Enabled logging backend: log_type_value'); - $this->consoleOutput->expects($this->at(1)) - ->method('writeln') - ->with('Log level: Debug (0)'); - $this->consoleOutput->expects($this->at(2)) + $calls = [ + ['Enabled logging backend: log_type_value'], + ['Log level: Debug (0)'], + ['Log timezone: logtimezone_value'], + ]; + $this->consoleOutput->expects($this->exactly(3)) ->method('writeln') - ->with('Log timezone: logtimezone_value'); + ->willReturnCallback(function (string $message) use (&$calls): void { + $call = array_shift($calls); + $this->assertStringContainsString($call[0], $message); + }); self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); } |