change console to cli

This commit is contained in:
Dennis Eichhorn 2023-01-26 21:36:58 +01:00
parent de1bf517c2
commit 5902fbdf08
7 changed files with 99 additions and 64 deletions

View File

@ -4,7 +4,7 @@
* *
* PHP Version 8.1 * PHP Version 8.1
* *
* @package phpOMS\Message\Console * @package phpOMS\Message\Cli
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 1.0
* @version 1.0.0 * @version 1.0.0
@ -12,21 +12,21 @@
*/ */
declare(strict_types=1); declare(strict_types=1);
namespace phpOMS\Message\Console; namespace phpOMS\Message\Cli;
use phpOMS\Message\HeaderAbstract; use phpOMS\Message\HeaderAbstract;
/** /**
* Response class. * Response class.
* *
* @package phpOMS\Message\Console * @package phpOMS\Message\Cli
* @license OMS License 1.0 * @license OMS License 1.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
* *
* @SuppressWarnings(PHPMD.Superglobals) * @SuppressWarnings(PHPMD.Superglobals)
*/ */
final class ConsoleHeader extends HeaderAbstract final class CliHeader extends HeaderAbstract
{ {
/** /**
* Protocol version. * Protocol version.

View File

@ -4,7 +4,7 @@
* *
* PHP Version 8.1 * PHP Version 8.1
* *
* @package phpOMS\Message\Console * @package phpOMS\Message\Cli
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 1.0
* @version 1.0.0 * @version 1.0.0
@ -12,7 +12,7 @@
*/ */
declare(strict_types=1); declare(strict_types=1);
namespace phpOMS\Message\Console; namespace phpOMS\Message\Cli;
use phpOMS\Localization\Localization; use phpOMS\Localization\Localization;
use phpOMS\Message\Http\RequestMethod; use phpOMS\Message\Http\RequestMethod;
@ -25,14 +25,14 @@ use phpOMS\Utils\ArrayUtils;
/** /**
* Request class. * Request class.
* *
* @package phpOMS\Message\Console * @package phpOMS\Message\Cli
* @license OMS License 1.0 * @license OMS License 1.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
* *
* @SuppressWarnings(PHPMD.Superglobals) * @SuppressWarnings(PHPMD.Superglobals)
*/ */
final class ConsoleRequest extends RequestAbstract final class CliRequest extends RequestAbstract
{ {
/** /**
* Uri. * Uri.
@ -68,7 +68,7 @@ final class ConsoleRequest extends RequestAbstract
*/ */
public function __construct(UriInterface $uri = null, Localization $l11n = null) public function __construct(UriInterface $uri = null, Localization $l11n = null)
{ {
$this->header = new ConsoleHeader(); $this->header = new CliHeader();
$this->header->l11n = $l11n ?? new Localization(); $this->header->l11n = $l11n ?? new Localization();
$this->uri = $uri ?? new Argument(); $this->uri = $uri ?? new Argument();

View File

@ -4,7 +4,7 @@
* *
* PHP Version 8.1 * PHP Version 8.1
* *
* @package phpOMS\Message\Console * @package phpOMS\Message\Cli
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 1.0
* @version 1.0.0 * @version 1.0.0
@ -12,7 +12,7 @@
*/ */
declare(strict_types=1); declare(strict_types=1);
namespace phpOMS\Message\Console; namespace phpOMS\Message\Cli;
use phpOMS\Contract\RenderableInterface; use phpOMS\Contract\RenderableInterface;
use phpOMS\Localization\Localization; use phpOMS\Localization\Localization;
@ -26,12 +26,12 @@ use phpOMS\Views\View;
/** /**
* Response class. * Response class.
* *
* @package phpOMS\Message\Console * @package phpOMS\Message\Cli
* @license OMS License 1.0 * @license OMS License 1.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */
final class ConsoleResponse extends ResponseAbstract implements RenderableInterface final class CliResponse extends ResponseAbstract implements RenderableInterface
{ {
/** /**
* Response status. * Response status.
@ -50,7 +50,7 @@ final class ConsoleResponse extends ResponseAbstract implements RenderableInterf
*/ */
public function __construct(Localization $l11n = null) public function __construct(Localization $l11n = null)
{ {
$this->header = new ConsoleHeader(); $this->header = new CliHeader();
$this->header->l11n = $l11n ?? new Localization(); $this->header->l11n = $l11n ?? new Localization();
} }

35
Module/CliInterface.php Normal file
View File

@ -0,0 +1,35 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package phpOMS\Module
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace phpOMS\Module;
/**
* Cli module interface.
*
* @package phpOMS\Module
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
interface CliInterface
{
/**
* Answer console request.
*
* @return void
*
* @since 1.0.0
*/
public function callCli() : void;
}

View File

@ -12,29 +12,29 @@
*/ */
declare(strict_types=1); declare(strict_types=1);
namespace phpOMS\tests\Message\Console; namespace phpOMS\tests\Message\Cli;
use phpOMS\Localization\Localization; use phpOMS\Localization\Localization;
use phpOMS\Message\Console\ConsoleHeader; use phpOMS\Message\Cli\CliHeader;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\Http\RequestStatusCode;
/** /**
* @internal * @internal
*/ */
final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase final class CliHeaderTest extends \PHPUnit\Framework\TestCase
{ {
private ConsoleHeader $header; private CliHeader $header;
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function setUp() : void protected function setUp() : void
{ {
$this->header = new ConsoleHeader(); $this->header = new CliHeader();
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleHeader * @covers phpOMS\Message\Cli\CliHeader
* @group framework * @group framework
*/ */
public function testDefaults() : void public function testDefaults() : void
@ -51,7 +51,7 @@ final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleHeader * @covers phpOMS\Message\Cli\CliHeader
* @group framework * @group framework
*/ */
public function testValueInputOutput() : void public function testValueInputOutput() : void
@ -61,7 +61,7 @@ final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleHeader * @covers phpOMS\Message\Cli\CliHeader
* @group framework * @group framework
*/ */
public function testHasKey() : void public function testHasKey() : void
@ -71,7 +71,7 @@ final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleHeader * @covers phpOMS\Message\Cli\CliHeader
* @group framework * @group framework
*/ */
public function testInvalidOverwrite() : void public function testInvalidOverwrite() : void
@ -82,7 +82,7 @@ final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleHeader * @covers phpOMS\Message\Cli\CliHeader
* @group framework * @group framework
*/ */
public function testOverwrite() : void public function testOverwrite() : void
@ -93,7 +93,7 @@ final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleHeader * @covers phpOMS\Message\Cli\CliHeader
* @group framework * @group framework
*/ */
public function testRemove() : void public function testRemove() : void
@ -106,7 +106,7 @@ final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
/** /**
* @testdox The header can generate default http headers based on status codes * @testdox The header can generate default http headers based on status codes
* @covers phpOMS\Message\Console\ConsoleHeader<extended> * @covers phpOMS\Message\Cli\CliHeader<extended>
* @group framework * @group framework
*/ */
public function testHeaderGeneration() : void public function testHeaderGeneration() : void
@ -116,7 +116,7 @@ final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleHeader * @covers phpOMS\Message\Cli\CliHeader
* @group framework * @group framework
*/ */
public function testAccount() : void public function testAccount() : void
@ -126,7 +126,7 @@ final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleHeader * @covers phpOMS\Message\Cli\CliHeader
* @group framework * @group framework
*/ */
public function testLockedHeaderSet() : void public function testLockedHeaderSet() : void
@ -137,7 +137,7 @@ final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleHeader * @covers phpOMS\Message\Cli\CliHeader
* @group framework * @group framework
*/ */
public function testLockedHeaderRemove() : void public function testLockedHeaderRemove() : void

View File

@ -12,10 +12,10 @@
*/ */
declare(strict_types=1); declare(strict_types=1);
namespace phpOMS\tests\Message\Console; namespace phpOMS\tests\Message\Cli;
use phpOMS\Localization\Localization; use phpOMS\Localization\Localization;
use phpOMS\Message\Console\ConsoleRequest; use phpOMS\Message\Cli\CliRequest;
use phpOMS\Message\Http\OSType; use phpOMS\Message\Http\OSType;
use phpOMS\Message\Http\RequestMethod; use phpOMS\Message\Http\RequestMethod;
use phpOMS\Uri\Argument; use phpOMS\Uri\Argument;
@ -23,37 +23,37 @@ use phpOMS\Uri\Argument;
/** /**
* @internal * @internal
*/ */
final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase final class CliRequestTest extends \PHPUnit\Framework\TestCase
{ {
private ConsoleRequest $request; private CliRequest $request;
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function setUp() : void protected function setUp() : void
{ {
$this->request = new ConsoleRequest(new Argument('get:some/test/path'), $l11n = new Localization()); $this->request = new CliRequest(new Argument('get:some/test/path'), $l11n = new Localization());
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testDefault() : void public function testDefault() : void
{ {
$request = new ConsoleRequest(); $request = new CliRequest();
self::assertEquals('en', $request->getLanguage()); self::assertEquals('en', $request->getLanguage());
self::assertEquals(OSType::LINUX, $request->getOS()); self::assertEquals(OSType::LINUX, $request->getOS());
self::assertEquals('127.0.0.1', $request->getOrigin()); self::assertEquals('127.0.0.1', $request->getOrigin());
self::assertEmpty($request->getBody()); self::assertEmpty($request->getBody());
self::assertInstanceOf('\phpOMS\Message\Console\ConsoleHeader', $request->header); self::assertInstanceOf('\phpOMS\Message\Cli\CliHeader', $request->header);
self::assertEquals('', $request->__toString()); self::assertEquals('', $request->__toString());
self::assertFalse($request->hasData('key')); self::assertFalse($request->hasData('key'));
self::assertNull($request->getData('key')); self::assertNull($request->getData('key'));
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testOSInputOutput() : void public function testOSInputOutput() : void
@ -63,7 +63,7 @@ final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testMethodInputOutput() : void public function testMethodInputOutput() : void
@ -73,7 +73,7 @@ final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testInputOutputUriString() : void public function testInputOutputUriString() : void
@ -83,12 +83,12 @@ final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
/** /**
* @testdox The url hashes for the different paths get correctly generated * @testdox The url hashes for the different paths get correctly generated
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testHashingInputOutput() : void public function testHashingInputOutput() : void
{ {
$request = new ConsoleRequest(new Argument(':test/path ?para1=abc ?para2=2 #frag'), $l11n = new Localization()); $request = new CliRequest(new Argument(':test/path ?para1=abc ?para2=2 #frag'), $l11n = new Localization());
$request->createRequestHashs(0); $request->createRequestHashs(0);
self::assertEquals([ self::assertEquals([
@ -100,7 +100,7 @@ final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testInputOutputL11n() : void public function testInputOutputL11n() : void
@ -110,7 +110,7 @@ final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testDataInputOutput() : void public function testDataInputOutput() : void
@ -121,7 +121,7 @@ final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testHasData() : void public function testHasData() : void
@ -131,7 +131,7 @@ final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testInvalidOverwrite() : void public function testInvalidOverwrite() : void
@ -142,7 +142,7 @@ final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testOverwrite() : void public function testOverwrite() : void
@ -154,19 +154,19 @@ final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleRequest * @covers phpOMS\Message\Cli\CliRequest
* @group framework * @group framework
*/ */
public function testToString() : void public function testToString() : void
{ {
$request = new ConsoleRequest(new Argument('get:some/test/path')); $request = new CliRequest(new Argument('get:some/test/path'));
self::assertEquals('get:some/test/path', $request->__toString()); self::assertEquals('get:some/test/path', $request->__toString());
$request->setData('test', 'data'); $request->setData('test', 'data');
$request->setData('test2', 3); $request->setData('test2', 3);
self::assertEquals('get:some/test/path', $request->__toString()); self::assertEquals('get:some/test/path', $request->__toString());
$request = new ConsoleRequest(new Argument('get:some/test/path?test=var')); $request = new CliRequest(new Argument('get:some/test/path?test=var'));
self::assertEquals('get:some/test/path?test=var', $request->__toString()); self::assertEquals('get:some/test/path?test=var', $request->__toString());
} }
} }

View File

@ -12,48 +12,48 @@
*/ */
declare(strict_types=1); declare(strict_types=1);
namespace phpOMS\tests\Message\Console; namespace phpOMS\tests\Message\Cli;
use phpOMS\Localization\Localization; use phpOMS\Localization\Localization;
use phpOMS\Message\Console\ConsoleResponse; use phpOMS\Message\Cli\CliResponse;
use phpOMS\System\MimeType; use phpOMS\System\MimeType;
/** /**
* @internal * @internal
*/ */
final class ConsoleResponseTest extends \PHPUnit\Framework\TestCase final class CliResponseTest extends \PHPUnit\Framework\TestCase
{ {
protected ConsoleResponse $response; protected CliResponse $response;
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function setUp() : void protected function setUp() : void
{ {
$this->response = new ConsoleResponse(); $this->response = new CliResponse();
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleResponse * @covers phpOMS\Message\Cli\CliResponse
* @group framework * @group framework
*/ */
public function testDefault() : void public function testDefault() : void
{ {
$this->response = new ConsoleResponse(new Localization()); $this->response = new CliResponse(new Localization());
self::assertEquals('', $this->response->getBody()); self::assertEquals('', $this->response->getBody());
self::assertEquals('', $this->response->render()); self::assertEquals('', $this->response->render());
self::assertEquals([], $this->response->toArray()); self::assertEquals([], $this->response->toArray());
self::assertInstanceOf('\phpOMS\Localization\Localization', $this->response->header->l11n); self::assertInstanceOf('\phpOMS\Localization\Localization', $this->response->header->l11n);
self::assertInstanceOf('\phpOMS\Message\Console\ConsoleHeader', $this->response->header); self::assertInstanceOf('\phpOMS\Message\Cli\CliHeader', $this->response->header);
} }
/** /**
* @covers phpOMS\Message\Console\ConsoleResponse * @covers phpOMS\Message\Cli\CliResponse
* @group framework * @group framework
*/ */
public function testSetGet() : void public function testSetGet() : void
{ {
$this->response = new ConsoleResponse(new Localization()); $this->response = new CliResponse(new Localization());
$this->response->setResponse(['a' => 1]); $this->response->setResponse(['a' => 1]);
self::assertTrue($this->response->remove('a')); self::assertTrue($this->response->remove('a'));
@ -62,7 +62,7 @@ final class ConsoleResponseTest extends \PHPUnit\Framework\TestCase
/** /**
* @testdox Response data can be turned into an array * @testdox Response data can be turned into an array
* @covers phpOMS\Message\Console\ConsoleResponse<extended> * @covers phpOMS\Message\Cli\CliResponse<extended>
* @group framework * @group framework
*/ */
public function testToArray() : void public function testToArray() : void
@ -101,7 +101,7 @@ final class ConsoleResponseTest extends \PHPUnit\Framework\TestCase
/** /**
* @testdox A response with json as content-type is automatically rendered as json data * @testdox A response with json as content-type is automatically rendered as json data
* @covers phpOMS\Message\Console\ConsoleResponse<extended> * @covers phpOMS\Message\Cli\CliResponse<extended>
* @group framework * @group framework
*/ */
public function testJsonRender() : void public function testJsonRender() : void
@ -141,7 +141,7 @@ final class ConsoleResponseTest extends \PHPUnit\Framework\TestCase
/** /**
* @testdox Invalid response data results in an empty array * @testdox Invalid response data results in an empty array
* @covers phpOMS\Message\Console\ConsoleResponse<extended> * @covers phpOMS\Message\Cli\CliResponse<extended>
* @group framework * @group framework
*/ */
public function testInvalidResponseDataToArray() : void public function testInvalidResponseDataToArray() : void
@ -152,7 +152,7 @@ final class ConsoleResponseTest extends \PHPUnit\Framework\TestCase
/** /**
* @testdox Invalid response data results in an empty render * @testdox Invalid response data results in an empty render
* @covers phpOMS\Message\Console\ConsoleResponse<extended> * @covers phpOMS\Message\Cli\CliResponse<extended>
* @group framework * @group framework
*/ */
public function testInvalidResponseDataRender() : void public function testInvalidResponseDataRender() : void