]> git.mxchange.org Git - friendica.git/commitdiff
Bugfixing executable (Mocking the executable)
authorPhilipp Holzer <admin@philipp.info>
Wed, 31 Oct 2018 10:57:51 +0000 (11:57 +0100)
committerPhilipp Holzer <admin@philipp.info>
Wed, 31 Oct 2018 11:37:47 +0000 (12:37 +0100)
tests/src/Core/Console/AutomaticInstallationConsoleTest.php
tests/src/Core/Console/ConfigConsoleTest.php
tests/src/Core/Console/ConsoleTest.php

index 6fc803f8428add2f1e76b4e17ebad16e0b8c2419..bed3a578b6e40cda64c10b428dd5b21b4ecc1e21 100644 (file)
@@ -224,7 +224,7 @@ CONF;
                        ->at($this->root)
                        ->setContent($config);
 
-               $console = new AutomaticInstallation();
+               $console = new AutomaticInstallation($this->consoleArgv);
                $console->setOption('f', 'prepared.ini.php');
 
                $txt = $this->dumpExecute($console);
@@ -249,7 +249,7 @@ CONF;
                $this->assertTrue(putenv('FRIENDICA_LANG=de'));
                $this->assertTrue(putenv('FRIENDICA_URL_PATH=/friendica'));
 
-               $console = new AutomaticInstallation();
+               $console = new AutomaticInstallation($this->consoleArgv);
                $console->setOption('savedb', true);
 
                $txt = $this->dumpExecute($console);
@@ -278,7 +278,7 @@ CONF;
                $this->assertTrue(putenv('FRIENDICA_LANG=de'));
                $this->assertTrue(putenv('FRIENDICA_URL_PATH=/friendica'));
 
-               $console = new AutomaticInstallation();
+               $console = new AutomaticInstallation($this->consoleArgv);
 
                $txt = $this->dumpExecute($console);
 
@@ -301,7 +301,7 @@ CONF;
                $this->mockExistsTable('user', false, 1);
                $this->mockUpdate([false, true, true], null, 1);
 
-               $console = new AutomaticInstallation();
+               $console = new AutomaticInstallation($this->consoleArgv);
 
                $console->setOption('dbhost', $this->db_host);
                $console->setOption('dbuser', $this->db_user);
@@ -338,7 +338,7 @@ CONF;
        {
                $this->mockConnect(false, 1);
 
-               $console = new AutomaticInstallation();
+               $console = new AutomaticInstallation($this->consoleArgv);
 
                $txt = $this->dumpExecute($console);
 
@@ -400,7 +400,7 @@ Examples
 
 HELP;
 
-               $console = new AutomaticInstallation();
+               $console = new AutomaticInstallation($this->consoleArgv);
                $console->setOption('help', true);
 
                $txt = $this->dumpExecute($console);
index 1d5b3a628e2f5a2d219a0870f8d4eb7f16378f30..8f845ae7b05c2e9c227b13e912c241212a06a383 100644 (file)
@@ -33,7 +33,7 @@ class ConfigConsoleTest extends ConsoleTest
 
        function testSetGetKeyValue() {
                $this->mockConfigSet('config', 'test', 'now', 1);
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $console->setArgument(2, 'now');
@@ -41,14 +41,14 @@ class ConfigConsoleTest extends ConsoleTest
                $this->assertEquals("config.test <= now\n", $txt);
 
                $this->mockConfigGet('config', 'test', 'now', 1);
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $txt = $this->dumpExecute($console);
                $this->assertEquals("config.test => now\n", $txt);
 
                $this->mockConfigGet('config', 'test', null, 1);
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $txt = $this->dumpExecute($console);
@@ -59,7 +59,7 @@ class ConfigConsoleTest extends ConsoleTest
                $testArray = [1, 2, 3];
                $this->mockConfigGet('config', 'test', $testArray, 1);
 
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $console->setArgument(2, 'now');
@@ -69,7 +69,7 @@ class ConfigConsoleTest extends ConsoleTest
        }
 
        function testTooManyArguments() {
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $console->setArgument(2, 'it');
@@ -82,12 +82,13 @@ class ConfigConsoleTest extends ConsoleTest
 
        function testVerbose() {
                $this->mockConfigGet('test', 'it', 'now', 1);
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'test');
                $console->setArgument(1, 'it');
                $console->setOption('v', 1);
+               $executable = $this->consoleArgv[0];
                $assertion = <<<CONF
-Executable: -
+Executable: {$executable}
 Class: Friendica\Core\Console\Config
 Arguments: array (
   0 => 'test',
@@ -112,4 +113,45 @@ CONF;
                $txt = $this->dumpExecute($console);
                $this->assertSame("Unable to set test.it\n", $txt);
        }
+
+       public function testGetHelp()
+       {
+               // Usable to purposely fail if new commands are added without taking tests into account
+               $theHelp = <<<HELP
+console config - Manage site configuration
+Synopsis
+       bin/console config [-h|--help|-?] [-v]
+       bin/console config <category> [-h|--help|-?] [-v]
+       bin/console config <category> <key> [-h|--help|-?] [-v]
+       bin/console config <category> <key> <value> [-h|--help|-?] [-v]
+
+Description
+       bin/console config
+               Lists all config values
+
+       bin/console config <category>
+               Lists all config values in the provided category
+
+       bin/console config <category> <key>
+               Shows the value of the provided key in the category
+
+       bin/console config <category> <key> <value>
+               Sets the value of the provided key in the category
+
+Notes:
+       Setting config entries which are manually set in config/local.ini.php may result in
+       conflict between database settings and the manual startup settings.
+
+Options
+    -h|--help|-? Show help information
+    -v           Show more debug information.
+
+HELP;
+               $console = new Config($this->consoleArgv);
+               $console->setOption('help', true);
+
+               $txt = $this->dumpExecute($console);
+
+               $this->assertEquals($txt, $theHelp);
+       }
 }
index 6b58ccced216586ac3837a38ba30647a8fd2ca29..0997269c06a4d49103eac48f7f859e2f2bccb623 100644 (file)
@@ -13,7 +13,10 @@ abstract class ConsoleTest extends TestCase
        use VFSTrait;
        use AppMockTrait;
 
-       protected $stdout;
+       /**
+        * @var array The default argv for a Console Instance
+        */
+       protected $consoleArgv = [ 'consoleTest.php' ];
 
        protected function setUp()
        {