2016-08-15 17:24:56 +03:00
< ? php
/**
* @ copyright Copyright ( c ) 2016 Lukas Reschke < lukas @ statuscode . ch >
*
* @ author Lukas Reschke < lukas @ statuscode . ch >
*
* @ 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 Test\Settings\Admin ;
use Doctrine\DBAL\Platforms\SqlitePlatform ;
use OC\Settings\Admin\Server ;
use OCP\AppFramework\Http\TemplateResponse ;
use OCP\IConfig ;
use OCP\IDBConnection ;
use OCP\IL10N ;
2017-03-17 15:34:23 +03:00
use OCP\IRequest ;
2016-08-15 17:24:56 +03:00
use OCP\Lock\ILockingProvider ;
use Test\TestCase ;
class ServerTest extends TestCase {
/** @var Server */
private $admin ;
/** @var IDBConnection */
private $dbConnection ;
2017-03-17 15:34:23 +03:00
/** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */
private $request ;
2016-08-15 17:24:56 +03:00
/** @var IConfig */
private $config ;
/** @var ILockingProvider */
private $lockingProvider ;
/** @var IL10N */
private $l10n ;
public function setUp () {
parent :: setUp ();
2017-10-24 16:26:53 +03:00
$this -> config = $this -> getMockBuilder ( IConfig :: class ) -> getMock ();
2017-03-17 15:34:23 +03:00
$this -> request = $this -> createMock ( IRequest :: class );
2016-08-15 17:43:22 +03:00
$this -> dbConnection = $this -> getMockBuilder ( '\OCP\IDBConnection' ) -> getMock ();
$this -> lockingProvider = $this -> getMockBuilder ( '\OCP\Lock\ILockingProvider' ) -> getMock ();
2017-10-24 16:26:53 +03:00
$this -> l10n = $this -> getMockBuilder ( IL10N :: class ) -> getMock ();
2016-08-15 17:24:56 +03:00
$this -> admin = new Server (
$this -> dbConnection ,
2017-03-17 15:34:23 +03:00
$this -> request ,
2016-08-15 17:24:56 +03:00
$this -> config ,
$this -> lockingProvider ,
$this -> l10n
);
}
public function testGetForm () {
$this -> config
-> expects ( $this -> at ( 0 ))
-> method ( 'getAppValue' )
-> with ( 'core' , 'backgroundjobs_mode' , 'ajax' )
-> willReturn ( 'ajax' );
$this -> config
2018-04-17 21:56:39 +03:00
-> expects ( $this -> at ( 1 ))
2016-08-15 17:24:56 +03:00
-> method ( 'getAppValue' )
-> with ( 'core' , 'lastcron' , false )
-> willReturn ( false );
$this -> config
2018-04-17 21:56:39 +03:00
-> expects ( $this -> at ( 2 ))
2016-08-15 17:24:56 +03:00
-> method ( 'getAppValue' )
-> with ( 'core' , 'cronErrors' )
-> willReturn ( '' );
$expected = new TemplateResponse (
'settings' ,
2017-06-29 15:38:22 +03:00
'settings/admin/server' ,
2016-08-15 17:24:56 +03:00
[
'backgroundjobs_mode' => 'ajax' ,
'lastcron' => false ,
2016-11-03 12:18:16 +03:00
'cronErrors' => '' ,
'cli_based_cron_possible' => true ,
'cli_based_cron_user' => function_exists ( 'posix_getpwuid' ) ? posix_getpwuid ( fileowner ( \OC :: $configDir . 'config.php' ))[ 'name' ] : '' , // to not explode here because of posix extension not being disabled - which is already checked in the line above
2016-08-15 17:24:56 +03:00
],
''
);
$this -> assertEquals ( $expected , $this -> admin -> getForm ());
}
public function testGetSection () {
$this -> assertSame ( 'server' , $this -> admin -> getSection ());
}
public function testGetPriority () {
$this -> assertSame ( 0 , $this -> admin -> getPriority ());
}
}