1
0
mirror of https://github.com/ovh/php-ovh.git synced 2023-11-05 03:20:26 +01:00

Added tests for #27 + fix empty comparaison

Signed-off-by: Romain Beuque <romain.beuque@corp.ovh.com>
This commit is contained in:
Romain Beuque 2016-01-21 18:22:06 +00:00
parent 0506a231ec
commit 57ba00310d
2 changed files with 88 additions and 1 deletions

View File

@ -226,7 +226,7 @@ class Api
$query_string = $request->getUri()->getQuery(); $query_string = $request->getUri()->getQuery();
$query = array(); $query = array();
if ($query_string != '') { if (!empty($query_string)) {
$queries = explode('&', $query_string); $queries = explode('&', $query_string);
foreach($queries as $element) { foreach($queries as $element) {
$key_value_query = explode('=', $element, 2); $key_value_query = explode('=', $element, 2);

View File

@ -30,6 +30,7 @@ namespace Ovh\tests;
use GuzzleHttp\Client; use GuzzleHttp\Client;
use GuzzleHttp\Middleware; use GuzzleHttp\Middleware;
use GuzzleHttp\Psr7\Response; use GuzzleHttp\Psr7\Response;
use GuzzleHttp\Psr7\Request;
use Ovh\Api; use Ovh\Api;
/** /**
@ -280,4 +281,90 @@ class ApiTest extends \PHPUnit_Framework_TestCase
$api = new Api($this->application_key, $this->application_secret, $this->endpoint, $this->consumer_key, $this->client); $api = new Api($this->application_key, $this->application_secret, $this->endpoint, $this->consumer_key, $this->client);
$this->assertEquals($this->consumer_key, $api->getConsumerKey()); $this->assertEquals($this->consumer_key, $api->getConsumerKey());
} }
/**
* Test GET query args
*/
public function testGetQueryArgs()
{
$handlerStack = $this->client->getConfig('handler');
$handlerStack->push(Middleware::mapRequest(function (Request $request) {
if($request->getUri()->getPath() == "/1.0/auth/time") {
return $request;
}
$query_string = $request->getUri()->getQuery();
$this->assertEquals($query_string, 'applicationId=49&status=pendingValidation');
$request = $request->withUri($request->getUri()
->withHost('httpbin.org')
->withPath('/')
->withQuery(''));
return $request;
}));
//$handlerStack->push(Middleware::mapResponse(function (Response $response) {
// return $response;
//}));
$api = new Api($this->application_key, $this->application_secret, $this->endpoint, $this->consumer_key, $this->client);
$api->get('/me/api/credential?applicationId=49', ['status' => 'pendingValidation']);
}
/**
* Test GET overlapping query args
*/
public function testGetOverlappingQueryArgs()
{
$handlerStack = $this->client->getConfig('handler');
$handlerStack->push(Middleware::mapRequest(function (Request $request) {
if($request->getUri()->getPath() == "/1.0/auth/time") {
return $request;
}
$query_string = $request->getUri()->getQuery();
$this->assertEquals($query_string, 'applicationId=49&status=expired&test=success');
$request = $request->withUri($request->getUri()
->withHost('httpbin.org')
->withPath('/')
->withQuery(''));
return $request;
}));
//$handlerStack->push(Middleware::mapResponse(function (Response $response) {
// return $response;
//}));
$api = new Api($this->application_key, $this->application_secret, $this->endpoint, $this->consumer_key, $this->client);
$api->get('/me/api/credential?applicationId=49&status=pendingValidation', ['status' => 'expired', 'test' => "success"]);
}
/**
* Test GET boolean query args
*/
public function testGetBooleanQueryArgs()
{
$handlerStack = $this->client->getConfig('handler');
$handlerStack->push(Middleware::mapRequest(function (Request $request) {
if($request->getUri()->getPath() == "/1.0/auth/time") {
return $request;
}
$query_string = $request->getUri()->getQuery();
$this->assertEquals($query_string, 'dryRun=true&notDryRun=false');
$request = $request->withUri($request->getUri()
->withHost('httpbin.org')
->withPath('/')
->withQuery(''));
return $request;
}));
//$handlerStack->push(Middleware::mapResponse(function (Response $response) {
// return $response;
//}));
$api = new Api($this->application_key, $this->application_secret, $this->endpoint, $this->consumer_key, $this->client);
$api->get('/me/api/credential', ['dryRun' => true, 'noDryRun' => false]);
}
} }