Yuriy Belenko 8e78b14e28 New PHP Slim4 Server Generator (#3658)
* [Slim4] Copy Slim3 generator as starting point

* [Slim4] Add psr7Implementation generator option

Slim supports PSR-7 interfaces for its Request and Response objects.
Slim provides its own PSR-7 implementation so that it works out of the
box.
However, you are free to replace Slim’s default PSR-7 objects with
a third-party implementation.
[Ref] https://www.slimframework.com/docs/v4/concepts/value-objects.html

* [Slim4] Handle psr7Implementation generator option

It somehow ended up with composerPackages and composerDevPackages
codegen variables and two additional functions. Hope, it's not too much.

* [Slim4] Extend from Slim3 generator

* [Slim4] Bump PHP Slim Framework version to 4.0.0

* [Slim4] Bump required PHP version to 7.1

[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)

* [Slim4] Remove app settings

Slim’s App settings used to be a part of the container and  they have
now been decoupled from it.

[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)

* [Slim4] Set container argument optional

Slim uses an optional dependency container to prepare, manage,
and inject application dependencies.
Slim supports containers that implement PSR-11
like [PHP-DI](http://php-di.org/doc/frameworks/slim.html).

[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)

* [Slim4] Change response body write

You can't write to response instance directly anymore,
need to retrieve body object first.

[Doc](https://www.slimframework.com/docs/v4/objects/response.html#the-response-body)

* [Slim4] Change Slim\App constructor

[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)

* [Slim4] Refactor token authentication options

User can provide array or Container as constructor argument from now.
Small refactoring required to retrieve authentication options from
that argument.

* [Slim4] Add PSR-7 implementation codegen flags

This approach seems more flexible to me.
User can customize templates in favor of chosen PSR7 implementation.
It's easier to change Composer packages and their versions.

* [Slim4] Add JsonBodyParserMiddleware

Slim4 doesn't parse JSON body, need to add suggested middleware.
Ref: https://www.slimframework.com/docs/v4/objects/request.html#the-request-body

* [Slim4] Remove request's deprecated methods usage

Since Slim 4.0.0 ServerRequest implementation doesn't have
getQueryParam and getParsedBodyParam methods anymore.

* [Slim4] Use getUploadedFiles for multipart request

isMultipart codegen property is always false so far.
Hope that bug will be fixed soon.

* [Slim4] Add samples
2019-10-21 22:20:12 +08:00

281 lines
4.9 KiB
PHP

<?php
/**
* XmlItemTest
*
* PHP version 7.1
*
* @package OpenAPIServer\Model
* @author OpenAPI Generator team
* @link https://github.com/openapitools/openapi-generator
*/
/**
* OpenAPI Petstore
*
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
* The version of the OpenAPI document: 1.0.0
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
/**
* NOTE: This class is auto generated by the openapi generator program.
* https://github.com/openapitools/openapi-generator
* Please update the test case below to test the model.
*/
namespace OpenAPIServer\Model;
use PHPUnit\Framework\TestCase;
use OpenAPIServer\Model\XmlItem;
/**
* XmlItemTest Class Doc Comment
*
* @package OpenAPIServer\Model
* @author OpenAPI Generator team
* @link https://github.com/openapitools/openapi-generator
*
* @coversDefaultClass \OpenAPIServer\Model\XmlItem
*/
class XmlItemTest extends TestCase
{
/**
* Setup before running any test cases
*/
public static function setUpBeforeClass()
{
}
/**
* Setup before running each test case
*/
public function setUp()
{
}
/**
* Clean up after running each test case
*/
public function tearDown()
{
}
/**
* Clean up after running all test cases
*/
public static function tearDownAfterClass()
{
}
/**
* Test "XmlItem"
*/
public function testXmlItem()
{
$testXmlItem = new XmlItem();
}
/**
* Test attribute "attributeString"
*/
public function testPropertyAttributeString()
{
}
/**
* Test attribute "attributeNumber"
*/
public function testPropertyAttributeNumber()
{
}
/**
* Test attribute "attributeInteger"
*/
public function testPropertyAttributeInteger()
{
}
/**
* Test attribute "attributeBoolean"
*/
public function testPropertyAttributeBoolean()
{
}
/**
* Test attribute "wrappedArray"
*/
public function testPropertyWrappedArray()
{
}
/**
* Test attribute "nameString"
*/
public function testPropertyNameString()
{
}
/**
* Test attribute "nameNumber"
*/
public function testPropertyNameNumber()
{
}
/**
* Test attribute "nameInteger"
*/
public function testPropertyNameInteger()
{
}
/**
* Test attribute "nameBoolean"
*/
public function testPropertyNameBoolean()
{
}
/**
* Test attribute "nameArray"
*/
public function testPropertyNameArray()
{
}
/**
* Test attribute "nameWrappedArray"
*/
public function testPropertyNameWrappedArray()
{
}
/**
* Test attribute "prefixString"
*/
public function testPropertyPrefixString()
{
}
/**
* Test attribute "prefixNumber"
*/
public function testPropertyPrefixNumber()
{
}
/**
* Test attribute "prefixInteger"
*/
public function testPropertyPrefixInteger()
{
}
/**
* Test attribute "prefixBoolean"
*/
public function testPropertyPrefixBoolean()
{
}
/**
* Test attribute "prefixArray"
*/
public function testPropertyPrefixArray()
{
}
/**
* Test attribute "prefixWrappedArray"
*/
public function testPropertyPrefixWrappedArray()
{
}
/**
* Test attribute "namespaceString"
*/
public function testPropertyNamespaceString()
{
}
/**
* Test attribute "namespaceNumber"
*/
public function testPropertyNamespaceNumber()
{
}
/**
* Test attribute "namespaceInteger"
*/
public function testPropertyNamespaceInteger()
{
}
/**
* Test attribute "namespaceBoolean"
*/
public function testPropertyNamespaceBoolean()
{
}
/**
* Test attribute "namespaceArray"
*/
public function testPropertyNamespaceArray()
{
}
/**
* Test attribute "namespaceWrappedArray"
*/
public function testPropertyNamespaceWrappedArray()
{
}
/**
* Test attribute "prefixNsString"
*/
public function testPropertyPrefixNsString()
{
}
/**
* Test attribute "prefixNsNumber"
*/
public function testPropertyPrefixNsNumber()
{
}
/**
* Test attribute "prefixNsInteger"
*/
public function testPropertyPrefixNsInteger()
{
}
/**
* Test attribute "prefixNsBoolean"
*/
public function testPropertyPrefixNsBoolean()
{
}
/**
* Test attribute "prefixNsArray"
*/
public function testPropertyPrefixNsArray()
{
}
/**
* Test attribute "prefixNsWrappedArray"
*/
public function testPropertyPrefixNsWrappedArray()
{
}
}