Mentions légales du service

Skip to content
Snippets Groups Projects

Feature/iuainfra 52

Merged Wylem Bars requested to merge feature/IUAINFRA-52 into develop
2 unresolved threads
3 files
+ 80
21
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -13,6 +13,9 @@ import java.time.Duration;
@@ -13,6 +13,9 @@ import java.time.Duration;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertThrows;
 
/**
 
* Tests for {@link TokenGenerator}
 
*/
class TokenGeneratorTest {
class TokenGeneratorTest {
private static final String ALGORITHM = "HS256";
private static final String ALGORITHM = "HS256";
@@ -23,11 +26,20 @@ class TokenGeneratorTest {
@@ -23,11 +26,20 @@ class TokenGeneratorTest {
private static final Duration DURATION = Duration.ofMinutes(5);
private static final Duration DURATION = Duration.ofMinutes(5);
private static AudienceSecretRetrieverTestImpl AUDIENCE_RETRIEVER = new AudienceSecretRetrieverTestImpl();
private static AudienceSecretRetrieverTestImpl AUDIENCE_RETRIEVER = new AudienceSecretRetrieverTestImpl();
 
/**
 
* Init audience available to generate token.
 
*/
@BeforeEach
@BeforeEach
public void initAudience() {
public void initAudience() {
AUDIENCE_RETRIEVER.addAudience(AUDIENCE, "myBeautifulKeyWhichIsAJWTSecretSoSecret");
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
@Test
public void generateAccessTokenTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenTest() throws EncodingException, TokenRequestException {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
@@ -41,9 +53,11 @@ class TokenGeneratorTest {
@@ -41,9 +53,11 @@ class TokenGeneratorTest {
assertNotNull(encodedIUAToken);
assertNotNull(encodedIUAToken);
}
}
/**
 
* Test with a null signature.
 
*/
@Test
@Test
public void generateAccessTokenNullSignatureTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenNullSignatureTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(null);
accessTokenRequest.setSignature(null);
@@ -54,8 +68,11 @@ class TokenGeneratorTest {
@@ -54,8 +68,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating token with unsupported issuer.
 
*/
@Test
@Test
public void generateAccessTokenUnsupportedIssuerTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenUnsupportedIssuerTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest("blabla", SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest("blabla", SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -66,8 +83,11 @@ class TokenGeneratorTest {
@@ -66,8 +83,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating a token with a null subject.
 
*/
@Test
@Test
public void generateAccessTokenNullIssuerTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenNullIssuerTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -78,8 +98,11 @@ class TokenGeneratorTest {
@@ -78,8 +98,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating a token with unsupported subject.
 
*/
@Test
@Test
public void generateAccessTokenUnsupportedSubjectTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenUnsupportedSubjectTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, "subject", AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, "subject", AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -90,8 +113,11 @@ class TokenGeneratorTest {
@@ -90,8 +113,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating a token with null subject.
 
*/
@Test
@Test
public void generateAccessTokenNullSubjectTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenNullSubjectTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, null, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, null, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -102,8 +128,11 @@ class TokenGeneratorTest {
@@ -102,8 +128,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating a token with unsupported token type.
 
*/
@Test
@Test
public void generateAccessTokenUnsupportedTokenTypeTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenUnsupportedTokenTypeTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TokenType.SAML);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TokenType.SAML);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -114,8 +143,11 @@ class TokenGeneratorTest {
@@ -114,8 +143,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating a token with null token type.
 
*/
@Test
@Test
public void generateAccessTokenNullTokenTypeTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenNullTokenTypeTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, null);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, null);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -126,8 +158,11 @@ class TokenGeneratorTest {
@@ -126,8 +158,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating a token with unsupported algo.
 
*/
@Test
@Test
public void generateAccessTokenUnsupportedAlgoTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenUnsupportedAlgoTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature("algo", "secret"));
accessTokenRequest.setSignature(new SymmetricSignature("algo", "secret"));
@@ -138,8 +173,11 @@ class TokenGeneratorTest {
@@ -138,8 +173,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating a token with null algo.
 
*/
@Test
@Test
public void generateAccessTokenNullAlgoTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenNullAlgoTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(null, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(null, "secret"));
@@ -150,8 +188,11 @@ class TokenGeneratorTest {
@@ -150,8 +188,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating a token with null audience.
 
*/
@Test
@Test
public void generateAccessTokenNullAudienceTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenNullAudienceTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, null, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, null, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -162,8 +203,11 @@ class TokenGeneratorTest {
@@ -162,8 +203,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
 
/**
 
* Test generating a token with unsupported audience.
 
*/
@Test
@Test
public void generateAccessTokenUnknownAudienceTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenUnknownAudienceTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -174,9 +218,11 @@ class TokenGeneratorTest {
@@ -174,9 +218,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
/**
 
* Test generating a token with empty audience.
 
*/
@Test
@Test
public void generateAccessTokenEmptyAudienceTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenEmptyAudienceTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "", DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "", DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -187,9 +233,11 @@ class TokenGeneratorTest {
@@ -187,9 +233,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
/**
 
* Test generating a token with empty secret.
 
*/
@Test
@Test
public void generateAccessTokenEmptySecretTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenEmptySecretTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -200,9 +248,11 @@ class TokenGeneratorTest {
@@ -200,9 +248,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
/**
 
* Test generating a token with null secret.
 
*/
@Test
@Test
public void generateAccessTokenNullSecretTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenNullSecretTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
@@ -213,9 +263,11 @@ class TokenGeneratorTest {
@@ -213,9 +263,11 @@ class TokenGeneratorTest {
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
/**
 
* Test generating a token with null Duration.
 
*/
@Test
@Test
public void generateAccessTokenDurationNullTest() throws EncodingException, TokenRequestException {
public void generateAccessTokenDurationNullTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", null, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", null, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
Loading