X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2Fsrc%2FConsole%2FServerBlockConsoleTest.php;h=202714fb1f020c4dbfb0b9df3b91ca4dd628e462;hb=7dadc7f6dc0b1e68bfa5937b3a3fa3fd9cdcacd1;hp=11856eac165d60d3533b0dade1f229620b142f78;hpb=e17db489eee549f47c39c9b5494063476ed4aeb0;p=friendica.git diff --git a/tests/src/Console/ServerBlockConsoleTest.php b/tests/src/Console/ServerBlockConsoleTest.php index 11856eac16..202714fb1f 100644 --- a/tests/src/Console/ServerBlockConsoleTest.php +++ b/tests/src/Console/ServerBlockConsoleTest.php @@ -1,13 +1,30 @@ . + * + */ namespace Friendica\Test\src\Console; use Friendica\Console\ServerBlock; +use Friendica\Core\Config\Capability\IManageConfigValues; +use Mockery; -/** - * @runTestsInSeparateProcesses - * @preserveGlobalState disabled - */ class ServerBlockConsoleTest extends ConsoleTest { protected $defaultBlockList = [ @@ -20,12 +37,16 @@ class ServerBlockConsoleTest extends ConsoleTest 'reason' => 'Illegal content', ] ]; + /** + * @var IManageConfigValues|Mockery\LegacyMockInterface|Mockery\MockInterface + */ + private $configMock; - protected function setUp() + protected function setUp() : void { parent::setUp(); - $this->mockApp($this->root); + $this->configMock = Mockery::mock(IManageConfigValues::class); } /** @@ -35,11 +56,11 @@ class ServerBlockConsoleTest extends ConsoleTest { $this->configMock ->shouldReceive('get') - ->with('system', 'blocklist') + ->with('system', 'blocklist', []) ->andReturn($this->defaultBlockList) ->once(); - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $txt = $this->dumpExecute($console); $output = <<assertEquals($output, $txt); + self::assertEquals($output, $txt); } /** @@ -63,7 +84,7 @@ CONS; { $this->configMock ->shouldReceive('get') - ->with('system', 'blocklist') + ->with('system', 'blocklist', []) ->andReturn($this->defaultBlockList) ->once(); @@ -79,13 +100,13 @@ CONS; ->andReturn(true) ->once(); - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'add'); $console->setArgument(1, 'testme.now'); $console->setArgument(2, 'I like it!'); $txt = $this->dumpExecute($console); - $this->assertEquals('The domain \'testme.now\' is now blocked. (Reason: \'I like it!\')' . PHP_EOL, $txt); + self::assertEquals('The domain \'testme.now\' is now blocked. (Reason: \'I like it!\')' . PHP_EOL, $txt); } /** @@ -95,7 +116,7 @@ CONS; { $this->configMock ->shouldReceive('get') - ->with('system', 'blocklist') + ->with('system', 'blocklist', []) ->andReturn($this->defaultBlockList) ->once(); @@ -111,12 +132,12 @@ CONS; ->andReturn(true) ->once(); - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'add'); $console->setArgument(1, 'testme.now'); $txt = $this->dumpExecute($console); - $this->assertEquals('The domain \'testme.now\' is now blocked. (Reason: \'' . ServerBlock::DEFAULT_REASON . '\')' . PHP_EOL, $txt); + self::assertEquals('The domain \'testme.now\' is now blocked. (Reason: \'' . ServerBlock::DEFAULT_REASON . '\')' . PHP_EOL, $txt); } /** @@ -126,7 +147,7 @@ CONS; { $this->configMock ->shouldReceive('get') - ->with('system', 'blocklist') + ->with('system', 'blocklist', []) ->andReturn($this->defaultBlockList) ->once(); @@ -147,13 +168,13 @@ CONS; ->andReturn(true) ->once(); - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'add'); $console->setArgument(1, 'pod.ordoevangelistarum.com'); $console->setArgument(2, 'Other reason'); $txt = $this->dumpExecute($console); - $this->assertEquals('The domain \'pod.ordoevangelistarum.com\' is now updated. (Reason: \'Other reason\')' . PHP_EOL, $txt); + self::assertEquals('The domain \'pod.ordoevangelistarum.com\' is now updated. (Reason: \'Other reason\')' . PHP_EOL, $txt); } /** @@ -163,7 +184,7 @@ CONS; { $this->configMock ->shouldReceive('get') - ->with('system', 'blocklist') + ->with('system', 'blocklist', []) ->andReturn($this->defaultBlockList) ->once(); @@ -180,12 +201,12 @@ CONS; ->andReturn(true) ->once(); - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'remove'); $console->setArgument(1, 'pod.ordoevangelistarum.com'); $txt = $this->dumpExecute($console); - $this->assertEquals('The domain \'pod.ordoevangelistarum.com\' is not more blocked' . PHP_EOL, $txt); + self::assertEquals('The domain \'pod.ordoevangelistarum.com\' is not more blocked' . PHP_EOL, $txt); } /** @@ -193,11 +214,11 @@ CONS; */ public function testBlockedServersWrongCommand() { - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'wrongcommand'); $txt = $this->dumpExecute($console); - $this->assertStringStartsWith('[Warning] Unknown command', $txt); + self::assertStringStartsWith('[Warning] Unknown command', $txt); } /** @@ -207,16 +228,16 @@ CONS; { $this->configMock ->shouldReceive('get') - ->with('system', 'blocklist') + ->with('system', 'blocklist', []) ->andReturn($this->defaultBlockList) ->once(); - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'remove'); $console->setArgument(1, 'not.exiting'); $txt = $this->dumpExecute($console); - $this->assertEquals('The domain \'not.exiting\' is not blocked.' . PHP_EOL, $txt); + self::assertEquals('The domain \'not.exiting\' is not blocked.' . PHP_EOL, $txt); } /** @@ -224,11 +245,11 @@ CONS; */ public function testAddBlockedServerMissingArgument() { - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'add'); $txt = $this->dumpExecute($console); - $this->assertStringStartsWith('[Warning] Add needs a domain and optional a reason.', $txt); + self::assertStringStartsWith('[Warning] Add needs a domain and optional a reason.', $txt); } /** @@ -238,7 +259,7 @@ CONS; { $this->configMock ->shouldReceive('get') - ->with('system', 'blocklist') + ->with('system', 'blocklist', []) ->andReturn($this->defaultBlockList) ->once(); @@ -254,12 +275,12 @@ CONS; ->andReturn(false) ->once(); - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'add'); $console->setArgument(1, 'testme.now'); $txt = $this->dumpExecute($console); - $this->assertEquals('Couldn\'t save \'testme.now\' as blocked server' . PHP_EOL, $txt); + self::assertEquals('Couldn\'t save \'testme.now\' as blocked server' . PHP_EOL, $txt); } /** @@ -269,7 +290,7 @@ CONS; { $this->configMock ->shouldReceive('get') - ->with('system', 'blocklist') + ->with('system', 'blocklist', []) ->andReturn($this->defaultBlockList) ->once(); @@ -286,12 +307,12 @@ CONS; ->andReturn(false) ->once(); - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'remove'); $console->setArgument(1, 'pod.ordoevangelistarum.com'); $txt = $this->dumpExecute($console); - $this->assertEquals('Couldn\'t remove \'pod.ordoevangelistarum.com\' from blocked servers' . PHP_EOL, $txt); + self::assertEquals('Couldn\'t remove \'pod.ordoevangelistarum.com\' from blocked servers' . PHP_EOL, $txt); } /** @@ -299,11 +320,11 @@ CONS; */ public function testRemoveBlockedServerMissingArgument() { - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setArgument(0, 'remove'); $txt = $this->dumpExecute($console); - $this->assertStringStartsWith('[Warning] Remove needs a second parameter.', $txt); + self::assertStringStartsWith('[Warning] Remove needs a second parameter.', $txt); } /** @@ -311,20 +332,29 @@ CONS; */ public function testBlockedServersHelp() { - $console = new ServerBlock($this->consoleArgv); + $console = new ServerBlock($this->configMock, $this->consoleArgv); $console->setOption('help', true); $txt = $this->dumpExecute($console); $help = << [-h|--help|-?] [-v] - bin/console serverblock remove [-h|--help|-?] [-v] + bin/console serverblock [-h|--help|-?] [-v] + bin/console serverblock add [-h|--help|-?] [-v] + bin/console serverblock remove [-h|--help|-?] [-v] + bin/console serverblock export + bin/console serverblock import Description - With this tool, you can list the current blocked servers - or you can add / remove a blocked server from the list + With this tool, you can list the current blocked server domain patterns + or you can add / remove a blocked server domain pattern from the list. + Using the export and import options you can share your server blocklist + with other node admins by CSV files. + + Patterns are case-insensitive shell wildcard comprising the following special characters: + - * : Any number of characters + - ? : Any single character + - [...] : char1 or char2 or... Options -h|--help|-? Show help information @@ -332,6 +362,6 @@ Options HELP; - $this->assertEquals($help, $txt); + self::assertEquals($help, $txt); } }