Browse Source

Bugfixing executable (Mocking the executable)

pull/6051/head
Philipp Holzer 4 years ago
parent
commit
d75cc0cb34
No known key found for this signature in database
GPG Key ID: 517BE60E2CE5C8A5
  1. 12
      tests/src/Core/Console/AutomaticInstallationConsoleTest.php
  2. 56
      tests/src/Core/Console/ConfigConsoleTest.php
  3. 5
      tests/src/Core/Console/ConsoleTest.php

12
tests/src/Core/Console/AutomaticInstallationConsoleTest.php

@ -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);

56
tests/src/Core/Console/ConfigConsoleTest.php

@ -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);
}
}

5
tests/src/Core/Console/ConsoleTest.php

@ -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()
{

Loading…
Cancel
Save