updating all tests and docs to mockbins.com

This commit is contained in:
Ahmad Nassri
2015-03-07 06:00:42 -05:00
parent 530905c7c9
commit f31ce371a0
2 changed files with 115 additions and 148 deletions

View File

@@ -23,126 +23,117 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
{
Unirest\Request::timeout(1);
Unirest\Request::get('http://httpbin.org/delay/3');
Unirest\Request::get('http://mockbin.com/delay/3000');
Unirest\Request::timeout(null); // Cleaning timeout for the other tests
}
/*
public function testTimeoutSuccess()
{
Unirest\Request::timeout(3);
$response = Unirest\Request::get('http://httpbin.org/delay/1');
$response = Unirest\Request::get('http://mockbin.com/delay/2000');
$this->assertEquals(200, $response->code);
Unirest\Request::timeout(null); // Cleaning timeout for the other tests
}
*/
public function testDefaultHeader()
{
Unirest\Request::defaultHeader('Hello', 'custom');
$response = Unirest\Request::get('http://httpbin.org/get');
$response = Unirest\Request::get('http://mockbin.com/request');
$this->assertEquals(200, $response->code);
$headers = $response->body->headers;
$properties = get_object_vars($headers);
$this->assertTrue(array_key_exists('Hello', $properties));
$this->assertEquals('custom', $headers->Hello);
$response = Unirest\Request::get('http://httpbin.org/get');
$this->assertTrue(property_exists($response->body->headers, 'hello'));
$this->assertEquals('custom', $response->body->headers->hello);
$this->assertEquals(200, $response->code);
$headers = $response->body->headers;
$properties = get_object_vars($headers);
$this->assertTrue(array_key_exists('Hello', $properties));
$this->assertEquals('custom', $headers->Hello);
Unirest\Request::clearDefaultHeaders();
$response = Unirest\Request::get('http://httpbin.org/get');
$response = Unirest\Request::get('http://mockbin.com/request');
$this->assertEquals(200, $response->code);
$headers = $response->body->headers;
$properties = get_object_vars($headers);
$this->assertFalse(array_key_exists('Hello', $properties));
$this->assertFalse(property_exists($response->body->headers, 'hello'));
}
public function testSetMashapeKey()
{
Unirest\Request::setMashapeKey('abcd');
$response = Unirest\Request::get('http://httpbin.org/get');
$response = Unirest\Request::get('http://mockbin.com/request');
$this->assertEquals(200, $response->code);
$headers = $response->body->headers;
$properties = get_object_vars($headers);
$this->assertTrue(array_key_exists('X-Mashape-Key', $properties));
$this->assertEquals('abcd', $headers->{'X-Mashape-Key'});
$response = Unirest\Request::get('http://httpbin.org/get');
$this->assertTrue(property_exists($response->body->headers, 'x-mashape-key'));
$this->assertEquals('abcd', $response->body->headers->{'x-mashape-key'});
// send another request
$response = Unirest\Request::get('http://mockbin.com/request');
$this->assertEquals(200, $response->code);
$headers = $response->body->headers;
$properties = get_object_vars($headers);
$this->assertTrue(array_key_exists('X-Mashape-Key', $properties));
$this->assertEquals('abcd', $headers->{'X-Mashape-Key'});
$this->assertTrue(property_exists($response->body->headers, 'x-mashape-key'));
$this->assertEquals('abcd', $response->body->headers->{'x-mashape-key'});
Unirest\Request::clearDefaultHeaders();
$response = Unirest\Request::get('http://httpbin.org/get');
$response = Unirest\Request::get('http://mockbin.com/request');
$this->assertEquals(200, $response->code);
$headers = $response->body->headers;
$properties = get_object_vars($headers);
$this->assertFalse(array_key_exists('X-Mashape-Key', $properties));
$this->assertFalse(property_exists($response->body->headers, 'x-mashape-key'));
}
public function testGzip()
{
$response = Unirest\Request::get('http://httpbin.org/gzip');
$args = $response->body;
$this->assertEquals(true, $args->gzipped);
$response = Unirest\Request::get('http://mockbin.com/gzip/request');
$this->assertEquals('gzip', $response->headers['Content-Encoding']);
}
public function testBasicAuthenticationDeprecated()
{
$response = Unirest\Request::get('http://httpbin.org/get', array(), array(), 'user', 'password');
$headers = $response->body->headers;
$this->assertEquals('Basic dXNlcjpwYXNzd29yZA==', $headers->Authorization);
$response = Unirest\Request::get('http://mockbin.com/request', array(), array(), 'user', 'password');
$this->assertEquals('Basic dXNlcjpwYXNzd29yZA==', $response->body->headers->authorization);
}
public function testBasicAuthentication()
{
Unirest\Request::auth('user', 'password');
$response = Unirest\Request::get('http://httpbin.org/get');
$this->assertEquals('Basic dXNlcjpwYXNzd29yZA==', $response->body->headers->Authorization);
$response = Unirest\Request::get('http://mockbin.com/request');
$this->assertEquals('Basic dXNlcjpwYXNzd29yZA==', $response->body->headers->authorization);
}
public function testCustomHeaders()
{
$response = Unirest\Request::get('http://httpbin.org/get', array(
'user-agent' => 'ciao',
$response = Unirest\Request::get('http://mockbin.com/request', array(
'user-agent' => 'unirest-php',
));
$this->assertEquals(200, $response->code);
$headers = $response->body->headers;
$this->assertEquals('ciao', $headers->{'User-Agent'});
$this->assertEquals('unirest-php', $response->body->headers->{'user-agent'});
}
// GET
public function testGet()
{
$response = Unirest\Request::get('http://httpbin.org/get?name=Mark', array(
$response = Unirest\Request::get('http://mockbin.com/request?name=Mark', array(
'Accept' => 'application/json'
), array(
'nick' => 'thefosk'
));
$this->assertEquals(200, $response->code);
$args = $response->body->args;
$this->assertEquals('Mark', $args->name);
$this->assertEquals('thefosk', $args->nick);
$this->assertEquals('GET', $response->body->method);
$this->assertEquals('Mark', $response->body->queryString->name);
$this->assertEquals('thefosk', $response->body->queryString->nick);
}
public function testGetMultidimensionalArray()
{
$response = Unirest\Request::get('http://httpbin.org/get', array(
$response = Unirest\Request::get('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'key' => 'value',
@@ -153,17 +144,15 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$args = $response->body->args;
$this->assertEquals('value', $args->key);
$this->assertEquals('item1', $args->{'items[0]'});
$this->assertEquals('item2', $args->{'items[1]'});
$this->assertEquals('GET', $response->body->method);
$this->assertEquals('value', $response->body->queryString->key);
$this->assertEquals('item1', $response->body->queryString->items[0]);
$this->assertEquals('item2', $response->body->queryString->items[1]);
}
public function testGetWithDots()
{
$response = Unirest\Request::get('http://httpbin.org/get', array(
$response = Unirest\Request::get('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'user.name' => 'Mark',
@@ -171,15 +160,14 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$args = $response->body->args;
$this->assertEquals('Mark', $args->{'user.name'});
$this->assertEquals('thefosk', $args->nick);
$this->assertEquals('GET', $response->body->method);
$this->assertEquals('Mark', $response->body->queryString->{'user.name'});
$this->assertEquals('thefosk', $response->body->queryString->nick);
}
public function testGetWithDotsAlt()
{
$response = Unirest\Request::get('http://httpbin.org/get', array(
$response = Unirest\Request::get('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'user.name' => 'Mark Bond',
@@ -187,69 +175,63 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$args = $response->body->args;
$this->assertEquals('Mark Bond', $args->{'user.name'});
$this->assertEquals('thefosk', $args->nick);
$this->assertEquals('GET', $response->body->method);
$this->assertEquals('Mark Bond', $response->body->queryString->{'user.name'});
$this->assertEquals('thefosk', $response->body->queryString->nick);
}
public function testGetWithEqualSign()
{
$response = Unirest\Request::get('http://httpbin.org/get', array(
$response = Unirest\Request::get('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'name' => 'Mark=Hello'
));
$this->assertEquals(200, $response->code);
$args = $response->body->args;
$this->assertEquals('Mark=Hello', $args->name);
$this->assertEquals('GET', $response->body->method);
$this->assertEquals('Mark=Hello', $response->body->queryString->name);
}
public function testGetWithEqualSignAlt()
{
$response = Unirest\Request::get('http://httpbin.org/get', array(
$response = Unirest\Request::get('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'name' => 'Mark=Hello=John'
));
$this->assertEquals(200, $response->code);
$args = $response->body->args;
$this->assertEquals('Mark=Hello=John', $args->name);
$this->assertEquals('GET', $response->body->method);
$this->assertEquals('Mark=Hello=John', $response->body->queryString->name);
}
public function testGetWithComplexQuery()
{
$response = Unirest\Request::get('http://httpbin.org/get?query=[{"type":"/music/album","name":null,"artist":{"id":"/en/bob_dylan"},"limit":3}]&cursor');
$response = Unirest\Request::get('http://mockbin.com/request?query=[{"type":"/music/album","name":null,"artist":{"id":"/en/bob_dylan"},"limit":3}]&cursor');
$this->assertEquals(200, $response->code);
$args = $response->body->args;
$this->assertEquals('', $args->cursor);
$this->assertEquals('[{"type":"/music/album","name":null,"artist":{"id":"/en/bob_dylan"},"limit":3}]', $args->query);
$this->assertEquals('GET', $response->body->method);
$this->assertEquals('', $response->body->queryString->cursor);
$this->assertEquals('[{"type":"/music/album","name":null,"artist":{"id":"/en/bob_dylan"},"limit":3}]', $response->body->queryString->query);
}
public function testGetArray()
{
$response = Unirest\Request::get('http://httpbin.org/get', array(), array(
$response = Unirest\Request::get('http://mockbin.com/request', array(), array(
'name[0]' => 'Mark',
'name[1]' => 'John'
));
$this->assertEquals(200, $response->code);
$args = $response->body->args;
$this->assertEquals('Mark', $args->{'name[0]'});
$this->assertEquals('John', $args->{'name[1]'});
$this->assertEquals('GET', $response->body->method);
$this->assertEquals('Mark', $response->body->queryString->name[0]);
$this->assertEquals('John', $response->body->queryString->name[1]);
}
// POST
public function testPost()
{
$response = Unirest\Request::post('http://httpbin.org/post', array(
$response = Unirest\Request::post('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'name' => 'Mark',
@@ -257,29 +239,27 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$form = $response->body->form;
$this->assertEquals('Mark', $form->name);
$this->assertEquals('thefosk', $form->nick);
$this->assertEquals('POST', $response->body->method);
$this->assertEquals('Mark', $response->body->postData->params->name);
$this->assertEquals('thefosk', $response->body->postData->params->nick);
}
public function testPostWithEqualSign()
{
$response = Unirest\Request::post('http://httpbin.org/post', array(
$response = Unirest\Request::post('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'name' => 'Mark=Hello'
));
$this->assertEquals(200, $response->code);
$form = $response->body->form;
$this->assertEquals('Mark=Hello', $form->name);
$this->assertEquals('POST', $response->body->method);
$this->assertEquals('Mark=Hello', $response->body->postData->params->name);
}
public function testPostArray()
{
$response = Unirest\Request::post('http://httpbin.org/post', array(
$response = Unirest\Request::post('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'name[0]' => 'Mark',
@@ -287,16 +267,14 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$form = $response->body->form;
$this->assertEquals('Mark', $form->{'name[0]'});
$this->assertEquals('John', $form->{'name[1]'});
$this->assertEquals('POST', $response->body->method);
$this->assertEquals('Mark', $response->body->postData->params->{'name[0]'});
$this->assertEquals('John', $response->body->postData->params->{'name[1]'});
}
public function testPostWithDots()
{
$response = Unirest\Request::post('http://httpbin.org/post', array(
$response = Unirest\Request::post('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'user.name' => 'Mark',
@@ -304,15 +282,14 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$form = $response->body->form;
$this->assertEquals('Mark', $form->{'user.name'});
$this->assertEquals('thefosk', $form->nick);
$this->assertEquals('POST', $response->body->method);
$this->assertEquals('Mark', $response->body->postData->params->{'user.name'});
$this->assertEquals('thefosk', $response->body->postData->params->nick);
}
public function testRawPost()
{
$response = Unirest\Request::post('http://httpbin.org/post', array(
$response = Unirest\Request::post('http://mockbin.com/request', array(
'Accept' => 'application/json',
'Content-Type' => 'application/json'
), json_encode(array(
@@ -320,15 +297,13 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
)));
$this->assertEquals(200, $response->code);
$json = $response->body->json;
$this->assertEquals('Sam Sullivan', $json->author);
$this->assertEquals('POST', $response->body->method);
$this->assertEquals('Sam Sullivan', json_decode($response->body->postData->text)->author);
}
public function testPostMultidimensionalArray()
{
$response = Unirest\Request::post('http://httpbin.org/post', array(
$response = Unirest\Request::post('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'key' => 'value',
@@ -339,17 +314,16 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$form = $response->body->form;
$this->assertEquals('value', $form->key);
$this->assertEquals('item1', $form->{'items[0]'});
$this->assertEquals('item2', $form->{'items[1]'});
$this->assertEquals('POST', $response->body->method);
$this->assertEquals('value', $response->body->postData->params->key);
$this->assertEquals('item1', $response->body->postData->params->{'items[0]'});
$this->assertEquals('item2', $response->body->postData->params->{'items[1]'});
}
// PUT
public function testPut()
{
$response = Unirest\Request::put('http://httpbin.org/put', array(
$response = Unirest\Request::put('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'name' => 'Mark',
@@ -357,16 +331,15 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$form = $response->body->form;
$this->assertEquals('Mark', $form->name);
$this->assertEquals('thefosk', $form->nick);
$this->assertEquals('PUT', $response->body->method);
$this->assertEquals('Mark', $response->body->postData->params->name);
$this->assertEquals('thefosk', $response->body->postData->params->nick);
}
// PATCH
public function testPatch()
{
$response = Unirest\Request::patch('http://httpbin.org/patch', array(
$response = Unirest\Request::patch('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'name' => 'Mark',
@@ -374,16 +347,15 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$form = $response->body->form;
$this->assertEquals('Mark', $form->name);
$this->assertEquals('thefosk', $form->nick);
$this->assertEquals('PATCH', $response->body->method);
$this->assertEquals('Mark', $response->body->postData->params->name);
$this->assertEquals('thefosk', $response->body->postData->params->nick);
}
// DELETE
public function testDelete()
{
$response = Unirest\Request::delete('http://httpbin.org/delete', array(
$response = Unirest\Request::delete('http://mockbin.com/request', array(
'Accept' => 'application/json',
'Content-Type' => 'application/x-www-form-urlencoded'
), array(
@@ -392,42 +364,37 @@ class UnirestRequestTest extends \PHPUnit_Framework_TestCase
));
$this->assertEquals(200, $response->code);
$data = $response->body->data;
$this->assertTrue(empty($data));
$this->assertEquals('DELETE', $response->body->method);
}
// Upload
public function testUpload()
{
$response = Unirest\Request::post('http://httpbin.org/post', array(
$response = Unirest\Request::post('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'name' => 'Mark',
'file' => Unirest\File::add(UPLOAD_FIXTURE)
));
$this->assertEquals(200, $response->code);
$files = $response->body->files;
$this->assertEquals('This is a test', $files->file);
$form = $response->body->form;
$this->assertEquals('Mark', $form->name);
$this->assertEquals('POST', $response->body->method);
$this->assertEquals('Mark', $response->body->postData->params->name);
$this->assertEquals('This is a test', $response->body->postData->params->file);
}
public function testUploadIfFilePartOfData()
{
$response = Unirest\Request::post('http://httpbin.org/post', array(
$response = Unirest\Request::post('http://mockbin.com/request', array(
'Accept' => 'application/json'
), array(
'name' => 'Mark',
'files[owl.gif]' => Unirest\File::add(UPLOAD_FIXTURE)
));
$this->assertEquals(200, $response->code);
//$files = $response->body->files;
//$this->assertEquals('This is a test', $files->file);
$form = $response->body->form;
$this->assertEquals('Mark', $form->name);
$this->assertEquals('POST', $response->body->method);
$this->assertEquals('Mark', $response->body->postData->params->name);
$this->assertEquals('This is a test', $response->body->postData->params->{'files[owl.gif]'});
}
}