--- /dev/null
+<?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/>
+ *
+ */
+
+namespace Tests\Core\Command\Log;
+
+
+use OC\Core\Command\Log\File;
+use Test\TestCase;
+
+class FileTest extends TestCase {
+ /** @var \PHPUnit_Framework_MockObject_MockObject */
+ protected $config;
+ /** @var \PHPUnit_Framework_MockObject_MockObject */
+ protected $consoleInput;
+ /** @var \PHPUnit_Framework_MockObject_MockObject */
+ protected $consoleOutput;
+
+ /** @var \Symfony\Component\Console\Command\Command */
+ protected $command;
+
+ protected function setUp() {
+ parent::setUp();
+
+ $config = $this->config = $this->getMockBuilder('OCP\IConfig')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->consoleInput = $this->getMock('Symfony\Component\Console\Input\InputInterface');
+ $this->consoleOutput = $this->getMock('Symfony\Component\Console\Output\OutputInterface');
+
+ $this->command = new File($config);
+ }
+
+ public function testEnable() {
+ $this->consoleInput->method('getOption')
+ ->will($this->returnValueMap([
+ ['enable', 'true']
+ ]));
+ $this->config->expects($this->once())
+ ->method('setSystemValue')
+ ->with('log_type', 'file');
+
+ self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]);
+ }
+
+ public function testChangeFile() {
+ $this->consoleInput->method('getOption')
+ ->will($this->returnValueMap([
+ ['file', '/foo/bar/file.log']
+ ]));
+ $this->config->expects($this->once())
+ ->method('setSystemValue')
+ ->with('logfile', '/foo/bar/file.log');
+
+ self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]);
+ }
+
+ public function changeRotateSizeProvider() {
+ return [
+ ['42', 42],
+ ['0', 0],
+ ['1 kB', 1024],
+ ['5MB', 5 * 1024 * 1024],
+ ];
+ }
+
+ /**
+ * @dataProvider changeRotateSizeProvider
+ */
+ public function testChangeRotateSize($optionValue, $configValue) {
+ $this->consoleInput->method('getOption')
+ ->will($this->returnValueMap([
+ ['rotate-size', $optionValue]
+ ]));
+ $this->config->expects($this->once())
+ ->method('setSystemValue')
+ ->with('log_rotate_size', $configValue);
+
+ self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]);
+ }
+
+ public function testGetConfiguration() {
+ $this->config->method('getSystemValue')
+ ->will($this->returnValueMap([
+ ['log_type', 'file', 'log_type_value'],
+ ['datadirectory', \OC::$SERVERROOT.'/data', '/data/directory/'],
+ ['logfile', '/data/directory/nextcloud.log', '/var/log/nextcloud.log'],
+ ['log_rotate_size', 0, 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))
+ ->method('writeln')
+ ->with('Rotate at: 5 MB');
+
+ self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]);
+ }
+
+}
+++ /dev/null
-<?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/>
- *
- */
-
-namespace Tests\Core\Command\Log;
-
-
-use OC\Core\Command\Log\File;
-use Test\TestCase;
-
-class OwnCloudTest extends TestCase {
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- protected $config;
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- protected $consoleInput;
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- protected $consoleOutput;
-
- /** @var \Symfony\Component\Console\Command\Command */
- protected $command;
-
- protected function setUp() {
- parent::setUp();
-
- $config = $this->config = $this->getMockBuilder('OCP\IConfig')
- ->disableOriginalConstructor()
- ->getMock();
- $this->consoleInput = $this->getMock('Symfony\Component\Console\Input\InputInterface');
- $this->consoleOutput = $this->getMock('Symfony\Component\Console\Output\OutputInterface');
-
- $this->command = new File($config);
- }
-
- public function testEnable() {
- $this->consoleInput->method('getOption')
- ->will($this->returnValueMap([
- ['enable', 'true']
- ]));
- $this->config->expects($this->once())
- ->method('setSystemValue')
- ->with('log_type', 'file');
-
- self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]);
- }
-
- public function testChangeFile() {
- $this->consoleInput->method('getOption')
- ->will($this->returnValueMap([
- ['file', '/foo/bar/file.log']
- ]));
- $this->config->expects($this->once())
- ->method('setSystemValue')
- ->with('logfile', '/foo/bar/file.log');
-
- self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]);
- }
-
- public function changeRotateSizeProvider() {
- return [
- ['42', 42],
- ['0', 0],
- ['1 kB', 1024],
- ['5MB', 5 * 1024 * 1024],
- ];
- }
-
- /**
- * @dataProvider changeRotateSizeProvider
- */
- public function testChangeRotateSize($optionValue, $configValue) {
- $this->consoleInput->method('getOption')
- ->will($this->returnValueMap([
- ['rotate-size', $optionValue]
- ]));
- $this->config->expects($this->once())
- ->method('setSystemValue')
- ->with('log_rotate_size', $configValue);
-
- self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]);
- }
-
- public function testGetConfiguration() {
- $this->config->method('getSystemValue')
- ->will($this->returnValueMap([
- ['log_type', 'file', 'log_type_value'],
- ['datadirectory', \OC::$SERVERROOT.'/data', '/data/directory/'],
- ['logfile', '/data/directory/nextcloud.log', '/var/log/nextcloud.log'],
- ['log_rotate_size', 0, 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))
- ->method('writeln')
- ->with('Rotate at: 5 MB');
-
- self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]);
- }
-
-}
--- /dev/null
+<?php
+/**
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library 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 library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+namespace Test\Log;
+
+use OC\Log\File;
+use Test\TestCase;
+
+/**
+ * Class FileTest
+ *
+ * @group DB
+ */
+class FileTest extends TestCase
+{
+ private $restore_logfile;
+ private $restore_logdateformat;
+
+ protected function setUp() {
+ parent::setUp();
+ $config = \OC::$server->getConfig();
+ $this->restore_logfile = $config->getSystemValue("logfile");
+ $this->restore_logdateformat = $config->getSystemValue('logdateformat');
+
+ $config->setSystemValue("logfile", $config->getSystemValue('datadirectory') . "/logtest");
+ File::init();
+ }
+ protected function tearDown() {
+ $config = \OC::$server->getConfig();
+ if (isset($this->restore_logfile)) {
+ $config->getSystemValue("logfile", $this->restore_logfile);
+ } else {
+ $config->deleteSystemValue("logfile");
+ }
+ if (isset($this->restore_logdateformat)) {
+ $config->getSystemValue("logdateformat", $this->restore_logdateformat);
+ } else {
+ $config->deleteSystemValue("restore_logdateformat");
+ }
+ File::init();
+ parent::tearDown();
+ }
+
+ public function testMicrosecondsLogTimestamp() {
+ $config = \OC::$server->getConfig();
+ # delete old logfile
+ unlink($config->getSystemValue('logfile'));
+
+ # set format & write log line
+ $config->setSystemValue('logdateformat', 'u');
+ File::write('test', 'message', \OCP\Util::ERROR);
+
+ # read log line
+ $handle = @fopen($config->getSystemValue('logfile'), 'r');
+ $line = fread($handle, 1000);
+ fclose($handle);
+
+ # check timestamp has microseconds part
+ $values = (array) json_decode($line);
+ $microseconds = $values['time'];
+ $this->assertNotEquals(0, $microseconds);
+
+ }
+
+
+}
+++ /dev/null
-<?php
-/**
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library 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 library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-namespace Test\Log;
-
-use OC\Log\File;
-use Test\TestCase;
-
-/**
- * Class OwncloudTest
- *
- * @group DB
- */
-class OwncloudTest extends TestCase
-{
- private $restore_logfile;
- private $restore_logdateformat;
-
- protected function setUp() {
- parent::setUp();
- $config = \OC::$server->getConfig();
- $this->restore_logfile = $config->getSystemValue("logfile");
- $this->restore_logdateformat = $config->getSystemValue('logdateformat');
-
- $config->setSystemValue("logfile", $config->getSystemValue('datadirectory') . "/logtest");
- File::init();
- }
- protected function tearDown() {
- $config = \OC::$server->getConfig();
- if (isset($this->restore_logfile)) {
- $config->getSystemValue("logfile", $this->restore_logfile);
- } else {
- $config->deleteSystemValue("logfile");
- }
- if (isset($this->restore_logdateformat)) {
- $config->getSystemValue("logdateformat", $this->restore_logdateformat);
- } else {
- $config->deleteSystemValue("restore_logdateformat");
- }
- File::init();
- parent::tearDown();
- }
-
- public function testMicrosecondsLogTimestamp() {
- $config = \OC::$server->getConfig();
- # delete old logfile
- unlink($config->getSystemValue('logfile'));
-
- # set format & write log line
- $config->setSystemValue('logdateformat', 'u');
- File::write('test', 'message', \OCP\Util::ERROR);
-
- # read log line
- $handle = @fopen($config->getSystemValue('logfile'), 'r');
- $line = fread($handle, 1000);
- fclose($handle);
-
- # check timestamp has microseconds part
- $values = (array) json_decode($line);
- $microseconds = $values['time'];
- $this->assertNotEquals(0, $microseconds);
-
- }
-
-
-}