Reorganize ServerRequest and test
This commit is contained in:
parent
26d71bd792
commit
a254c69607
|
|
@ -21,12 +21,22 @@ class ServerRequest extends Request implements ServerRequestInterface
|
|||
/** @var mixed */
|
||||
private $parsedBody;
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->attributes = [];
|
||||
}
|
||||
|
||||
public function __clone()
|
||||
{
|
||||
if (is_object($this->parsedBody)) {
|
||||
$this->parsedBody = clone $this->parsedBody;
|
||||
}
|
||||
parent::__clone();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Psr\Http\Message\ServerRequestInterface
|
||||
|
||||
|
|
@ -127,20 +137,36 @@ class ServerRequest extends Request implements ServerRequestInterface
|
|||
}
|
||||
|
||||
/**
|
||||
* Retrieve the upload file metadata.
|
||||
* Retrieve normalized file upload data.
|
||||
*
|
||||
* This method MUST return file upload metadata in the same structure
|
||||
* as PHP's $_FILES superglobal.
|
||||
* This method returns upload metadata in a normalized tree, with each leaf
|
||||
* an instance of Psr\Http\Message\UploadedFileInterface.
|
||||
*
|
||||
* These values MUST remain immutable over the course of the incoming
|
||||
* request. They SHOULD be injected during instantiation, such as from PHP's
|
||||
* $_FILES superglobal, but MAY be derived from other sources.
|
||||
* These values MAY be prepared from $_FILES or the message body during
|
||||
* instantiation, or MAY be injected via withUploadedFiles().
|
||||
*
|
||||
* @return array Upload file(s) metadata, if any.
|
||||
* @return array An array tree of UploadedFileInterface instances; an empty
|
||||
* array MUST be returned if no data is present.
|
||||
*/
|
||||
public function getFileParams()
|
||||
public function getUploadedFiles()
|
||||
{
|
||||
return $this->fileParams;
|
||||
// TODO: Implement getUploadedFiles() method.
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new instance with the specified uploaded files.
|
||||
*
|
||||
* This method MUST be implemented in such a way as to retain the
|
||||
* immutability of the message, and MUST return an instance that has the
|
||||
* updated body parameters.
|
||||
*
|
||||
* @param array An array tree of UploadedFileInterface instances.
|
||||
* @return self
|
||||
* @throws \InvalidArgumentException if an invalid structure is provided.
|
||||
*/
|
||||
public function withUploadedFiles(array $uploadedFiles)
|
||||
{
|
||||
// TODO: Implement withUploadedFiles() method.
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -281,13 +307,6 @@ class ServerRequest extends Request implements ServerRequestInterface
|
|||
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public function __clone()
|
||||
{
|
||||
if (is_object($this->parsedBody)) {
|
||||
$this->parsedBody = clone $this->parsedBody;
|
||||
}
|
||||
parent::__clone();
|
||||
}
|
||||
|
||||
protected function readFromServerRequest(array $attributes = null)
|
||||
{
|
||||
|
|
@ -364,36 +383,4 @@ class ServerRequest extends Request implements ServerRequestInterface
|
|||
return $headers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve normalized file upload data.
|
||||
*
|
||||
* This method returns upload metadata in a normalized tree, with each leaf
|
||||
* an instance of Psr\Http\Message\UploadedFileInterface.
|
||||
*
|
||||
* These values MAY be prepared from $_FILES or the message body during
|
||||
* instantiation, or MAY be injected via withUploadedFiles().
|
||||
*
|
||||
* @return array An array tree of UploadedFileInterface instances; an empty
|
||||
* array MUST be returned if no data is present.
|
||||
*/
|
||||
public function getUploadedFiles()
|
||||
{
|
||||
// TODO: Implement getUploadedFiles() method.
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new instance with the specified uploaded files.
|
||||
*
|
||||
* This method MUST be implemented in such a way as to retain the
|
||||
* immutability of the message, and MUST return an instance that has the
|
||||
* updated body parameters.
|
||||
*
|
||||
* @param array An array tree of UploadedFileInterface instances.
|
||||
* @return self
|
||||
* @throws \InvalidArgumentException if an invalid structure is provided.
|
||||
*/
|
||||
public function withUploadedFiles(array $uploadedFiles)
|
||||
{
|
||||
// TODO: Implement withUploadedFiles() method.
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ use WellRESTed\Message\ServerRequest;
|
|||
*/
|
||||
class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
// ------------------------------------------------------------------------
|
||||
// Construction and Marshalling
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::__construct
|
||||
*/
|
||||
|
|
@ -50,7 +53,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
|||
]
|
||||
];
|
||||
$_POST = [
|
||||
"dog" => "Bear"
|
||||
"dog" => "Bear"
|
||||
];
|
||||
$attributes = ["guinea_pig" => "Claude"];
|
||||
$request = ServerRequest::getServerRequest($attributes);
|
||||
|
|
@ -58,233 +61,8 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
|||
return $request;
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getServerParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesServerParams($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals("localhost", $request->getServerParams()["HTTP_HOST"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getCookieParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesCookieParams($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals("Molly", $request->getCookieParams()["cat"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getQueryParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesQueryParams($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals("Claude", $request->getQueryParams()["guinea_pig"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getFileParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesFilesParams($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals("MyFile.jpg", $request->getFileParams()["file"]["name"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getHeader
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesHeaders($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals(["application/json"], $request->getHeader("Accept"));
|
||||
}
|
||||
|
||||
public function testServerRequestProvidesBody()
|
||||
{
|
||||
$body = $this->prophesize('Psr\Http\Message\StreamInterface');
|
||||
MockServerRequestTest::$bodyStream = $body->reveal();
|
||||
$request = MockServerRequestTest::getServerRequest();
|
||||
$this->assertSame($body->reveal(), $request->getBody());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getAttribute
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesAttributesIfPassed($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals("Claude", $request->getAttribute("guinea_pig"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withCookieParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testWithCookieParamsCreatesNewInstance($request1)
|
||||
{
|
||||
/** @var ServerRequest $request1 */
|
||||
$request2 = $request1->withCookieParams([
|
||||
"cat" => "Oscar"
|
||||
]);
|
||||
$this->assertEquals("Molly", $request1->getCookieParams()["cat"]);
|
||||
$this->assertEquals("Oscar", $request2->getCookieParams()["cat"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withQueryParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testWithQueryParamsCreatesNewInstance($request1)
|
||||
{
|
||||
/** @var ServerRequest $request1 */
|
||||
$request2 = $request1->withQueryParams([
|
||||
"guinea_pig" => "Clyde"
|
||||
]);
|
||||
$this->assertEquals("Claude", $request1->getQueryParams()["guinea_pig"]);
|
||||
$this->assertEquals("Clyde", $request2->getQueryParams()["guinea_pig"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withParsedBody
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testWithParsedBodyCreatesNewInstance($request1)
|
||||
{
|
||||
/** @var ServerRequest $request1 */
|
||||
$body1 = $request1->getParsedBody();
|
||||
|
||||
$request2 = $request1->withParsedBody([
|
||||
"guinea_pig" => "Clyde"
|
||||
]);
|
||||
$body2 = $request2->getParsedBody();
|
||||
|
||||
$this->assertEquals("Bear", $body1["dog"]);
|
||||
$this->assertEquals("Clyde", $body2["guinea_pig"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getServerRequest
|
||||
* @covers WellRESTed\Message\ServerRequest::getParsedBody
|
||||
* @preserveGlobalState disabled
|
||||
* @dataProvider formContentTypeProvider
|
||||
*/
|
||||
public function testGetServerRequestParsesFormBody($contentType)
|
||||
{
|
||||
$_SERVER = [
|
||||
"HTTP_HOST" => "localhost",
|
||||
"HTTP_CONTENT_TYPE" => $contentType,
|
||||
];
|
||||
$_COOKIE = [];
|
||||
$_FILES = [];
|
||||
$_POST = [
|
||||
"dog" => "Bear"
|
||||
];
|
||||
$request = ServerRequest::getServerRequest();
|
||||
$this->assertEquals("Bear", $request->getParsedBody()["dog"]);
|
||||
}
|
||||
|
||||
public function formContentTypeProvider()
|
||||
{
|
||||
return [
|
||||
["application/x-www-form-urlencoded"],
|
||||
["multipart/form-data"]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::__clone
|
||||
*/
|
||||
public function testCloneMakesDeepCopiesOfParsedBody()
|
||||
{
|
||||
$body = (object) [
|
||||
"cat" => "Dog"
|
||||
];
|
||||
|
||||
$request1 = new ServerRequest();
|
||||
$request1 = $request1->withParsedBody($body);
|
||||
$request2 = $request1->withHeader("X-extra", "hello world");
|
||||
$this->assertEquals($request1->getParsedBody(), $request2->getParsedBody());
|
||||
$this->assertNotSame($request1->getParsedBody(), $request2->getParsedBody());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withAttribute
|
||||
* @covers WellRESTed\Message\ServerRequest::getAttribute
|
||||
*/
|
||||
public function testWithAttributeCreatesNewInstance()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$this->assertEquals("Molly", $request->getAttribute("cat"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withAttribute
|
||||
*/
|
||||
public function testWithAttributePreserversOtherAttributes()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$request = $request->withAttribute("dog", "Bear");
|
||||
$this->assertEquals("Molly", $request->getAttribute("cat"));
|
||||
$this->assertEquals("Bear", $request->getAttribute("dog"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getAttribute
|
||||
*/
|
||||
public function testGetAttributeReturnsDefaultIfNotSet()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$this->assertEquals("Oscar", $request->getAttribute("cat", "Oscar"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withoutAttribute
|
||||
*/
|
||||
public function testWithoutAttributeCreatesNewInstance()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$request = $request->withoutAttribute("cat");
|
||||
$this->assertEquals("Oscar", $request->getAttribute("cat", "Oscar"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withoutAttribute
|
||||
*/
|
||||
public function testWithoutAttributePreservesOtherAttributes()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$request = $request->withAttribute("dog", "Bear");
|
||||
$request = $request->withoutAttribute("cat");
|
||||
$this->assertEquals("Bear", $request->getAttribute("dog"));
|
||||
$this->assertEquals("Oscar", $request->getAttribute("cat", "Oscar"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getAttributes
|
||||
*/
|
||||
public function testGetAttributesReturnsAllAttributes()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$request = $request->withAttribute("dog", "Bear");
|
||||
$attributes = $request->getAttributes();
|
||||
$this->assertEquals("Molly", $attributes["cat"]);
|
||||
$this->assertEquals("Bear", $attributes["dog"]);
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
// Request
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::readFromServerRequest
|
||||
|
|
@ -363,11 +141,262 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
|||
["/", null]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getHeader
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesHeaders($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals(["application/json"], $request->getHeader("Accept"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getBody
|
||||
*/
|
||||
public function testServerRequestProvidesBody()
|
||||
{
|
||||
$body = $this->prophesize('Psr\Http\Message\StreamInterface');
|
||||
MockServerRequest::$bodyStream = $body->reveal();
|
||||
$request = MockServerRequest::getServerRequest();
|
||||
$this->assertSame($body->reveal(), $request->getBody());
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Server Params
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getServerParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesServerParams($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals("localhost", $request->getServerParams()["HTTP_HOST"]);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Cookies
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getCookieParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesCookieParams($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals("Molly", $request->getCookieParams()["cat"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withCookieParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testWithCookieParamsCreatesNewInstance($request1)
|
||||
{
|
||||
/** @var ServerRequest $request1 */
|
||||
$request2 = $request1->withCookieParams([
|
||||
"cat" => "Oscar"
|
||||
]);
|
||||
$this->assertEquals("Molly", $request1->getCookieParams()["cat"]);
|
||||
$this->assertEquals("Oscar", $request2->getCookieParams()["cat"]);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Query
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getQueryParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesQueryParams($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals("Claude", $request->getQueryParams()["guinea_pig"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withQueryParams
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testWithQueryParamsCreatesNewInstance($request1)
|
||||
{
|
||||
/** @var ServerRequest $request1 */
|
||||
$request2 = $request1->withQueryParams([
|
||||
"guinea_pig" => "Clyde"
|
||||
]);
|
||||
$this->assertEquals("Claude", $request1->getQueryParams()["guinea_pig"]);
|
||||
$this->assertEquals("Clyde", $request2->getQueryParams()["guinea_pig"]);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Uploaded Files
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Parsed Body
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getServerRequest
|
||||
* @covers WellRESTed\Message\ServerRequest::getParsedBody
|
||||
* @preserveGlobalState disabled
|
||||
* @dataProvider formContentTypeProvider
|
||||
*/
|
||||
public function testGetServerRequestParsesFormBody($contentType)
|
||||
{
|
||||
$_SERVER = [
|
||||
"HTTP_HOST" => "localhost",
|
||||
"HTTP_CONTENT_TYPE" => $contentType,
|
||||
];
|
||||
$_COOKIE = [];
|
||||
$_FILES = [];
|
||||
$_POST = [
|
||||
"dog" => "Bear"
|
||||
];
|
||||
$request = ServerRequest::getServerRequest();
|
||||
$this->assertEquals("Bear", $request->getParsedBody()["dog"]);
|
||||
}
|
||||
|
||||
public function formContentTypeProvider()
|
||||
{
|
||||
return [
|
||||
["application/x-www-form-urlencoded"],
|
||||
["multipart/form-data"]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withParsedBody
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testWithParsedBodyCreatesNewInstance($request1)
|
||||
{
|
||||
/** @var ServerRequest $request1 */
|
||||
$body1 = $request1->getParsedBody();
|
||||
|
||||
$request2 = $request1->withParsedBody([
|
||||
"guinea_pig" => "Clyde"
|
||||
]);
|
||||
$body2 = $request2->getParsedBody();
|
||||
|
||||
$this->assertEquals("Bear", $body1["dog"]);
|
||||
$this->assertEquals("Clyde", $body2["guinea_pig"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::__clone
|
||||
*/
|
||||
public function testCloneMakesDeepCopiesOfParsedBody()
|
||||
{
|
||||
$body = (object) [
|
||||
"cat" => "Dog"
|
||||
];
|
||||
|
||||
$request1 = new ServerRequest();
|
||||
$request1 = $request1->withParsedBody($body);
|
||||
$request2 = $request1->withHeader("X-extra", "hello world");
|
||||
$this->assertEquals($request1->getParsedBody(), $request2->getParsedBody());
|
||||
$this->assertNotSame($request1->getParsedBody(), $request2->getParsedBody());
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Attributes
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getAttribute
|
||||
* @depends testGetServerRequestReadsFromRequest
|
||||
*/
|
||||
public function testServerRequestProvidesAttributesIfPassed($request)
|
||||
{
|
||||
/** @var ServerRequest $request */
|
||||
$this->assertEquals("Claude", $request->getAttribute("guinea_pig"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getAttribute
|
||||
*/
|
||||
public function testGetAttributeReturnsDefaultIfNotSet()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$this->assertEquals("Oscar", $request->getAttribute("cat", "Oscar"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withAttribute
|
||||
* @covers WellRESTed\Message\ServerRequest::getAttribute
|
||||
*/
|
||||
public function testWithAttributeCreatesNewInstance()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$this->assertEquals("Molly", $request->getAttribute("cat"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withAttribute
|
||||
*/
|
||||
public function testWithAttributePreserversOtherAttributes()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$request = $request->withAttribute("dog", "Bear");
|
||||
$this->assertEquals("Molly", $request->getAttribute("cat"));
|
||||
$this->assertEquals("Bear", $request->getAttribute("dog"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withoutAttribute
|
||||
*/
|
||||
public function testWithoutAttributeCreatesNewInstance()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$request = $request->withoutAttribute("cat");
|
||||
$this->assertEquals("Oscar", $request->getAttribute("cat", "Oscar"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::withoutAttribute
|
||||
*/
|
||||
public function testWithoutAttributePreservesOtherAttributes()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$request = $request->withAttribute("dog", "Bear");
|
||||
$request = $request->withoutAttribute("cat");
|
||||
$this->assertEquals("Bear", $request->getAttribute("dog"));
|
||||
$this->assertEquals("Oscar", $request->getAttribute("cat", "Oscar"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers WellRESTed\Message\ServerRequest::getAttributes
|
||||
*/
|
||||
public function testGetAttributesReturnsAllAttributes()
|
||||
{
|
||||
$request = new ServerRequest();
|
||||
$request = $request->withAttribute("cat", "Molly");
|
||||
$request = $request->withAttribute("dog", "Bear");
|
||||
$attributes = $request->getAttributes();
|
||||
$this->assertEquals("Molly", $attributes["cat"]);
|
||||
$this->assertEquals("Bear", $attributes["dog"]);
|
||||
}
|
||||
|
||||
//
|
||||
// /**
|
||||
// * @covers WellRESTed\Message\ServerRequest::getFileParams
|
||||
// * @depends testGetServerRequestReadsFromRequest
|
||||
// */
|
||||
// public function testServerRequestProvidesFilesParams($request)
|
||||
// {
|
||||
// /** @var ServerRequest $request */
|
||||
// $this->assertEquals("MyFile.jpg", $request->getFileParams()["file"]["name"]);
|
||||
// }
|
||||
//
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class MockServerRequestTest extends ServerRequest
|
||||
class MockServerRequest extends ServerRequest
|
||||
{
|
||||
public static $bodyStream;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue