Akihito Nakano 34abedeb8a
[PHP] Bump minimum required version to PHP7.1 (#1491)
* Bump minimum required version to PHP7.1

ref: http://php.net/supported-versions.php

* Bump phpunit

* Update [api|model]_test.mustache

* Update samples

bin/openapi3/php-petstore.sh

* Update namespace of PHPUnit ("tests" folder)

* `setExpectedException` is deleted in PHPUnit 7.4

* Update namespace of "Assert" class

* The attribute 'name' is required

* Add anotation to exclude the test from risky testcheck

* Update samples (samples/client/petstore/php)

* Apply updates to "test" in openapi2 folder (samples/client/petstore/php)

b3495ecbfe
15e00ae89d
2fc6917d13
0d016c00ed

* Install php7.1

* Switch to php7

* Update samples (security)

bin/security/php-petstore.sh
2018-11-26 08:59:22 +07:00

100 lines
2.4 KiB
PHP

<?php
namespace OpenAPI\Client;
use OpenAPI\Client\Model\EnumTest;
use OpenAPI\Client\Model\OuterEnum;
use PHPUnit\Framework\TestCase;
class OuterEnumTest extends TestCase
{
public function testDeserialize()
{
$result = ObjectSerializer::deserialize(
"placed",
OuterEnum::class
);
$this->assertInternalType('string', $result);
$this->assertEquals('placed', $result);
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage Invalid value for enum
*/
public function testDeserializeInvalidValue()
{
ObjectSerializer::deserialize(
"lkjfalgkdfjg",
OuterEnum::class
);
}
public function testDeserializeNested()
{
$json = '{
"enum_string": "UPPER",
"enum_integer": -1,
"enum_number": -1.2,
"outerEnum": "approved"
}';
/** * @var EnumTest $result */
$result = ObjectSerializer::deserialize(
json_decode($json),
EnumTest::class
);
$this->assertInstanceOf(EnumTest::class, $result);
$this->assertEquals('approved', $result->getOuterEnum());
}
public function testSanitize()
{
$json = "placed";
$result = ObjectSerializer::sanitizeForSerialization(
$json
);
$this->assertInternalType('string', $result);
}
public function testSanitizeNested()
{
$input = new EnumTest([
'enum_string' => 'UPPER',
'enum_integer' => -1,
'enum_number' => -1.2,
'outer_enum' => 'approved'
]);
$result = ObjectSerializer::sanitizeForSerialization(
$input
);
$this->assertInternalType('object', $result);
$this->assertInstanceOf(\stdClass::class, $result);
$this->assertInternalType('string', $result->outerEnum);
$this->assertEquals('approved', $result->outerEnum);
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage Invalid value for enum
*/
public function testSanitizeNestedInvalidValue()
{
$input = new EnumTest([
'enum_string' => 'UPPER',
'enum_integer' => -1,
'enum_number' => -1.2,
'outer_enum' => 'invalid_value'
]);
ObjectSerializer::sanitizeForSerialization($input);
}
}