Skip to content

Commit 5ec85f0

Browse files
author
Greg Bowler
committed
Test getting server params
1 parent 884e49a commit 5ec85f0

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

test/unit/ServerRequestTest.php

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<?php
2+
namespace Gt\Http\Test;
3+
4+
use Gt\Cookie\Cookie;
5+
use Gt\Cookie\CookieHandler;
6+
use Gt\Http\Header\RequestHeaders;
7+
use Gt\Http\ServerInfo;
8+
use Gt\Http\ServerRequest;
9+
use Gt\Http\Uri;
10+
use Gt\Input\Input;
11+
use PHPUnit\Framework\MockObject\MockObject;
12+
use PHPUnit\Framework\TestCase;
13+
14+
class ServerRequestTest extends TestCase {
15+
public function testGetServerParams() {
16+
$serverParams = [
17+
"KEY1" => "VALUE1",
18+
"KEY2" => "VALUE2",
19+
];
20+
$sut = self::getServerRequest(
21+
null,
22+
null,
23+
[],
24+
$serverParams
25+
);
26+
self::assertEquals($serverParams, $sut->getServerParams());
27+
}
28+
29+
protected function getServerRequest(
30+
string $method = null,
31+
string $uri = null,
32+
array $headerArray = [],
33+
array $serverArray = [],
34+
array $inputArray = [],
35+
array $cookieArray = []
36+
):ServerRequest {
37+
$method = $method ?? "GET";
38+
$uri = self::getMockUri($uri ?? "/");
39+
$headers = self::getMockHeaders($headerArray);
40+
$serverInfo = self::getMockServerInfo($serverArray);
41+
$input = self::getMockInput($inputArray);
42+
$cookieHandler = self::getMockCookieHandler($cookieArray);
43+
44+
$sut = new ServerRequest(
45+
$method,
46+
$uri,
47+
$headers,
48+
$serverInfo,
49+
$input,
50+
$cookieHandler
51+
);
52+
53+
return $sut;
54+
}
55+
56+
/** @return MockObject|Uri */
57+
protected function getMockUri(string $uriPath):MockObject {
58+
$mock = self::createMock(Uri::class);
59+
return $mock;
60+
}
61+
62+
/** @return MockObject|RequestHeaders */
63+
protected function getMockHeaders(array $headers = []):MockObject {
64+
$mock = self::createMock(RequestHeaders::class);
65+
return $mock;
66+
}
67+
68+
/** @return MockObject|ServerInfo */
69+
protected function getMockServerInfo(array $server = []):MockObject {
70+
$mock = self::createMock(ServerInfo::class);
71+
$mock->method("getParams")
72+
->willReturn($server);
73+
return $mock;
74+
}
75+
76+
/** @return MockObject|Input */
77+
protected function getMockInput(array $input = []):MockObject {
78+
$mock = self::createMock(Input::class);
79+
return $mock;
80+
}
81+
82+
/** @return MockObject|CookieHandler */
83+
protected function getMockCookieHandler(array $cookies = []):MockObject {
84+
$mock = self::createMock(CookieHandler::class);
85+
return $mock;
86+
}
87+
}

0 commit comments

Comments
 (0)