mirror of
https://github.com/valitydev/openapi-generator.git
synced 2024-11-08 11:23:58 +00:00
fix isBinary, CodegenParameter copy, add isBinary to php api client
This commit is contained in:
parent
c7b9635e98
commit
fee8acef97
@ -110,6 +110,7 @@ public class CodegenParameter {
|
|||||||
output.allowableValues = new HashMap<String, Object>(this.allowableValues);
|
output.allowableValues = new HashMap<String, Object>(this.allowableValues);
|
||||||
}
|
}
|
||||||
output.vendorExtensions = this.vendorExtensions;
|
output.vendorExtensions = this.vendorExtensions;
|
||||||
|
output.isBinary = this.isBinary;
|
||||||
|
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
@ -1329,6 +1329,7 @@ public class DefaultCodegen {
|
|||||||
cookieParams.add(p.copy());
|
cookieParams.add(p.copy());
|
||||||
} else if (param instanceof BodyParameter) {
|
} else if (param instanceof BodyParameter) {
|
||||||
p.isBodyParam = new Boolean(true);
|
p.isBodyParam = new Boolean(true);
|
||||||
|
p.isBinary = p.dataType.toLowerCase().startsWith("byte");
|
||||||
bodyParam = p;
|
bodyParam = p;
|
||||||
bodyParams.add(p.copy());
|
bodyParams.add(p.copy());
|
||||||
} else if (param instanceof FormParameter) {
|
} else if (param instanceof FormParameter) {
|
||||||
@ -1422,7 +1423,7 @@ public class DefaultCodegen {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
r.dataType = cm.datatype;
|
r.dataType = cm.datatype;
|
||||||
r.isBinary = cm.datatype.equals("byte[]");
|
r.isBinary = cm.datatype.toLowerCase().startsWith("byte");
|
||||||
if (cm.isContainer != null) {
|
if (cm.isContainer != null) {
|
||||||
r.simpleType = false;
|
r.simpleType = false;
|
||||||
r.containerType = cm.containerType;
|
r.containerType = cm.containerType;
|
||||||
@ -1567,12 +1568,7 @@ public class DefaultCodegen {
|
|||||||
CodegenProperty cp = fromProperty("property", prop);
|
CodegenProperty cp = fromProperty("property", prop);
|
||||||
if (cp != null) {
|
if (cp != null) {
|
||||||
p.dataType = cp.datatype;
|
p.dataType = cp.datatype;
|
||||||
if (p.dataType.equals("byte[]")) {
|
p.isBinary = cp.datatype.toLowerCase().startsWith("byte");
|
||||||
p.isBinary = true;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
p.isBinary = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (model instanceof ArrayModel) {
|
} else if (model instanceof ArrayModel) {
|
||||||
|
@ -188,7 +188,7 @@ use \{{invokerPackage}}\ObjectSerializer;
|
|||||||
{{#bodyParams}}// body params
|
{{#bodyParams}}// body params
|
||||||
$_tempBody = null;
|
$_tempBody = null;
|
||||||
if (isset(${{paramName}})) {
|
if (isset(${{paramName}})) {
|
||||||
$_tempBody = ${{paramName}};
|
{{^isBinary}}$_tempBody = ${{paramName}};{{/isBinary}}{{#isBinary}}$_tempBody = call_user_func_array('pack', array_merge(array('C*'), ${{paramName}}));{{/isBinary}}
|
||||||
}{{/bodyParams}}
|
}{{/bodyParams}}
|
||||||
|
|
||||||
// for model (json/xml)
|
// for model (json/xml)
|
||||||
|
@ -1026,7 +1026,7 @@ class PetApi
|
|||||||
// body params
|
// body params
|
||||||
$_tempBody = null;
|
$_tempBody = null;
|
||||||
if (isset($body)) {
|
if (isset($body)) {
|
||||||
$_tempBody = $body;
|
$_tempBody = call_user_func_array('pack', array_merge(array('C*'), $body));
|
||||||
}
|
}
|
||||||
|
|
||||||
// for model (json/xml)
|
// for model (json/xml)
|
||||||
|
@ -206,24 +206,60 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
|
|||||||
}
|
}
|
||||||
|
|
||||||
// test addPet and verify by the "id" and "name" of the response
|
// test addPet and verify by the "id" and "name" of the response
|
||||||
public function testAddPetUsingByteArray()
|
public function testAddPet()
|
||||||
{
|
{
|
||||||
// initialize the API client
|
// initialize the API client
|
||||||
$config = (new Swagger\Client\Configuration())->setHost('http://petstore.swagger.io/v2');
|
$config = (new Swagger\Client\Configuration())->setHost('http://petstore.swagger.io/v2');
|
||||||
$api_client = new Swagger\Client\ApiClient($config);
|
$api_client = new Swagger\Client\ApiClient($config);
|
||||||
$new_pet_id = 10001;
|
$new_pet_id = 10005;
|
||||||
$new_pet = new Swagger\Client\Model\Pet;
|
$new_pet = new Swagger\Client\Model\Pet;
|
||||||
$new_pet->setId($new_pet_id);
|
$new_pet->setId($new_pet_id);
|
||||||
$new_pet->setName("PHP Unit Test");
|
$new_pet->setName("PHP Unit Test 2");
|
||||||
$pet_api = new Swagger\Client\Api\PetAPI($api_client);
|
$pet_api = new Swagger\Client\Api\PetAPI($api_client);
|
||||||
// add a new pet (model)
|
// add a new pet (model)
|
||||||
$add_response = $pet_api->addPetUsingByteArray(unpack('C*', $new_pet));
|
$add_response = $pet_api->addPet($new_pet);
|
||||||
// return nothing (void)
|
// return nothing (void)
|
||||||
$this->assertSame($add_response, NULL);
|
$this->assertSame($add_response, NULL);
|
||||||
// verify added Pet
|
// verify added Pet
|
||||||
$response = $pet_api->getPetById($new_pet_id);
|
$response = $pet_api->getPetById($new_pet_id);
|
||||||
$this->assertSame($response->getId(), $new_pet_id);
|
$this->assertSame($response->getId(), $new_pet_id);
|
||||||
$this->assertSame($response->getName(), 'PHP Unit Test');
|
$this->assertSame($response->getName(), 'PHP Unit Test 2');
|
||||||
|
}
|
||||||
|
|
||||||
|
// test addPetUsingByteArray and verify by the "id" and "name" of the response
|
||||||
|
public function testAddPetUsingByteArray()
|
||||||
|
{
|
||||||
|
// initialize the API client
|
||||||
|
$config = (new Swagger\Client\Configuration())->setHost('http://petstore.swagger.io/v2');
|
||||||
|
$api_client = new Swagger\Client\ApiClient($config);
|
||||||
|
|
||||||
|
$new_pet_id = 10005;
|
||||||
|
$new_pet = new Swagger\Client\Model\Pet;
|
||||||
|
$new_pet->setId($new_pet_id);
|
||||||
|
$new_pet->setName("PHP Unit Test 3");
|
||||||
|
// new tag
|
||||||
|
$tag= new Swagger\Client\Model\Tag;
|
||||||
|
$tag->setId($new_pet_id); // use the same id as pet
|
||||||
|
$tag->setName("test php tag");
|
||||||
|
// new category
|
||||||
|
$category = new Swagger\Client\Model\Category;
|
||||||
|
$category->setId($new_pet_id); // use the same id as pet
|
||||||
|
$category->setName("test php category");
|
||||||
|
|
||||||
|
$new_pet->setTags(array($tag));
|
||||||
|
$new_pet->setCategory($category);
|
||||||
|
|
||||||
|
$pet_api = new Swagger\Client\Api\PetAPI($api_client);
|
||||||
|
// add a new pet (model)
|
||||||
|
$object_serializer = new Swagger\Client\ObjectSerializer();
|
||||||
|
$pet_json_string = json_encode($object_serializer->sanitizeForSerialization($new_pet));
|
||||||
|
$add_response = $pet_api->addPetUsingByteArray(unpack('C*', $pet_json_string));
|
||||||
|
// return nothing (void)
|
||||||
|
$this->assertSame($add_response, NULL);
|
||||||
|
// verify added Pet
|
||||||
|
$response = $pet_api->getPetById($new_pet_id);
|
||||||
|
$this->assertSame($response->getId(), $new_pet_id);
|
||||||
|
$this->assertSame($response->getName(), 'PHP Unit Test 3');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -273,7 +309,8 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->assertInternalType("array", $bytes);
|
$this->assertInternalType("array", $bytes);
|
||||||
|
|
||||||
$this->assertSame($json['id'], $pet_id);
|
$this->assertSame($json['id'], $pet_id);
|
||||||
$this->assertSame($json['name'], 'PHP Unit Test');
|
// not testing name as it's tested by addPetUsingByteArray
|
||||||
|
//$this->assertSame($json['name'], 'PHP Unit Test');
|
||||||
$this->assertSame($json['category']['id'], $pet_id);
|
$this->assertSame($json['category']['id'], $pet_id);
|
||||||
$this->assertSame($json['category']['name'], 'test php category');
|
$this->assertSame($json['category']['name'], 'test php category');
|
||||||
$this->assertSame($json['tags'][0]['id'], $pet_id);
|
$this->assertSame($json['tags'][0]['id'], $pet_id);
|
||||||
|
Loading…
Reference in New Issue
Block a user