From fa38007c8d5d171230134cd2f491199f457695bb Mon Sep 17 00:00:00 2001 From: wbars <wbs@kereval.com> Date: Fri, 4 Sep 2020 10:00:20 +0200 Subject: [PATCH] IUAINFRA-52 | FIX Sonar --- .../application/TokenGeneratorTest.java | 92 +++++++++++++++---- .../adapter/AuthorizationServerService.java | 3 + .../AuthorizationServerServiceTest.java | 6 +- 3 files changed, 80 insertions(+), 21 deletions(-) diff --git a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGeneratorTest.java b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGeneratorTest.java index 4e21eba..702ef74 100644 --- a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGeneratorTest.java +++ b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGeneratorTest.java @@ -13,6 +13,9 @@ import java.time.Duration; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; +/** + * Tests for {@link TokenGenerator} + */ class TokenGeneratorTest { private static final String ALGORITHM = "HS256"; @@ -23,11 +26,20 @@ class TokenGeneratorTest { private static final Duration DURATION = Duration.ofMinutes(5); private static AudienceSecretRetrieverTestImpl AUDIENCE_RETRIEVER = new AudienceSecretRetrieverTestImpl(); + /** + * Init audience available to generate token. + */ @BeforeEach public void initAudience() { AUDIENCE_RETRIEVER.addAudience(AUDIENCE, "myBeautifulKeyWhichIsAJWTSecretSoSecret"); } + /** + * Default generation of a token + * + * @throws EncodingException if something wrong happens during encoding + * @throws TokenRequestException if the token request is not valid + */ @Test public void generateAccessTokenTest() throws EncodingException, TokenRequestException { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE); @@ -41,9 +53,11 @@ class TokenGeneratorTest { assertNotNull(encodedIUAToken); } - + /** + * Test with a null signature. + */ @Test - public void generateAccessTokenNullSignatureTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenNullSignatureTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(null); @@ -54,8 +68,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating token with unsupported issuer. + */ @Test - public void generateAccessTokenUnsupportedIssuerTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenUnsupportedIssuerTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest("blabla", SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -66,8 +83,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating a token with a null subject. + */ @Test - public void generateAccessTokenNullIssuerTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenNullIssuerTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -78,8 +98,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating a token with unsupported subject. + */ @Test - public void generateAccessTokenUnsupportedSubjectTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenUnsupportedSubjectTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, "subject", AUDIENCE, DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -90,8 +113,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating a token with null subject. + */ @Test - public void generateAccessTokenNullSubjectTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenNullSubjectTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, null, AUDIENCE, DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -102,8 +128,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating a token with unsupported token type. + */ @Test - public void generateAccessTokenUnsupportedTokenTypeTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenUnsupportedTokenTypeTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TokenType.SAML); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -114,8 +143,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating a token with null token type. + */ @Test - public void generateAccessTokenNullTokenTypeTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenNullTokenTypeTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, null); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -126,8 +158,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating a token with unsupported algo. + */ @Test - public void generateAccessTokenUnsupportedAlgoTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenUnsupportedAlgoTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature("algo", "secret")); @@ -138,8 +173,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating a token with null algo. + */ @Test - public void generateAccessTokenNullAlgoTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenNullAlgoTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(null, "secret")); @@ -150,8 +188,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating a token with null audience. + */ @Test - public void generateAccessTokenNullAudienceTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenNullAudienceTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, null, DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -162,8 +203,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } + /** + * Test generating a token with unsupported audience. + */ @Test - public void generateAccessTokenUnknownAudienceTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenUnknownAudienceTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -174,9 +218,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } - + /** + * Test generating a token with empty audience. + */ @Test - public void generateAccessTokenEmptyAudienceTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenEmptyAudienceTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "", DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -187,9 +233,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } - + /** + * Test generating a token with empty secret. + */ @Test - public void generateAccessTokenEmptySecretTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenEmptySecretTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -200,9 +248,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } - + /** + * Test generating a token with null secret. + */ @Test - public void generateAccessTokenNullSecretTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenNullSecretTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); @@ -213,9 +263,11 @@ class TokenGeneratorTest { assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer"); } - + /** + * Test generating a token with null Duration. + */ @Test - public void generateAccessTokenDurationNullTest() throws EncodingException, TokenRequestException { + public void generateAccessTokenDurationNullTest() { AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", null, TOKEN_TYPE); accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret")); 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 8d695dc..a445982 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 @@ -18,6 +18,9 @@ public class AuthorizationServerService { private DummyAuthzServer dummyAuthzServer; + /** + * Default constructor for the class. + */ public AuthorizationServerService() { dummyAuthzServer = new DummyAuthzServerSoapui(); } 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 3edb173..b0d5546 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 @@ -5,6 +5,9 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNotNull; +/** + * Tests for {@link AuthorizationServerService} + */ class AuthorizationServerServiceTest { private static final String SUBJECT = "aamrein"; @@ -20,6 +23,7 @@ class AuthorizationServerServiceTest { dummyAuthzServer.setAudienceSecretRetriever((String audience) -> "myBeautifulKeyWhichIsAJWTSecretSoSecret"); authorizationServerService.setDummyAuthzServer(dummyAuthzServer); - assertNotNull(authorizationServerService.getAccessToken(SUBJECT, AUDIENCE, null, null)); + assertNotNull(authorizationServerService.getAccessToken(SUBJECT, AUDIENCE, null, null), + "Provided access token shall not be null !"); } } \ No newline at end of file -- GitLab