3 namespace Friendica\Test\src\Core\Console;
5 use Friendica\Core\Console\Config;
8 * @runTestsInSeparateProcesses
9 * @preserveGlobalState disabled
12 class ConfigConsoleTest extends ConsoleTest
14 protected function setUp()
18 \Mockery::getConfiguration()->setConstantsMap([
19 'Friendica\App\Mode' => [
20 'DBCONFIGAVAILABLE' => 0
24 $mode = \Mockery::mock('alias:Friendica\App\Mode');
26 ->shouldReceive('has')
30 ->shouldReceive('getMode')
34 function testSetGetKeyValue() {
35 $this->mockConfigSet('config', 'test', 'now', 1);
36 $console = new Config();
37 $console->setArgument(0, 'config');
38 $console->setArgument(1, 'test');
39 $console->setArgument(2, 'now');
40 $txt = $this->dumpExecute($console);
41 $this->assertEquals("config.test <= now\n", $txt);
43 $this->mockConfigGet('config', 'test', 'now', 1);
44 $console = new Config();
45 $console->setArgument(0, 'config');
46 $console->setArgument(1, 'test');
47 $txt = $this->dumpExecute($console);
48 $this->assertEquals("config.test => now\n", $txt);
50 $this->mockConfigGet('config', 'test', null, 1);
51 $console = new Config();
52 $console->setArgument(0, 'config');
53 $console->setArgument(1, 'test');
54 $txt = $this->dumpExecute($console);
55 $this->assertEquals("config.test => \n", $txt);
58 function testSetArrayValue() {
59 $testArray = [1, 2, 3];
60 $this->mockConfigGet('config', 'test', $testArray, 1);
62 $console = new Config();
63 $console->setArgument(0, 'config');
64 $console->setArgument(1, 'test');
65 $console->setArgument(2, 'now');
66 $txt = $this->dumpExecute($console);
68 $this->assertEquals("[Error] config.test is an array and can't be set using this command.\n", $txt);
71 function testTooManyArguments() {
72 $console = new Config();
73 $console->setArgument(0, 'config');
74 $console->setArgument(1, 'test');
75 $console->setArgument(2, 'it');
76 $console->setArgument(3, 'now');
77 $txt = $this->dumpExecute($console);
78 $assertion = '[Warning] Too many arguments';
79 $firstline = substr($txt, 0, strlen($assertion));
80 $this->assertEquals($assertion, $firstline);
83 function testVerbose() {
84 $this->mockConfigGet('test', 'it', 'now', 1);
85 $console = new Config();
86 $console->setArgument(0, 'test');
87 $console->setArgument(1, 'it');
88 $console->setOption('v', 1);
91 Class: Friendica\Core\Console\Config
102 $txt = $this->dumpExecute($console);
103 $this->assertEquals($assertion, $txt);
106 function testUnableToSet() {
107 $this->mockConfigSet('test', 'it', 'now', 1, false);
108 $console = new Config();
109 $console->setArgument(0, 'test');
110 $console->setArgument(1, 'it');
111 $console->setArgument(2, 'now');
112 $txt = $this->dumpExecute($console);
113 $this->assertSame("Unable to set test.it\n", $txt);