From f904f79c18ca58320d0e784360c1238154e5d9a6 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sat, 30 Jul 2016 23:26:49 +0200 Subject: [PATCH] Created CheckAuthenticationMiddlewareTest --- .../CheckAuthenticationMiddlewareTest.php | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 module/Rest/test/Middleware/CheckAuthenticationMiddlewareTest.php diff --git a/module/Rest/test/Middleware/CheckAuthenticationMiddlewareTest.php b/module/Rest/test/Middleware/CheckAuthenticationMiddlewareTest.php new file mode 100644 index 00000000..f2d396af --- /dev/null +++ b/module/Rest/test/Middleware/CheckAuthenticationMiddlewareTest.php @@ -0,0 +1,80 @@ +tokenService = $this->prophesize(RestTokenService::class); + $this->middleware = new CheckAuthenticationMiddleware($this->tokenService->reveal(), Translator::factory([])); + } + + /** + * @test + */ + public function someWhitelistedSituationsFallbackToNextMiddleware() + { + $request = ServerRequestFactory::fromGlobals(); + $response = new Response(); + $isCalled = false; + $this->assertFalse($isCalled); + $this->middleware->__invoke($request, $response, function ($req, $resp) use (&$isCalled) { + $isCalled = true; + }); + $this->assertTrue($isCalled); + + $request = ServerRequestFactory::fromGlobals()->withAttribute( + RouteResult::class, + RouteResult::fromRouteFailure(['GET']) + ); + $response = new Response(); + $isCalled = false; + $this->assertFalse($isCalled); + $this->middleware->__invoke($request, $response, function ($req, $resp) use (&$isCalled) { + $isCalled = true; + }); + $this->assertTrue($isCalled); + + $request = ServerRequestFactory::fromGlobals()->withAttribute( + RouteResult::class, + RouteResult::fromRouteMatch('rest-authenticate', 'foo', []) + ); + $response = new Response(); + $isCalled = false; + $this->assertFalse($isCalled); + $this->middleware->__invoke($request, $response, function ($req, $resp) use (&$isCalled) { + $isCalled = true; + }); + $this->assertTrue($isCalled); + + $request = ServerRequestFactory::fromGlobals()->withAttribute( + RouteResult::class, + RouteResult::fromRouteMatch('bar', 'foo', []) + )->withMethod('OPTIONS'); + $response = new Response(); + $isCalled = false; + $this->assertFalse($isCalled); + $this->middleware->__invoke($request, $response, function ($req, $resp) use (&$isCalled) { + $isCalled = true; + }); + $this->assertTrue($isCalled); + } +}