‪TYPO3CMS  ‪main
ServerRequestTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
23 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
24 
30 final class ‪ServerRequestTest extends UnitTestCase
31 {
33 
34  protected function ‪setUp(): void
35  {
36  parent::setUp();
37  $this->request = new ‪ServerRequest();
38  }
39 
43  public function ‪getServerParamsAreEmptyByDefault(): void
44  {
45  self::assertEmpty($this->request->getServerParams());
46  }
47 
51  public function ‪getQueryParamsAreEmptyByDefault(): void
52  {
53  self::assertEmpty($this->request->getQueryParams());
54  }
55 
60  {
61  $value = ['foo' => 'bar'];
62  ‪$request = $this->request->‪withQueryParams($value);
63  self::assertNotSame($this->request, ‪$request);
64  self::assertEquals($value, ‪$request->‪getQueryParams());
65  }
66 
70  public function ‪getCookieParamsAreEmptyByDefault(): void
71  {
72  self::assertEmpty($this->request->getCookieParams());
73  }
74 
79  {
80  $value = ['foo' => 'bar'];
81  ‪$request = $this->request->‪withCookieParams($value);
82  self::assertNotSame($this->request, ‪$request);
83  self::assertEquals($value, ‪$request->‪getCookieParams());
84  }
85 
89  public function ‪getUploadedFilesAreEmptyByDefault(): void
90  {
91  self::assertEmpty($this->request->getUploadedFiles());
92  }
93 
97  public function ‪getParsedBodyIsEmptyByDefault(): void
98  {
99  self::assertEmpty($this->request->getParsedBody());
100  }
101 
106  {
107  $value = ['foo' => 'bar'];
108  ‪$request = $this->request->‪withParsedBody($value);
109  self::assertNotSame($this->request, ‪$request);
110  self::assertEquals($value, ‪$request->‪getParsedBody());
111  }
112 
116  public function ‪getAttributesAreEmptyByDefault(): void
117  {
118  self::assertEmpty($this->request->getAttributes());
119  }
120 
125  {
126  ‪$request = $this->request->‪withAttribute('foo', 'bar');
127  self::assertNotSame($this->request, ‪$request);
128  self::assertEquals('bar', ‪$request->‪getAttribute('foo'));
129 
130  return ‪$request;
131  }
132 
137  {
139  $new = ‪$request->‪withoutAttribute('foo');
140  self::assertNotSame(‪$request, $new);
141  self::assertNull($new->getAttribute('foo', null));
142  }
143 
147  public function ‪constructorUsesProvidedArguments(): void
148  {
149  $server = [
150  'foo' => 'bar',
151  'baz' => 'bat',
152  ];
153 
154  $server['server'] = true;
155 
156  $files = [
157  'files' => new ‪UploadedFile('php://temp', 0, 0),
158  ];
159 
160  $uri = new ‪Uri('http://example.com');
161  $method = 'POST';
162  $headers = [
163  'host' => ['example.com'],
164  ];
165 
167  $uri,
168  $method,
169  'php://memory',
170  $headers,
171  $server,
172  $files
173  );
174 
175  self::assertEquals($server, ‪$request->‪getServerParams());
176  self::assertEquals($files, ‪$request->‪getUploadedFiles());
177 
178  self::assertSame($uri, ‪$request->‪getUri());
179  self::assertEquals($method, ‪$request->‪getMethod());
180  self::assertEquals($headers, ‪$request->‪getHeaders());
181 
182  $body = ‪$request->‪getBody();
183  $r = new \ReflectionProperty($body, 'stream');
184  $stream = $r->getValue($body);
185  self::assertEquals('php://memory', $stream);
186  }
187 }
‪TYPO3\CMS\Core\Http\Message\getBody
‪StreamInterface getBody()
Definition: Message.php:287
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\withQueryParamsMutatorReturnsCloneWithChanges
‪withQueryParamsMutatorReturnsCloneWithChanges()
Definition: ServerRequestTest.php:59
‪TYPO3\CMS\Core\Http\ServerRequest\withQueryParams
‪static withQueryParams(array $query)
Definition: ServerRequest.php:159
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\$request
‪ServerRequest $request
Definition: ServerRequestTest.php:32
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest
Definition: ServerRequestTest.php:31
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\setUp
‪setUp()
Definition: ServerRequestTest.php:34
‪TYPO3\CMS\Core\Tests\Unit\Http
Definition: ApplicationTypeTest.php:18
‪TYPO3\CMS\Core\Http\ServerRequest\getCookieParams
‪getCookieParams()
Definition: ServerRequest.php:93
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\constructorUsesProvidedArguments
‪constructorUsesProvidedArguments()
Definition: ServerRequestTest.php:147
‪TYPO3\CMS\Core\Http\ServerRequest\getParsedBody
‪array object null getParsedBody()
Definition: ServerRequest.php:217
‪TYPO3\CMS\Core\Http\Request\getUri
‪UriInterface getUri()
Definition: Request.php:285
‪TYPO3\CMS\Core\Http\Request\getMethod
‪getMethod()
Definition: Request.php:250
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\withoutAttributeReturnsCloneWithoutAttribute
‪withoutAttributeReturnsCloneWithoutAttribute()
Definition: ServerRequestTest.php:136
‪TYPO3\CMS\Core\Http\Uri
Definition: Uri.php:30
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\getQueryParamsAreEmptyByDefault
‪getQueryParamsAreEmptyByDefault()
Definition: ServerRequestTest.php:51
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\withCookieParamsMutatorReturnsCloneWithChanges
‪withCookieParamsMutatorReturnsCloneWithChanges()
Definition: ServerRequestTest.php:78
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\getParsedBodyIsEmptyByDefault
‪getParsedBodyIsEmptyByDefault()
Definition: ServerRequestTest.php:97
‪TYPO3\CMS\Core\Http\ServerRequest\getQueryParams
‪getQueryParams()
Definition: ServerRequest.php:132
‪TYPO3\CMS\Core\Http\ServerRequest\withoutAttribute
‪static withoutAttribute(string $name)
Definition: ServerRequest.php:332
‪TYPO3\CMS\Core\Http\ServerRequest
Definition: ServerRequest.php:39
‪TYPO3\CMS\Core\Http\ServerRequest\withCookieParams
‪static withCookieParams(array $cookies)
Definition: ServerRequest.php:115
‪TYPO3\CMS\Core\Http\Request\getHeaders
‪array getHeaders()
Definition: Request.php:145
‪TYPO3\CMS\Core\Http\ServerRequest\getUploadedFiles
‪array getUploadedFiles()
Definition: ServerRequest.php:178
‪TYPO3\CMS\Core\Http\ServerRequest\withParsedBody
‪static withParsedBody($data)
Definition: ServerRequest.php:250
‪TYPO3\CMS\Core\Http\ServerRequest\getServerParams
‪getServerParams()
Definition: ServerRequest.php:80
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\getAttributesAreEmptyByDefault
‪getAttributesAreEmptyByDefault()
Definition: ServerRequestTest.php:116
‪TYPO3\CMS\Core\Http\UploadedFile
Definition: UploadedFile.php:34
‪TYPO3\CMS\Core\Http\ServerRequest\getAttribute
‪mixed getAttribute(string $name, $default=null)
Definition: ServerRequest.php:289
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\getServerParamsAreEmptyByDefault
‪getServerParamsAreEmptyByDefault()
Definition: ServerRequestTest.php:43
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\getCookieParamsAreEmptyByDefault
‪getCookieParamsAreEmptyByDefault()
Definition: ServerRequestTest.php:70
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\withAttributeMutatorReturnsCloneWithChanges
‪withAttributeMutatorReturnsCloneWithChanges()
Definition: ServerRequestTest.php:124
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\getUploadedFilesAreEmptyByDefault
‪getUploadedFilesAreEmptyByDefault()
Definition: ServerRequestTest.php:89
‪TYPO3\CMS\Core\Tests\Unit\Http\ServerRequestTest\withParsedBodyMutatorReturnsCloneWithChanges
‪withParsedBodyMutatorReturnsCloneWithChanges()
Definition: ServerRequestTest.php:105
‪TYPO3\CMS\Core\Http\ServerRequest\withAttribute
‪static withAttribute(string $name, $value)
Definition: ServerRequest.php:310