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

View File

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

View File

@ -4,7 +4,7 @@
*
* PHP Version 8.1
*
* @package phpOMS\Message\Console
* @package phpOMS\Message\Cli
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
@ -12,7 +12,7 @@
*/
declare(strict_types=1);
namespace phpOMS\Message\Console;
namespace phpOMS\Message\Cli;
use phpOMS\Contract\RenderableInterface;
use phpOMS\Localization\Localization;
@ -26,12 +26,12 @@ use phpOMS\Views\View;
/**
* Response class.
*
* @package phpOMS\Message\Console
* @package phpOMS\Message\Cli
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class ConsoleResponse extends ResponseAbstract implements RenderableInterface
final class CliResponse extends ResponseAbstract implements RenderableInterface
{
/**
* Response status.
@ -50,7 +50,7 @@ final class ConsoleResponse extends ResponseAbstract implements RenderableInterf
*/
public function __construct(Localization $l11n = null)
{
$this->header = new ConsoleHeader();
$this->header = new CliHeader();
$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);
namespace phpOMS\tests\Message\Console;
namespace phpOMS\tests\Message\Cli;
use phpOMS\Localization\Localization;
use phpOMS\Message\Console\ConsoleHeader;
use phpOMS\Message\Cli\CliHeader;
use phpOMS\Message\Http\RequestStatusCode;
/**
* @internal
*/
final class ConsoleHeaderTest extends \PHPUnit\Framework\TestCase
final class CliHeaderTest extends \PHPUnit\Framework\TestCase
{
private ConsoleHeader $header;
private CliHeader $header;
/**
* {@inheritdoc}
*/
protected function setUp() : void
{
$this->header = new ConsoleHeader();
$this->header = new CliHeader();
}
/**
* @covers phpOMS\Message\Console\ConsoleHeader
* @covers phpOMS\Message\Cli\CliHeader
* @group framework
*/
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
*/
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
*/
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
*/
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
*/
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
*/
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
* @covers phpOMS\Message\Console\ConsoleHeader<extended>
* @covers phpOMS\Message\Cli\CliHeader<extended>
* @group framework
*/
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
*/
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
*/
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
*/
public function testLockedHeaderRemove() : void

View File

@ -12,10 +12,10 @@
*/
declare(strict_types=1);
namespace phpOMS\tests\Message\Console;
namespace phpOMS\tests\Message\Cli;
use phpOMS\Localization\Localization;
use phpOMS\Message\Console\ConsoleRequest;
use phpOMS\Message\Cli\CliRequest;
use phpOMS\Message\Http\OSType;
use phpOMS\Message\Http\RequestMethod;
use phpOMS\Uri\Argument;
@ -23,37 +23,37 @@ use phpOMS\Uri\Argument;
/**
* @internal
*/
final class ConsoleRequestTest extends \PHPUnit\Framework\TestCase
final class CliRequestTest extends \PHPUnit\Framework\TestCase
{
private ConsoleRequest $request;
private CliRequest $request;
/**
* {@inheritdoc}
*/
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
*/
public function testDefault() : void
{
$request = new ConsoleRequest();
$request = new CliRequest();
self::assertEquals('en', $request->getLanguage());
self::assertEquals(OSType::LINUX, $request->getOS());
self::assertEquals('127.0.0.1', $request->getOrigin());
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::assertFalse($request->hasData('key'));
self::assertNull($request->getData('key'));
}
/**
* @covers phpOMS\Message\Console\ConsoleRequest
* @covers phpOMS\Message\Cli\CliRequest
* @group framework
*/
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
*/
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
*/
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
* @covers phpOMS\Message\Console\ConsoleRequest
* @covers phpOMS\Message\Cli\CliRequest
* @group framework
*/
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);
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
*/
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
*/
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
*/
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
*/
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
*/
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
*/
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());
$request->setData('test', 'data');
$request->setData('test2', 3);
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());
}
}

View File

@ -12,48 +12,48 @@
*/
declare(strict_types=1);
namespace phpOMS\tests\Message\Console;
namespace phpOMS\tests\Message\Cli;
use phpOMS\Localization\Localization;
use phpOMS\Message\Console\ConsoleResponse;
use phpOMS\Message\Cli\CliResponse;
use phpOMS\System\MimeType;
/**
* @internal
*/
final class ConsoleResponseTest extends \PHPUnit\Framework\TestCase
final class CliResponseTest extends \PHPUnit\Framework\TestCase
{
protected ConsoleResponse $response;
protected CliResponse $response;
/**
* {@inheritdoc}
*/
protected function setUp() : void
{
$this->response = new ConsoleResponse();
$this->response = new CliResponse();
}
/**
* @covers phpOMS\Message\Console\ConsoleResponse
* @covers phpOMS\Message\Cli\CliResponse
* @group framework
*/
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->render());
self::assertEquals([], $this->response->toArray());
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
*/
public function testSetGet() : void
{
$this->response = new ConsoleResponse(new Localization());
$this->response = new CliResponse(new Localization());
$this->response->setResponse(['a' => 1]);
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
* @covers phpOMS\Message\Console\ConsoleResponse<extended>
* @covers phpOMS\Message\Cli\CliResponse<extended>
* @group framework
*/
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
* @covers phpOMS\Message\Console\ConsoleResponse<extended>
* @covers phpOMS\Message\Cli\CliResponse<extended>
* @group framework
*/
public function testJsonRender() : void
@ -141,7 +141,7 @@ final class ConsoleResponseTest extends \PHPUnit\Framework\TestCase
/**
* @testdox Invalid response data results in an empty array
* @covers phpOMS\Message\Console\ConsoleResponse<extended>
* @covers phpOMS\Message\Cli\CliResponse<extended>
* @group framework
*/
public function testInvalidResponseDataToArray() : void
@ -152,7 +152,7 @@ final class ConsoleResponseTest extends \PHPUnit\Framework\TestCase
/**
* @testdox Invalid response data results in an empty render
* @covers phpOMS\Message\Console\ConsoleResponse<extended>
* @covers phpOMS\Message\Cli\CliResponse<extended>
* @group framework
*/
public function testInvalidResponseDataRender() : void