refactor(request): request body management is now externalized to helper methods
This commit is contained in:
89
tests/Unirest/BodyTest.php
Normal file
89
tests/Unirest/BodyTest.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
namespace Unirest\Request\Body\Test;
|
||||
|
||||
use Unirest\Request as Request;
|
||||
use Unirest\Request\Body as Body;
|
||||
|
||||
require_once __DIR__ . '/../../src/Unirest/Request/Body.php';
|
||||
|
||||
class BodyTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testCURLFile()
|
||||
{
|
||||
$fixture = __DIR__ . '/fixtures/upload.txt';
|
||||
|
||||
$file = Body::File($fixture);
|
||||
|
||||
if (PHP_MAJOR_VERSION === 5 && PHP_MINOR_VERSION === 4) {
|
||||
$this->assertEquals($file, sprintf('@%s;filename=%s;type=', $fixture, basename($fixture)));
|
||||
} else {
|
||||
$this->assertTrue($file instanceof \CURLFile);
|
||||
}
|
||||
}
|
||||
|
||||
public function testHttpBuildQueryWithCurlFile()
|
||||
{
|
||||
$fixture = __DIR__ . '/fixtures/upload.txt';
|
||||
|
||||
$file = Body::File($fixture);
|
||||
$body = array(
|
||||
'to' => 'mail@mailinator.com',
|
||||
'from' => 'mail@mailinator.com',
|
||||
'file' => $file
|
||||
);
|
||||
|
||||
$result = Request::buildHTTPCurlQuery($body);
|
||||
$this->assertEquals($result['file'], $file);
|
||||
}
|
||||
|
||||
public function testJson()
|
||||
{
|
||||
$body = Body::Json(array('foo', 'bar'));
|
||||
|
||||
$this->assertEquals($body, '["foo","bar"]');
|
||||
}
|
||||
|
||||
public function testForm()
|
||||
{
|
||||
$body = Body::Form(array('foo' => 'bar', 'bar' => 'baz'));
|
||||
|
||||
$this->assertEquals($body, 'foo=bar&bar=baz');
|
||||
|
||||
// try again with a string
|
||||
$body = Body::Form($body);
|
||||
|
||||
$this->assertEquals($body, 'foo=bar&bar=baz');
|
||||
}
|
||||
|
||||
public function testMultipart()
|
||||
{
|
||||
$arr = array('foo' => 'bar', 'bar' => 'baz');
|
||||
|
||||
$body = Body::Multipart((object) $arr);
|
||||
|
||||
$this->assertEquals($body, $arr);
|
||||
|
||||
$body = Body::Multipart('flat');
|
||||
|
||||
$this->assertEquals($body, array('flat'));
|
||||
}
|
||||
|
||||
public function testMultipartFiles()
|
||||
{
|
||||
$fixture = __DIR__ . '/fixtures/upload.txt';
|
||||
|
||||
$data = array('foo' => 'bar', 'bar' => 'baz');
|
||||
$files = array('test' => $fixture);
|
||||
|
||||
$body = Body::Multipart($data, $files);
|
||||
|
||||
// echo $body;
|
||||
|
||||
$this->assertEquals($body, array(
|
||||
'foo' => 'bar',
|
||||
'bar' => 'baz',
|
||||
'test' => Body::File($fixture)
|
||||
));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user