From 3f8a4404ed3816af065bb9cc9faed0ca688bbe33 Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Thu, 21 Jan 2021 14:05:36 +0100
Subject: [PATCH] Added implicit flow test

---
 tests/OAuth2RequestHandlerTest.php | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/tests/OAuth2RequestHandlerTest.php b/tests/OAuth2RequestHandlerTest.php
index 16cd723..9e90633 100644
--- a/tests/OAuth2RequestHandlerTest.php
+++ b/tests/OAuth2RequestHandlerTest.php
@@ -252,4 +252,32 @@ final class OAuth2RequestHandlerTest extends TestCase {
         $this->assertNotNull($params['code']);
     }
 
+    public function testGetRedirectResponseUrlForImplicitFlow(): void {
+
+        $user = new \RAP\User();
+        $user->id = "123";
+
+        $requestData = new \RAP\OAuth2RequestData();
+        $requestData->clientId = "<client-id>";
+        $requestData->redirectUrl = "<base-path>";
+        $requestData->scope = ["openid", "profile"];
+
+        $sessionStub = $this->createMock(\RAP\SessionData::class);
+        $sessionStub->method('getUser')->willReturn($user);
+        $sessionStub->method('getOAuth2RequestData')->willReturn($requestData);
+
+        $locatorStub = $this->createMock(\RAP\Locator::class);
+        $locatorStub->method('getSession')->willReturn($sessionStub);
+
+        $tokenBuilderStub = $this->createMock(\RAP\TokenBuilder::class);
+        $tokenBuilderStub->method('getIdToken')->willReturn('<id_token>');
+        $locatorStub->method('getTokenBuilder')->willReturn($tokenBuilderStub);
+
+        $requestHandler = new \RAP\OAuth2RequestHandler($locatorStub);
+
+        $result = $requestHandler->getRedirectResponseUrl();
+
+        $this->assertEquals("<base-path>#id_token=<id_token>", $result);
+    }
+
 }
-- 
GitLab