forked from loafle/openapi-generator-original
add test case for api client instance
This commit is contained in:
parent
612abf134b
commit
691838c47d
@ -92,15 +92,36 @@ class APIClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param integer $seconds Number of seconds before timing out [set to 0 for no timeout]
|
* get the user agent of the api client
|
||||||
|
*
|
||||||
|
* @return string user agent
|
||||||
|
*/
|
||||||
|
public function getUserAgent($user_agent) {
|
||||||
|
return $this->user_agent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the HTTP timeout value
|
||||||
|
*
|
||||||
|
* @param integer $seconds Number of seconds before timing out [set to 0 for no timeout]
|
||||||
*/
|
*/
|
||||||
public function setTimeout($seconds) {
|
public function setTimeout($seconds) {
|
||||||
if (!is_numeric($seconds))
|
if (!is_numeric($seconds) || $seconds < 0)
|
||||||
throw new \InvalidArgumentException('Timeout variable must be numeric.');
|
throw new \InvalidArgumentException('Timeout value must be numeric and a non-negative number.');
|
||||||
|
|
||||||
$this->curl_timeout = $seconds;
|
$this->curl_timeout = $seconds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the HTTP timeout value
|
||||||
|
*
|
||||||
|
* @return string HTTP timeout value
|
||||||
|
*/
|
||||||
|
public function getTimeout() {
|
||||||
|
return $this->curl_timeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get API key (with prefix if set)
|
* Get API key (with prefix if set)
|
||||||
* @param string key name
|
* @param string key name
|
||||||
|
@ -38,6 +38,22 @@ class {{classname}} {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private $apiClient; // instance of the APIClient
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the API client
|
||||||
|
*/
|
||||||
|
public function getApiClient() {
|
||||||
|
return $this->apiClient;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the API client
|
||||||
|
*/
|
||||||
|
public function setApiClient($apiClient) {
|
||||||
|
$this->apiClient = $apiClient;
|
||||||
|
}
|
||||||
|
|
||||||
{{#operation}}
|
{{#operation}}
|
||||||
/**
|
/**
|
||||||
* {{{nickname}}}
|
* {{{nickname}}}
|
||||||
|
@ -92,15 +92,36 @@ class APIClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param integer $seconds Number of seconds before timing out [set to 0 for no timeout]
|
* get the user agent of the api client
|
||||||
|
*
|
||||||
|
* @return string user agent
|
||||||
|
*/
|
||||||
|
public function getUserAgent($user_agent) {
|
||||||
|
return $this->user_agent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the HTTP timeout value
|
||||||
|
*
|
||||||
|
* @param integer $seconds Number of seconds before timing out [set to 0 for no timeout]
|
||||||
*/
|
*/
|
||||||
public function setTimeout($seconds) {
|
public function setTimeout($seconds) {
|
||||||
if (!is_numeric($seconds))
|
if (!is_numeric($seconds) || $seconds < 0)
|
||||||
throw new \InvalidArgumentException('Timeout variable must be numeric.');
|
throw new \InvalidArgumentException('Timeout value must be numeric and a non-negative number.');
|
||||||
|
|
||||||
$this->curl_timeout = $seconds;
|
$this->curl_timeout = $seconds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the HTTP timeout value
|
||||||
|
*
|
||||||
|
* @return string HTTP timeout value
|
||||||
|
*/
|
||||||
|
public function getTimeout() {
|
||||||
|
return $this->curl_timeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get API key (with prefix if set)
|
* Get API key (with prefix if set)
|
||||||
* @param string key name
|
* @param string key name
|
||||||
|
@ -24,7 +24,6 @@ namespace SwaggerClient;
|
|||||||
|
|
||||||
class PetApi {
|
class PetApi {
|
||||||
|
|
||||||
|
|
||||||
function __construct($apiClient = null) {
|
function __construct($apiClient = null) {
|
||||||
if (null === $apiClient) {
|
if (null === $apiClient) {
|
||||||
if (Configuration::$apiClient === null) {
|
if (Configuration::$apiClient === null) {
|
||||||
@ -38,8 +37,7 @@ class PetApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private $apiClient; // instance of the APIClient
|
||||||
private $apiClient;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the API client
|
* get the API client
|
||||||
@ -51,10 +49,11 @@ class PetApi {
|
|||||||
/**
|
/**
|
||||||
* set the API client
|
* set the API client
|
||||||
*/
|
*/
|
||||||
public function getApiClient($apiClient) {
|
public function setApiClient($apiClient) {
|
||||||
$this->apiClient = $apiClient;
|
$this->apiClient = $apiClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* updatePet
|
* updatePet
|
||||||
*
|
*
|
||||||
|
@ -37,6 +37,22 @@ class StoreApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private $apiClient; // instance of the APIClient
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the API client
|
||||||
|
*/
|
||||||
|
public function getApiClient() {
|
||||||
|
return $this->apiClient;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the API client
|
||||||
|
*/
|
||||||
|
public function setApiClient($apiClient) {
|
||||||
|
$this->apiClient = $apiClient;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* getInventory
|
* getInventory
|
||||||
|
@ -37,6 +37,22 @@ class UserApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private $apiClient; // instance of the APIClient
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the API client
|
||||||
|
*/
|
||||||
|
public function getApiClient() {
|
||||||
|
return $this->apiClient;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the API client
|
||||||
|
*/
|
||||||
|
public function setApiClient($apiClient) {
|
||||||
|
$this->apiClient = $apiClient;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* createUser
|
* createUser
|
||||||
|
@ -7,8 +7,8 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
// add a new pet (id 10005) to ensure the pet object is available for all the tests
|
// add a new pet (id 10005) to ensure the pet object is available for all the tests
|
||||||
public static function setUpBeforeClass() {
|
public static function setUpBeforeClass() {
|
||||||
// initialize the API client
|
// skip initializing the API client as it should be automatic
|
||||||
$api_client = new SwaggerClient\APIClient('http://petstore.swagger.io/v2');
|
//$api_client = new SwaggerClient\APIClient('http://petstore.swagger.io/v2');
|
||||||
// new pet
|
// new pet
|
||||||
$new_pet_id = 10005;
|
$new_pet_id = 10005;
|
||||||
$new_pet = new SwaggerClient\models\Pet;
|
$new_pet = new SwaggerClient\models\Pet;
|
||||||
@ -26,7 +26,7 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
|
|||||||
$new_pet->tags = [$tag];
|
$new_pet->tags = [$tag];
|
||||||
$new_pet->category = $category;
|
$new_pet->category = $category;
|
||||||
|
|
||||||
$pet_api = new SwaggerClient\PetAPI($api_client);
|
$pet_api = new SwaggerClient\PetAPI();
|
||||||
// add a new pet (model)
|
// add a new pet (model)
|
||||||
$add_response = $pet_api->addPet($new_pet);
|
$add_response = $pet_api->addPet($new_pet);
|
||||||
}
|
}
|
||||||
@ -34,26 +34,49 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
|
|||||||
// test static functions defined in APIClient
|
// test static functions defined in APIClient
|
||||||
public function testAPIClient()
|
public function testAPIClient()
|
||||||
{
|
{
|
||||||
# test selectHeaderAccept
|
// test selectHeaderAccept
|
||||||
$this->assertSame('application/json', SwaggerClient\APIClient::selectHeaderAccept(array('application/xml','application/json')));
|
$this->assertSame('application/json', SwaggerClient\APIClient::selectHeaderAccept(array('application/xml','application/json')));
|
||||||
$this->assertSame(NULL, SwaggerClient\APIClient::selectHeaderAccept(array()));
|
$this->assertSame(NULL, SwaggerClient\APIClient::selectHeaderAccept(array()));
|
||||||
$this->assertSame('application/yaml,application/xml', SwaggerClient\APIClient::selectHeaderAccept(array('application/yaml','application/xml')));
|
$this->assertSame('application/yaml,application/xml', SwaggerClient\APIClient::selectHeaderAccept(array('application/yaml','application/xml')));
|
||||||
|
|
||||||
# test selectHeaderContentType
|
// test selectHeaderContentType
|
||||||
$this->assertSame('application/json', SwaggerClient\APIClient::selectHeaderContentType(array('application/xml','application/json')));
|
$this->assertSame('application/json', SwaggerClient\APIClient::selectHeaderContentType(array('application/xml','application/json')));
|
||||||
$this->assertSame('application/json', SwaggerClient\APIClient::selectHeaderContentType(array()));
|
$this->assertSame('application/json', SwaggerClient\APIClient::selectHeaderContentType(array()));
|
||||||
$this->assertSame('application/yaml,application/xml', SwaggerClient\APIClient::selectHeaderContentType(array('application/yaml','application/xml')));
|
$this->assertSame('application/yaml,application/xml', SwaggerClient\APIClient::selectHeaderContentType(array('application/yaml','application/xml')));
|
||||||
|
|
||||||
# test addDefaultHeader and getDefaultHeader
|
// test addDefaultHeader and getDefaultHeader
|
||||||
SwaggerClient\APIClient::addDefaultHeader('test1', 'value1');
|
SwaggerClient\APIClient::addDefaultHeader('test1', 'value1');
|
||||||
SwaggerClient\APIClient::addDefaultHeader('test2', 200);
|
SwaggerClient\APIClient::addDefaultHeader('test2', 200);
|
||||||
$this->assertSame('value1', SwaggerClient\APIClient::getDefaultHeader()['test1']);
|
$this->assertSame('value1', SwaggerClient\APIClient::getDefaultHeader()['test1']);
|
||||||
$this->assertSame(200, SwaggerClient\APIClient::getDefaultHeader()['test2']);
|
$this->assertSame(200, SwaggerClient\APIClient::getDefaultHeader()['test2']);
|
||||||
|
|
||||||
# test deleteDefaultHeader
|
// test deleteDefaultHeader
|
||||||
SwaggerClient\APIClient::deleteDefaultHeader('test2');
|
SwaggerClient\APIClient::deleteDefaultHeader('test2');
|
||||||
$this->assertFalse(isset(SwaggerClient\APIClient::getDefaultHeader()['test2']));
|
$this->assertFalse(isset(SwaggerClient\APIClient::getDefaultHeader()['test2']));
|
||||||
|
|
||||||
|
$pet_api = new SwaggerClient\PetAPI();
|
||||||
|
$pet_api2 = new SwaggerClient\PetAPI();
|
||||||
|
$apiClient3 = new SwaggerClient\APIClient();
|
||||||
|
$apiClient3->setUserAgent = 'api client 3';
|
||||||
|
$apiClient4 = new SwaggerClient\APIClient();
|
||||||
|
$apiClient4->setUserAgent = 'api client 4';
|
||||||
|
$pet_api3 = new SwaggerClient\PetAPI($apiClient3);
|
||||||
|
|
||||||
|
// same default api client
|
||||||
|
$this->assertSame($pet_api->getApiClient(), $pet_api2->getApiClient());
|
||||||
|
// confirm using the default api client in the Configuration
|
||||||
|
$this->assertSame($pet_api->getApiClient(), SwaggerClient\Configuration::$apiClient);
|
||||||
|
// 2 different api clients are not the same
|
||||||
|
$this->assertNotEquals($apiClient3, $apiClient4);
|
||||||
|
// customized pet api not using the default (configuration) api client
|
||||||
|
$this->assertNotEquals($pet_api3->getApiClient(), SwaggerClient\Configuration::$apiClient);
|
||||||
|
// customied pet api not using the old pet api's api client
|
||||||
|
$this->assertNotEquals($pet_api2->getApiClient(), $pet_api3->getApiClient());
|
||||||
|
|
||||||
|
// both pet api and pet api2 share the same api client and confirm using timeout value
|
||||||
|
$pet_api->getApiClient()->setTimeout(999);
|
||||||
|
$this->assertSame(999, $pet_api2->getApiClient()->getTimeout());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// test getPetById with a Pet object (id 10005)
|
// test getPetById with a Pet object (id 10005)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user