@@ -24,55 +24,70 @@ public function testTemplate()
2424
2525 /** @var PromiseInterface $result */
2626 $ result = $ middleware ($ request , $ this ->getNextCallback ($ response ));
27- $ this ->assertInstanceOf (' React\ Promise\Promise ' , $ result );
27+ $ this ->assertInstanceOf (Promise::class , $ result );
2828
2929 $ result ->then (function ($ value ) use (&$ response ) {
3030 $ response = $ value ;
3131 });
32- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
32+ $ this ->assertInstanceOf (Response::class , $ response );
3333 }
3434
3535 public function testNoHostHeaderResponse ()
3636 {
37- $ this ->markTestSkipped ('Not yet implemented ' );
38-
3937 $ request = new ServerRequest ('OPTIONS ' , 'https://api.example.net/ ' , [
4038 'Origin ' => 'https://www.example.net ' ,
4139 'Access-Control-Request-Method ' => 'GET ' ,
4240 'Access-Control-Request-Headers ' => 'Authorization ' ,
4341 ]);
4442 $ request = $ request ->withoutHeader ('Host ' );
43+
4544 $ response = new Response (200 , ['Content-Type ' => 'text/html ' ], 'Some response ' );
4645
4746 $ middleware = new CorsMiddleware ([
4847 'allow_origin ' => '* ' ,
49- 'allow_methods ' => ['OPTIONS ' ],
48+ 'allow_methods ' => ['GET ' ],
5049 ]);
5150
5251 /** @var Response $result */
5352 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
54- $ this ->assertInstanceOf ('React\Http\Response ' , $ response );
55-
53+ $ this ->assertInstanceOf (Response::class, $ response );
5654 $ this ->assertSame (401 , $ response ->getStatusCode ());
5755 }
5856
5957 public function testDefaultValuesShouldAllowRequest ()
6058 {
61- $ request = new ServerRequest ('GET ' , 'https://api.example.net/ ' );
59+ $ request = new ServerRequest ('GET ' , 'https://api.example.net/ ' , [
60+ 'Origin ' => 'https://api.example.net/ '
61+ ]);
6262 $ response = new Response (200 , ['Content-Type ' => 'text/html ' ], 'Some response ' );
6363
64- $ middleware = new CorsMiddleware ();
64+ $ middleware = new CorsMiddleware ([ ' server_url ' => ' https://api.example.net/ ' ] );
6565
6666 /** @var PromiseInterface $promise */
6767 $ promise = $ middleware ($ request , $ this ->getNextCallback ($ response ));
68- $ this ->assertInstanceOf (' React\ Promise\Promise ' , $ promise );
68+ $ this ->assertInstanceOf (Promise::class , $ promise );
6969 $ promise ->then (function ($ value ) use (&$ response ) {
7070 $ response = $ value ;
7171 });
72- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
72+ $ this ->assertInstanceOf (Response::class , $ response );
7373 $ this ->assertSame (200 , $ response ->getStatusCode ());
7474 }
7575
76+ public function testWrongHostShouldDenyRequest ()
77+ {
78+ $ request = new ServerRequest ('GET ' , 'https://api.example.org/ ' , [
79+ 'Origin ' => 'https://api.example.net/ '
80+ ]);
81+ $ response = new Response (200 , ['Content-Type ' => 'text/html ' ], 'Some response ' );
82+
83+ $ middleware = new CorsMiddleware (['server_url ' => 'https://api.example.net/ ' ]);
84+
85+ /** @var PromiseInterface $promise */
86+ $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
87+ $ this ->assertInstanceOf (Response::class, $ response );
88+ $ this ->assertSame (400 , $ response ->getStatusCode ());
89+ }
90+
7691 public function testDefaultValuesShouldDenyCrossOrigin ()
7792 {
7893 $ request = new ServerRequest ('OPTIONS ' , 'https://api.example.net/ ' , [
@@ -86,7 +101,7 @@ public function testDefaultValuesShouldDenyCrossOrigin()
86101
87102 /** @var Response $response */
88103 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
89- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
104+ $ this ->assertInstanceOf (Response::class , $ response );
90105 $ this ->assertSame (403 , $ response ->getStatusCode ());
91106 }
92107
@@ -107,7 +122,7 @@ public function testRequestInvalidRequestHeaders()
107122
108123 /** @var Response $response */
109124 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
110- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
125+ $ this ->assertInstanceOf (Response::class , $ response );
111126 $ this ->assertSame (401 , $ response ->getStatusCode ());
112127 }
113128
@@ -128,7 +143,7 @@ public function testRequestValidRequestHeaders()
128143
129144 /** @var Response $response */
130145 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
131- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
146+ $ this ->assertInstanceOf (Response::class , $ response );
132147 $ this ->assertSame (204 , $ response ->getStatusCode ());
133148 }
134149
@@ -147,7 +162,7 @@ public function testRequestInvalidMethods()
147162
148163 /** @var Response $response */
149164 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
150- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
165+ $ this ->assertInstanceOf (Response::class , $ response );
151166 $ this ->assertSame (405 , $ response ->getStatusCode ());
152167 }
153168
@@ -166,7 +181,7 @@ public function testRequestValidMethods()
166181
167182 /** @var Response $response */
168183 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
169- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
184+ $ this ->assertInstanceOf (Response::class , $ response );
170185 $ this ->assertSame (204 , $ response ->getStatusCode ());
171186 }
172187
@@ -187,7 +202,7 @@ public function testRequestOriginByInvalidOrigin()
187202
188203 /** @var Response $response */
189204 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
190- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
205+ $ this ->assertInstanceOf (Response::class , $ response );
191206 $ this ->assertSame (403 , $ response ->getStatusCode ());
192207 }
193208
@@ -208,7 +223,7 @@ public function testRequestOriginByValidOrigin()
208223
209224 /** @var Response $response */
210225 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
211- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
226+ $ this ->assertInstanceOf (Response::class , $ response );
212227 $ this ->assertSame (204 , $ response ->getStatusCode ());
213228 }
214229
@@ -229,7 +244,7 @@ public function testRequestOriginByWildcard()
229244
230245 /** @var Response $response */
231246 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
232- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
247+ $ this ->assertInstanceOf (Response::class , $ response );
233248 $ this ->assertSame (204 , $ response ->getStatusCode ());
234249
235250 // -- test wildcard as array
@@ -241,7 +256,7 @@ public function testRequestOriginByWildcard()
241256
242257 /** @var Response $response */
243258 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
244- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
259+ $ this ->assertInstanceOf (Response::class , $ response );
245260 $ this ->assertSame (204 , $ response ->getStatusCode ());
246261 }
247262
@@ -265,7 +280,7 @@ public function testRequestOriginByPositiveCallback()
265280
266281 /** @var Response $response */
267282 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
268- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
283+ $ this ->assertInstanceOf (Response::class , $ response );
269284 $ this ->assertSame (204 , $ response ->getStatusCode ());
270285 }
271286
@@ -287,7 +302,7 @@ public function testRequestOriginByNegativeCallback()
287302
288303 /** @var Response $response */
289304 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
290- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
305+ $ this ->assertInstanceOf (Response::class , $ response );
291306 $ this ->assertSame (403 , $ response ->getStatusCode ());
292307 }
293308
@@ -309,7 +324,7 @@ public function testRequestOriginByInvalidCallbackReturn()
309324
310325 /** @var Response $response */
311326 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
312- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
327+ $ this ->assertInstanceOf (Response::class , $ response );
313328 $ this ->assertSame (403 , $ response ->getStatusCode ());
314329 }
315330
@@ -329,7 +344,7 @@ public function testRequestCustomPreflightMaxAge()
329344
330345 /** @var Response $response */
331346 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
332- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
347+ $ this ->assertInstanceOf (Response::class , $ response );
333348 $ this ->assertSame (204 , $ response ->getStatusCode ());
334349 $ this ->assertTrue ($ response ->hasHeader ('Access-Control-Max-Age ' ));
335350 $ this ->assertSame ((string )3600 , $ response ->getHeaderLine ('Access-Control-Max-Age ' ));
@@ -351,7 +366,7 @@ public function testRequestCredentialsAllowed()
351366
352367 /** @var Response $response */
353368 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
354- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
369+ $ this ->assertInstanceOf (Response::class , $ response );
355370 $ this ->assertSame (204 , $ response ->getStatusCode ());
356371 $ this ->assertTrue ($ response ->hasHeader ('Access-Control-Allow-Credentials ' ));
357372 $ this ->assertSame ('true ' , strtolower ($ response ->getHeaderLine ('Access-Control-Allow-Credentials ' )));
@@ -373,7 +388,7 @@ public function testRequestCredentialsNotAllowed()
373388
374389 /** @var Response $response */
375390 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
376- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
391+ $ this ->assertInstanceOf (Response::class , $ response );
377392 $ this ->assertSame (204 , $ response ->getStatusCode ());
378393 $ this ->assertFalse ($ response ->hasHeader ('Access-Control-Allow-Credentials ' ));
379394 }
@@ -394,7 +409,7 @@ public function testRequestCredentialsInvalidValueFallbackToFalse()
394409
395410 /** @var Response $response */
396411 $ response = $ middleware ($ request , $ this ->getNextCallback ($ response ));
397- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
412+ $ this ->assertInstanceOf (Response::class , $ response );
398413 $ this ->assertSame (204 , $ response ->getStatusCode ());
399414 $ this ->assertFalse ($ response ->hasHeader ('Access-Control-Allow-Credentials ' ));
400415 }
@@ -419,7 +434,7 @@ public function testRequestExposedHeaderForResponseShouldBeHidden()
419434 $ result ->then (function ($ value ) use (&$ response ) {
420435 $ response = $ value ;
421436 });
422- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
437+ $ this ->assertInstanceOf (Response::class , $ response );
423438
424439 $ this ->assertFalse ($ response ->hasHeader ('Access-Control-Expose-Headers ' ));
425440 }
@@ -443,7 +458,7 @@ public function testRequestExposedHeaderForResponseShouldBeVisible()
443458 $ result ->then (function ($ value ) use (&$ response ) {
444459 $ response = $ value ;
445460 });
446- $ this ->assertInstanceOf (' React\Http\ Response' , $ response );
461+ $ this ->assertInstanceOf (Response::class , $ response );
447462
448463 $ this ->assertTrue ($ response ->hasHeader ('Access-Control-Expose-Headers ' ));
449464 $ this ->assertContains ('X-Custom-Header ' , $ response ->getHeaderLine ('Access-Control-Expose-Headers ' ));
0 commit comments