diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2014-12-04 17:04:35 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2014-12-11 12:02:11 +0100 |
commit | 08f1db445134e98188f3e1e5b6b84a6eac1f6346 (patch) | |
tree | 1df2c7365690ecd7277e46b14116bd8b8ca806f9 /tests | |
parent | b33d8a3d60555de3e6e99a92eed3a303e55a3380 (diff) | |
download | nextcloud-server-08f1db445134e98188f3e1e5b6b84a6eac1f6346.tar.gz nextcloud-server-08f1db445134e98188f3e1e5b6b84a6eac1f6346.zip |
adding dependencies for command line tools
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/app/dependencyanalyzer.php | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/tests/lib/app/dependencyanalyzer.php b/tests/lib/app/dependencyanalyzer.php index 7d06842e8ad..a21b53264bc 100644 --- a/tests/lib/app/dependencyanalyzer.php +++ b/tests/lib/app/dependencyanalyzer.php @@ -35,6 +35,15 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase { $this->platformMock->expects($this->any()) ->method('getDatabase') ->will( $this->returnValue('mysql')); + $this->platformMock->expects($this->any()) + ->method('getOS') + ->will( $this->returnValue('Linux')); + $this->platformMock->expects($this->any()) + ->method('isCommandKnown') + ->will( $this->returnCallback(function($command) { + return ($command === 'grep'); + })); + $this->l10nMock = $this->getMockBuilder('\OCP\IL10N') ->disableOriginalConstructor() ->getMock(); @@ -64,7 +73,6 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase { $missing = $analyser->analyze(); $this->assertTrue(is_array($missing)); - $this->assertEquals(count($expectedMissing), count($missing)); $this->assertEquals($expectedMissing, $missing); } @@ -83,10 +91,41 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase { $missing = $analyser->analyze(); $this->assertTrue(is_array($missing)); - $this->assertEquals(count($expectedMissing), count($missing)); $this->assertEquals($expectedMissing, $missing); } + /** + * @dataProvider providesCommands + */ + public function testCommand($expectedMissing, $commands) { + $app = array( + 'dependencies' => array( + ) + ); + if (!is_null($commands)) { + $app['dependencies']['command'] = $commands; + } + $analyser = new \OC\App\DependencyAnalyzer($app, $this->platformMock, $this->l10nMock); + $missing = $analyser->analyze(); + + $this->assertTrue(is_array($missing)); + $this->assertEquals($expectedMissing, $missing); + } + + function providesCommands() { + return array( + array(array(), null), + // grep is known on linux + array(array(), array(array('@attributes' => array('os' => 'Linux'), '@value' => 'grep'))), + // grepp is not known on linux + array(array('The command line tool grepp could not be found'), array(array('@attributes' => array('os' => 'Linux'), '@value' => 'grepp'))), + // we don't care about tools on Windows - we are on Linux + array(array(), array(array('@attributes' => array('os' => 'Windows'), '@value' => 'grepp'))), + // grep is known on all systems + array(array(), array('grep')), + ); + } + function providesDatabases() { return array( // non BC - in case on databases are defined -> all are supported |