From a40fbbf3c8b0ab6f27240be50a5d8db6d4de8557 Mon Sep 17 00:00:00 2001
From: wbars <wbs@kereval.com>
Date: Tue, 1 Sep 2020 15:42:17 +0200
Subject: [PATCH] =?UTF-8?q?IUAINFRA-52=20|=C2=A0Use=20real=20implementatio?=
 =?UTF-8?q?n=20for=20rest=20service?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../application/TokenGenerator.java           |  2 +-
 .../accesstokenproviderapi/adapter/README.txt |  1 -
 .../DummyAuthzServerSoapuiTest.java           |  2 +-
 .../application/README.txt                    |  1 -
 .../business/README.txt                       |  1 -
 .../adapter/AuthorizationServerService.java   | 43 ++++++++++++++-----
 .../AuthorizationServerServiceTest.java       |  6 ++-
 7 files changed, 39 insertions(+), 17 deletions(-)
 delete mode 100644 access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/adapter/README.txt
 delete mode 100644 access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/README.txt
 delete mode 100644 access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/business/README.txt

diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java
index 6c96638..6f150d4 100644
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java
+++ b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java
@@ -55,7 +55,7 @@ public class TokenGenerator {
             throw new TokenRequestException("Unsupported issuer");
         }
 
-        if (accessTokenRequest.getAudience() ==null || accessTokenRequest.getAudience().isEmpty()) {
+        if (accessTokenRequest.getAudience() == null || accessTokenRequest.getAudience().isEmpty()) {
             throw new TokenRequestException("Audience is null or empty");
         }
 
diff --git a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/adapter/README.txt b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/adapter/README.txt
deleted file mode 100644
index ddaf15e..0000000
--- a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/adapter/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-Put here test classes for adapter layer.
\ No newline at end of file
diff --git a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java
index b59565d..c166388 100644
--- a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java
+++ b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java
@@ -1,7 +1,7 @@
 package net.ihe.gazelle.app.accesstokenproviderapi.application;
 
-import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever;
 import org.junit.jupiter.api.Test;
+
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 class DummyAuthzServerSoapuiTest {
diff --git a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/README.txt b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/README.txt
deleted file mode 100644
index fe1a7ed..0000000
--- a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-Put here test classes for application layer.
\ No newline at end of file
diff --git a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/business/README.txt b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/business/README.txt
deleted file mode 100644
index 9ab90c5..0000000
--- a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/business/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-Put here test classes for business layer.
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java
index b0604fc..8d695dc 100644
--- a/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java
+++ b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java
@@ -2,26 +2,47 @@ package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
 
 
 import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServer;
+import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
+import javax.ws.rs.QueryParam;
 import javax.ws.rs.ext.Provider;
-import java.nio.charset.StandardCharsets;
 
+/**
+ * Service for Mock Access Token Provider.
+ */
 @Provider
-@Path(value="/mock-token")
+@Path(value = "/mock-token")
 public class AuthorizationServerService {
 
+    private DummyAuthzServer dummyAuthzServer;
+
+    public AuthorizationServerService() {
+        dummyAuthzServer = new DummyAuthzServerSoapui();
+    }
+
+    /**
+     * Setter for the dummyAuthzServer property.
+     *
+     * @param dummyAuthzServer value to set to the property.
+     */
+    public void setDummyAuthzServer(DummyAuthzServer dummyAuthzServer) {
+        this.dummyAuthzServer = dummyAuthzServer;
+    }
+
+    /**
+     * get a dummy access token
+     *
+     * @param userId
+     * @param audienceId
+     * @param purposeOfUse
+     * @param resourceId
+     * @return an access token
+     */
     @GET
-    public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId){
-//        TODO Put real implementation but it doesn't work right now
-//        DummyAuthzServer dummyAuthzServer = new DummyAuthzServerSoapui();
-        DummyAuthzServer dummyAuthzServer = new DummyAuthzServer() {
-            @Override
-            public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId) {
-                return "Tartes aux pommes".getBytes(StandardCharsets.UTF_8);
-            }
-        };
+    public byte[] getAccessToken(@QueryParam("userId") String userId, @QueryParam("audienceId") String audienceId,
+                                 @QueryParam("purposeOfUse") String purposeOfUse, @QueryParam("resourceId") String resourceId) {
         return dummyAuthzServer.getAccessToken(userId, audienceId, purposeOfUse, resourceId);
     }
 
diff --git a/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java
index 059a97e..3626588 100644
--- a/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java
+++ b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java
@@ -3,7 +3,7 @@ package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
 import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui;
 import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 class AuthorizationServerServiceTest {
 
@@ -16,6 +16,10 @@ class AuthorizationServerServiceTest {
     @Test
     public void getAccessToken() {
         AuthorizationServerService authorizationServerService = new AuthorizationServerService();
+        DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui();
+        dummyAuthzServer.setAudienceSecretRetriever((String audience) -> "secret");
+        authorizationServerService.setDummyAuthzServer(dummyAuthzServer);
+
         assertNotNull(authorizationServerService.getAccessToken(SUBJECT, AUDIENCE, null, null));
     }
 }
\ No newline at end of file
-- 
GitLab