PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.3.1
GiveWP – Donation Plugin and Fundraising Platform v3.3.1
4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / vendor-prefixed / symfony / http-foundation / Tests / ServerBagTest.php
give / vendor / vendor-prefixed / symfony / http-foundation / Tests Last commit date
File 2 years ago Fixtures 2 years ago Session 2 years ago schema 2 years ago AcceptHeaderItemTest.php 2 years ago AcceptHeaderTest.php 2 years ago ApacheRequestTest.php 2 years ago BinaryFileResponseTest.php 2 years ago CookieTest.php 2 years ago ExpressionRequestMatcherTest.php 2 years ago FileBagTest.php 2 years ago HeaderBagTest.php 2 years ago IpUtilsTest.php 2 years ago JsonResponseTest.php 2 years ago ParameterBagTest.php 2 years ago RedirectResponseTest.php 2 years ago RequestMatcherTest.php 2 years ago RequestStackTest.php 2 years ago RequestTest.php 2 years ago ResponseFunctionalTest.php 2 years ago ResponseHeaderBagTest.php 2 years ago ResponseTest.php 2 years ago ResponseTestCase.php 2 years ago ServerBagTest.php 2 years ago StreamedResponseTest.php 2 years ago
ServerBagTest.php
174 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 *
11 * Modified by impress-org on 23-January-2024 using Strauss.
12 * @see https://github.com/BrianHenryIE/strauss
13 */
14
15 namespace Give\Vendors\Symfony\Component\HttpFoundation\Tests;
16
17 use PHPUnit\Framework\TestCase;
18 use Give\Vendors\Symfony\Component\HttpFoundation\ServerBag;
19
20 /**
21 * ServerBagTest.
22 *
23 * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
24 */
25 class ServerBagTest extends TestCase
26 {
27 public function testShouldExtractHeadersFromServerArray()
28 {
29 $server = [
30 'SOME_SERVER_VARIABLE' => 'value',
31 'SOME_SERVER_VARIABLE2' => 'value',
32 'ROOT' => 'value',
33 'HTTP_CONTENT_TYPE' => 'text/html',
34 'HTTP_CONTENT_LENGTH' => '0',
35 'HTTP_ETAG' => 'asdf',
36 'PHP_AUTH_USER' => 'foo',
37 'PHP_AUTH_PW' => 'bar',
38 ];
39
40 $bag = new ServerBag($server);
41
42 $this->assertEquals([
43 'CONTENT_TYPE' => 'text/html',
44 'CONTENT_LENGTH' => '0',
45 'ETAG' => 'asdf',
46 'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
47 'PHP_AUTH_USER' => 'foo',
48 'PHP_AUTH_PW' => 'bar',
49 ], $bag->getHeaders());
50 }
51
52 public function testHttpPasswordIsOptional()
53 {
54 $bag = new ServerBag(['PHP_AUTH_USER' => 'foo']);
55
56 $this->assertEquals([
57 'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),
58 'PHP_AUTH_USER' => 'foo',
59 'PHP_AUTH_PW' => '',
60 ], $bag->getHeaders());
61 }
62
63 public function testHttpBasicAuthWithPhpCgi()
64 {
65 $bag = new ServerBag(['HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:bar')]);
66
67 $this->assertEquals([
68 'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
69 'PHP_AUTH_USER' => 'foo',
70 'PHP_AUTH_PW' => 'bar',
71 ], $bag->getHeaders());
72 }
73
74 public function testHttpBasicAuthWithPhpCgiBogus()
75 {
76 $bag = new ServerBag(['HTTP_AUTHORIZATION' => 'Basic_'.base64_encode('foo:bar')]);
77
78 // Username and passwords should not be set as the header is bogus
79 $headers = $bag->getHeaders();
80 $this->assertArrayNotHasKey('PHP_AUTH_USER', $headers);
81 $this->assertArrayNotHasKey('PHP_AUTH_PW', $headers);
82 }
83
84 public function testHttpBasicAuthWithPhpCgiRedirect()
85 {
86 $bag = new ServerBag(['REDIRECT_HTTP_AUTHORIZATION' => 'Basic '.base64_encode('username:pass:word')]);
87
88 $this->assertEquals([
89 'AUTHORIZATION' => 'Basic '.base64_encode('username:pass:word'),
90 'PHP_AUTH_USER' => 'username',
91 'PHP_AUTH_PW' => 'pass:word',
92 ], $bag->getHeaders());
93 }
94
95 public function testHttpBasicAuthWithPhpCgiEmptyPassword()
96 {
97 $bag = new ServerBag(['HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:')]);
98
99 $this->assertEquals([
100 'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),
101 'PHP_AUTH_USER' => 'foo',
102 'PHP_AUTH_PW' => '',
103 ], $bag->getHeaders());
104 }
105
106 public function testHttpDigestAuthWithPhpCgi()
107 {
108 $digest = 'Digest username="foo", realm="acme", nonce="'.md5('secret').'", uri="/protected, qop="auth"';
109 $bag = new ServerBag(['HTTP_AUTHORIZATION' => $digest]);
110
111 $this->assertEquals([
112 'AUTHORIZATION' => $digest,
113 'PHP_AUTH_DIGEST' => $digest,
114 ], $bag->getHeaders());
115 }
116
117 public function testHttpDigestAuthWithPhpCgiBogus()
118 {
119 $digest = 'Digest_username="foo", realm="acme", nonce="'.md5('secret').'", uri="/protected, qop="auth"';
120 $bag = new ServerBag(['HTTP_AUTHORIZATION' => $digest]);
121
122 // Username and passwords should not be set as the header is bogus
123 $headers = $bag->getHeaders();
124 $this->assertArrayNotHasKey('PHP_AUTH_USER', $headers);
125 $this->assertArrayNotHasKey('PHP_AUTH_PW', $headers);
126 }
127
128 public function testHttpDigestAuthWithPhpCgiRedirect()
129 {
130 $digest = 'Digest username="foo", realm="acme", nonce="'.md5('secret').'", uri="/protected, qop="auth"';
131 $bag = new ServerBag(['REDIRECT_HTTP_AUTHORIZATION' => $digest]);
132
133 $this->assertEquals([
134 'AUTHORIZATION' => $digest,
135 'PHP_AUTH_DIGEST' => $digest,
136 ], $bag->getHeaders());
137 }
138
139 public function testOAuthBearerAuth()
140 {
141 $headerContent = 'Bearer L-yLEOr9zhmUYRkzN1jwwxwQ-PBNiKDc8dgfB4hTfvo';
142 $bag = new ServerBag(['HTTP_AUTHORIZATION' => $headerContent]);
143
144 $this->assertEquals([
145 'AUTHORIZATION' => $headerContent,
146 ], $bag->getHeaders());
147 }
148
149 public function testOAuthBearerAuthWithRedirect()
150 {
151 $headerContent = 'Bearer L-yLEOr9zhmUYRkzN1jwwxwQ-PBNiKDc8dgfB4hTfvo';
152 $bag = new ServerBag(['REDIRECT_HTTP_AUTHORIZATION' => $headerContent]);
153
154 $this->assertEquals([
155 'AUTHORIZATION' => $headerContent,
156 ], $bag->getHeaders());
157 }
158
159 /**
160 * @see https://github.com/symfony/symfony/issues/17345
161 */
162 public function testItDoesNotOverwriteTheAuthorizationHeaderIfItIsAlreadySet()
163 {
164 $headerContent = 'Bearer L-yLEOr9zhmUYRkzN1jwwxwQ-PBNiKDc8dgfB4hTfvo';
165 $bag = new ServerBag(['PHP_AUTH_USER' => 'foo', 'HTTP_AUTHORIZATION' => $headerContent]);
166
167 $this->assertEquals([
168 'AUTHORIZATION' => $headerContent,
169 'PHP_AUTH_USER' => 'foo',
170 'PHP_AUTH_PW' => '',
171 ], $bag->getHeaders());
172 }
173 }
174