From 5ea225999d8faedfd02fa04d4bc7a55df17be4df Mon Sep 17 00:00:00 2001 From: Youn <yct@kereval.com> Date: Wed, 2 Sep 2020 16:19:04 +0200 Subject: [PATCH] IUAINFRA-47 add javadoc + TU --- .../application/DummyAuthzServerSoapui.java | 42 +++++++++++-------- .../DummyAuthzServerSoapuiTest.java | 32 +++++++------- 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java index 08a9530..4f9c7f5 100644 --- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java +++ b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java @@ -4,6 +4,7 @@ import net.ihe.gazelle.app.accesstokenproviderapi.business.AccessTokenRequest; import net.ihe.gazelle.app.accesstokenproviderapi.business.SymmetricSignature; import net.ihe.gazelle.app.audienceretriever.adapter.AudienceSecretRetrieverForSoapui; import net.ihe.gazelle.app.audienceretriever.adapter.AudienceSecretRetrieverImpl; +import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever; import net.ihe.gazelle.modelapi.sb.business.EncodingException; import net.ihe.gazelle.sb.iua.business.TokenType; @@ -14,40 +15,45 @@ import java.time.Duration; */ public class DummyAuthzServerSoapui implements DummyAuthzServer { + private static final String ALGORITHM = "HS256"; private static final String ISSUER = "https://ehealthsuisse.ihe-europe.net/access-token-provider"; private static final TokenType TOKEN_TYPE = TokenType.JWT; private static final Duration DURATION = Duration.ofHours(1); - + private AudienceSecretRetriever audienceSecretRetriever; /** - * {@inheritDoc} + * Default constructor for the class. */ - @Override - public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId) { - //todo purposeOfUse and resourceId are not yet implemented - - TokenGenerator tokenGenerator = new TokenGenerator(); - tokenGenerator.setAudienceSecretRetriever(new AudienceSecretRetrieverForSoapui()); + public DummyAuthzServerSoapui() { + //Empty + } - return getTokenGenerator(userId, audienceId, tokenGenerator); + /** + * Constructor with the path for the class. + */ + public DummyAuthzServerSoapui(String path) { + audienceSecretRetriever = new AudienceSecretRetrieverForSoapui(path); } /** - * get the access token with a properties files provide + * Setter for the audienceSecretRetriever property. * - * @param userId String element - * @param audienceId String element - * @param purposeOfUse String element - * @param resourceId String element - * @param propertiesFilePath String element - * @return the token as byte + * @param audienceSecretRetriever value to set to the property. */ - public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId, String propertiesFilePath) { + public void setAudienceSecretRetriever(AudienceSecretRetriever audienceSecretRetriever) { + this.audienceSecretRetriever = audienceSecretRetriever; + } + + /** + * {@inheritDoc} + */ + @Override + public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId) { //todo purposeOfUse and resourceId are not yet implemented TokenGenerator tokenGenerator = new TokenGenerator(); - tokenGenerator.setAudienceSecretRetriever(new AudienceSecretRetrieverForSoapui(propertiesFilePath)); + tokenGenerator.setAudienceSecretRetriever(this.audienceSecretRetriever); return getTokenGenerator(userId, audienceId, tokenGenerator); } 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 7be357b..327db81 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,8 +1,14 @@ package net.ihe.gazelle.app.accesstokenproviderapi.application; +import net.ihe.gazelle.app.audienceretriever.adapter.AudienceSecretRetrieverForSoapui; +import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever; import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; + +import java.io.FileNotFoundException; import java.util.logging.Logger; -import static org.junit.jupiter.api.Assertions.assertNotNull; + +import static org.junit.jupiter.api.Assertions.*; class DummyAuthzServerSoapuiTest { @@ -14,21 +20,21 @@ class DummyAuthzServerSoapuiTest { */ @Test public void getAccessTokenWithPathAudienceTest() { - DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui(); - assertNotNull(dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null, "src/test/resources/audience.properties")); + DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui("src/test/resources/audience.properties"); + dummyAuthzServer.setAudienceSecretRetriever((String audience) -> "secret"); + + assertNotNull(dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null)); } /** * get access token without an Audience path defined (we keep the default Audience path in this case) */ @Test - public void getAccessTokenWithoutPathAudienceTest() { + public void getAccessTokenWithDefaultPathAudienceTest() { DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui(); - try { - dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null); - } catch (Exception e) { - Logger.getLogger("FileNotFoundException: /opt/simulators/audience.properties"); - } + dummyAuthzServer.setAudienceSecretRetriever((String audience) -> "secret"); + + assertNotNull(dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null)); } /** @@ -36,11 +42,7 @@ class DummyAuthzServerSoapuiTest { */ @Test public void getAccessTokenWithBadPathAudienceTest() { - DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui(); - try { - dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null, "test.properties"); - } catch (Exception e) { - Logger.getLogger("FileNotFoundException: test.properties"); - } + DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui("test.properties"); + assertNull(dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null)); } } -- GitLab