Mentions légales du service

Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gazelle/applications/test-execution/simulator/access-token-provider
1 result
Show changes
Showing
with 1527 additions and 12 deletions
Put here classes from adapter layer :
Data transformers, adapters, presenters or DAO. Abstraction of external libraries for
application or business use.
Web-services point, sockets, database connection and pool, GUI, file system, framework,
external libraries.
\ No newline at end of file
Put here classes from application layer :
Use cases. Business elements applied in an application context or scenario.
\ No newline at end of file
Put here classes from business layer :
Business model, rules and constraints. Always true. Independent from the application.
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project id="4527283c-83fc-419a-9fa3-d9c072053eac" activeEnvironment="Default" name="getToken" resourceRoot="" soapui-version="5.6.0" abortOnError="false" runType="SEQUENTIAL" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:testSuite id="a7dd34e8-2441-4bf8-b2bc-3ea43c3b0f42" name="getToken"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase id="f8ac5a96-e7e9-4a60-9e9c-84f80664db91" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="getToken" searchProperties="true"><con:settings/><con:testStep type="groovy" name="exemple" id="c65c443d-1476-4c4a-b9e6-b63eac62939f"><con:settings/><con:config><script>import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui
def server = new DummyAuthzServerSoapui("/opt/simulators/audience.properties");
def token = server.getAccessToken("aamrein", "audience", null, null );
log.info new String(token)
</script>
</con:config>
</con:testStep>
<con:properties/>
</con:testCase>
<con:properties/>
</con:testSuite>
<con:properties/>
<con:wssContainer/>
<con:oAuth2ProfileContainer/>
<con:oAuth1ProfileContainer/>
<con:sensitiveInformation/>
</con:soapui-project>
\ No newline at end of file
package net.ihe.gazelle.app.accesstokenproviderapi.application;
import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever;
import java.util.HashMap;
import java.util.Map;
/**
* Class to test the retriever of the audience secret
*/
public class AudienceSecretRetrieverTestImpl implements AudienceSecretRetriever {
private Map<String, String> registry = new HashMap<>();
/**
* Constructor
*/
public AudienceSecretRetrieverTestImpl() {
}
/**
* Add a new audience
*
* @param audience String element
* @param secret String element
*/
public void addAudience(String audience, String secret){
registry.put(audience, secret);
}
/**
* {@inheritDoc}
*/
@Override
public String retrieveSecretForAudience(String audience) {
return registry.get(audience);
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.application;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
/**
* Class to test the soapui authorization server
*/
class DummyAuthzServerSoapuiTest {
private static final String SUBJECT = "aamrein";
private static final String AUDIENCE = "audience";
/**
* get access token with an Audience path defined
*/
@Test
public void getAccessTokenWithPathAudienceTest() {
DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui();
dummyAuthzServer.setAudienceSecretRetriever((String audience) -> "myBeautifulKeyWhichIsAJWTSecretSoSecret");
assertNotNull(dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null), "check that the access token is not null");
}
/**
* get access token without an Audience path defined (we keep the default Audience path in this case)
*/
@Test
public void getAccessTokenWithDefaultPathAudienceTest() {
DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui();
dummyAuthzServer.setAudienceSecretRetriever((String audience) -> "myBeautifulKeyWhichIsAJWTSecretSoSecret");
assertNotNull(dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null), "check that the access token is not null");
}
/**
* get access token with an invalid audience path provide
*/
@Test
public void getAccessTokenWithBadPathAudienceTest() {
DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui("test.properties");
assertNull(dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null), "check that the access token is null");
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.application;
import net.ihe.gazelle.app.accesstokenproviderapi.business.AccessTokenRequest;
import net.ihe.gazelle.app.accesstokenproviderapi.business.SymmetricSignature;
import net.ihe.gazelle.modelapi.sb.business.EncodingException;
import net.ihe.gazelle.sb.iua.business.EncodedIUAToken;
import net.ihe.gazelle.sb.iua.business.TokenType;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
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";
private static final String SUBJECT = "aamrein";
private static final String AUDIENCE = "audience";
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.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);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "myBeautifulKeyWhichIsAJWTSecretSoSecret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
EncodedIUAToken encodedIUAToken = tokenGenerator.generateAccessToken(accessTokenRequest);
assertNotNull(encodedIUAToken);
}
/**
* Test with a null signature.
*/
@Test
public void generateAccessTokenNullSignatureTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(null);
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating token with unsupported issuer.
*/
@Test
public void generateAccessTokenUnsupportedIssuerTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest("blabla", SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with a null subject.
*/
@Test
public void generateAccessTokenNullIssuerTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with unsupported subject.
*/
@Test
public void generateAccessTokenUnsupportedSubjectTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, "subject", AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with null subject.
*/
@Test
public void generateAccessTokenNullSubjectTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, null, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with unsupported token type.
*/
@Test
public void generateAccessTokenUnsupportedTokenTypeTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TokenType.SAML);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with null token type.
*/
@Test
public void generateAccessTokenNullTokenTypeTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, null);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with unsupported algo.
*/
@Test
public void generateAccessTokenUnsupportedAlgoTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature("algo", "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with null algo.
*/
@Test
public void generateAccessTokenNullAlgoTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(null, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with null audience.
*/
@Test
public void generateAccessTokenNullAudienceTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, null, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with unsupported audience.
*/
@Test
public void generateAccessTokenUnknownAudienceTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with empty audience.
*/
@Test
public void generateAccessTokenEmptyAudienceTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "", DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(AUDIENCE_RETRIEVER);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with empty secret.
*/
@Test
public void generateAccessTokenEmptySecretTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(audience -> "");
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with null secret.
*/
@Test
public void generateAccessTokenNullSecretTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(audience -> null);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
/**
* Test generating a token with null Duration.
*/
@Test
public void generateAccessTokenDurationNullTest() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", null, TOKEN_TYPE);
accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
TokenGenerator tokenGenerator = new TokenGenerator();
tokenGenerator.setAudienceSecretRetriever(audience -> null);
assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.business;
import net.ihe.gazelle.lib.annotations.Covers;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class AccessTokenExtensionTest {
/**
* Test subjectId getter and setter.
*/
@Test
@Covers(requirements = "TOKENPROV-012")
void getSetSubjectId(){
String subjectId = "id";
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setSubjectId(subjectId);
assertEquals(subjectId, accessTokenExtension.getSubjectId(), "Getter shall return the value of subjectId !");
}
/**
* Test addSubjectOrganization and removeSubjectOrganization.
*/
@Test
@Covers(requirements = "TOKENPROV-013")
void subjectOrganization(){
String orga1 = "orga1";
String orga2 = "orga2";
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.addSubjectOrganization(orga1);
assertEquals(1, accessTokenExtension.getSubjectOrganizations().size());
accessTokenExtension.addSubjectOrganization(orga2);
assertEquals(2, accessTokenExtension.getSubjectOrganizations().size());
accessTokenExtension.removeSubjectOrganization(orga1);
assertEquals(1, accessTokenExtension.getSubjectOrganizations().size());
assertEquals(orga2, accessTokenExtension.getSubjectOrganizations().get(0));
}
/**
* Test addSubjectOrganizationId and removeSubjectOrganizationId.
*/
@Test
@Covers(requirements = "TOKENPROV-014")
void subjectOrganizationId(){
String orgaId1 = "orgaId1";
String orgaId2 = "orgaId2";
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.addSubjectOrganizationId(orgaId1);
assertEquals(1, accessTokenExtension.getSubjectOrganizationIds().size());
accessTokenExtension.addSubjectOrganizationId(orgaId2);
assertEquals(2, accessTokenExtension.getSubjectOrganizationIds().size());
accessTokenExtension.removeSubjectOrganizationId(orgaId1);
assertEquals(1, accessTokenExtension.getSubjectOrganizationIds().size());
assertEquals(orgaId2, accessTokenExtension.getSubjectOrganizationIds().get(0));
}
/**
* Test subjectId getter and setter.
*/
@Test
@Covers(requirements = "TOKENPROV-015")
void homeCommunityId(){
String homeCommunityId = "id";
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setHomeCommunityId(homeCommunityId);
assertEquals(homeCommunityId, accessTokenExtension.getHomeCommunityId());
}
/**
* Test subjectId getter and setter.
*/
@Test
@Covers(requirements = "TOKENPROV-016")
void nationalProviderIdentifier(){
String nationalProviderIdentifier = "id";
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setNationalProviderIdentifier(nationalProviderIdentifier);
assertEquals(nationalProviderIdentifier, accessTokenExtension.getNationalProviderIdentifier());
}
/**
* Test addProviderId and removeProviderId.
*/
@Test
@Covers(requirements = "TOKENPROV-017")
void providerId(){
String providerId1 = "provId1";
String providerId2 = "provId2";
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.addProviderId(providerId1);
assertEquals(1, accessTokenExtension.getProviderIds().size());
accessTokenExtension.addProviderId(providerId2);
assertEquals(2, accessTokenExtension.getProviderIds().size());
accessTokenExtension.removeProviderId(providerId1);
assertEquals(1, accessTokenExtension.getProviderIds().size());
assertEquals(providerId2, accessTokenExtension.getProviderIds().get(0));
}
/**
* Test subjectRole getter and setter.
*/
@Test
@Covers(requirements = "TOKENPROV-018")
void subjectRole(){
CodedValue codedValue = new CodedValue("a", "b");
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setSubjectRole(codedValue);
assertEquals(codedValue, accessTokenExtension.getSubjectRole());
}
/**
* Test purposeOfUse getter and setter.
*/
@Test
@Covers(requirements = "TOKENPROV-019")
void purposeOfUse(){
CodedValue codedValue = new CodedValue("a", "b");
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setPurposeOfUse(codedValue);
assertEquals(codedValue, accessTokenExtension.getPurposeOfUse());
}
/**
* Test resourceId getter and setter.
*/
@Test
@Covers(requirements = "TOKENPROV-020")
void resourceId(){
String resourceId = "id";
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setResourceId(resourceId);
assertEquals(resourceId, accessTokenExtension.getResourceId());
}
/**
* Test onBehalfOf getter and setter.
*/
@Test
@Covers(requirements = "TOKENPROV-021")
void onBehalfOf(){
String onBehalfOf = "toto";
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setOnBehalfOf(onBehalfOf);
assertEquals(onBehalfOf, accessTokenExtension.getOnBehalfOf());
}
/**
* Test equals with null.
*/
@Test
void equalsNull() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
assertFalse(accessTokenExtension.equals(null), "Object shall not be equal to null !");
}
/**
* Test equals with itself.
*/
@Test
void equalsItself() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
assertTrue(accessTokenExtension.equals(accessTokenExtension), "Object shall be equal to itself !");
}
/**
* Test equals with another class instance.
*/
@Test
void equalsOtherClass() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
assertFalse(accessTokenExtension.equals(34), "Object shall not be equal to an instance of another class !");
}
/**
* Test equals with different subjectId
*/
@Test
void equalsDifferentSubjectId() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setSubjectId("1");
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.setSubjectId("2");
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different subjectId !");
}
/**
* Test equals with different subjectOrganization
*/
@Test
void equalsDifferentSubjectOrganization() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.addSubjectOrganization("1");
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.addSubjectOrganization("2");
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different subjectOrganization !");
}
/**
* Test equals with different subjectOrganizationId
*/
@Test
void equalsDifferentSubjectOrganizationId() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.addSubjectOrganizationId("1");
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.addSubjectOrganizationId("2");
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different subjectOrganizationId !");
}
/**
* Test equals with different homeCommunityId
*/
@Test
void equalsDifferentHomeCommunityId() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setHomeCommunityId("1");
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.setHomeCommunityId("2");
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different homeCommunityId !");
}
/**
* Test equals with different nationalProviderIdentifier
*/
@Test
void equalsDifferentNationalProviderIdentifier() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setNationalProviderIdentifier("1");
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.setNationalProviderIdentifier("2");
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different nationalProviderIdentifier !");
}
/**
* Test equals with different providerId
*/
@Test
void equalsDifferentProviderId() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.addProviderId("1");
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.addProviderId("2");
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different providerId !");
}
/**
* Test equals with different purposeOfUse
*/
@Test
void equalsDifferentPurposeOfUse() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setPurposeOfUse(new CodedValue("1", "1"));
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.setPurposeOfUse(new CodedValue("2", "2"));
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different purposeOfUse !");
}
/**
* Test equals with different subjectRole
*/
@Test
void equalsDifferentSubjectRole() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setSubjectRole(new CodedValue("1", "1"));
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.setSubjectRole(new CodedValue("2", "2"));
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different subjectRole !");
}
/**
* Test equals with different resourceId
*/
@Test
void equalsDifferentResourceId() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setResourceId("1");
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.setResourceId("2");
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different resourceId !");
}
/**
* Test equals with different onBehalfOf
*/
@Test
void equalsDifferentOnBehalfOf() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
accessTokenExtension.setOnBehalfOf("1");
AccessTokenExtension accessTokenExtension2 = new AccessTokenExtension();
accessTokenExtension.setOnBehalfOf("2");
assertFalse(accessTokenExtension.equals(accessTokenExtension2), "Objects shall not be equal if they have different onBehalfOf !");
}
/**
* Test for the hashcode method
*/
@Test
void testHashCode() {
AccessTokenExtension accessTokenExtension = new AccessTokenExtension();
assertNotNull(accessTokenExtension.hashCode(), "Generated hashCode shall not be null !");
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.business;
import net.ihe.gazelle.lib.annotations.Covers;
import net.ihe.gazelle.sb.iua.business.TokenType;
import org.junit.jupiter.api.Test;
import java.time.Duration;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
class AccessTokenRequestTest {
private static final String ISSUER = "issuer";
private static final String SUBJECT = "subject";
private static final String AUDIENCE = "audience";
private static final Duration DURATION = Duration.ofMinutes(1);
private static final TokenType TOKEN_TYPE = TokenType.JWT;
private static final SymmetricSignature SIGNATURE = new SymmetricSignature("RSALALA", "SECRET");
private static final AccessTokenExtension EXTENSION = new AccessTokenExtension();
/**
* Test issuer getter.
*/
@Test
@Covers(requirements = "TOKENPROV-001")
void getIssuer() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertEquals(ISSUER, accessTokenRequest.getIssuer(), "Getter shall return the value of issuer !");
}
/**
* Test subject getter.
*/
@Test
@Covers(requirements = "TOKENPROV-002")
void getSubject() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertEquals(SUBJECT, accessTokenRequest.getSubject(), "Getter shall return the value of subject !");
}
/**
* Test audience getter.
*/
@Test
@Covers(requirements = "TOKENPROV-003")
void getAudience() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertEquals(AUDIENCE, accessTokenRequest.getAudience(), "Getter shall return the value of audience !");
}
/**
* Test validityTime getter.
*/
@Test
@Covers(requirements = "TOKENPROV-004")
void getValidityTime() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertEquals(DURATION, accessTokenRequest.getValidityTime(), "Getter shall return the value of validityTime !");
}
/**
* Test tokenType getter.
*/
@Test
@Covers(requirements = "TOKENPROV-007")
void getTokenType() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertEquals(TOKEN_TYPE, accessTokenRequest.getTokenType(), "Getter shall return the value of tokenType !");
}
/**
* Test signature getter and setter.
*/
@Test
@Covers(requirements = "TOKENPROV-005")
void signature() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setSignature(SIGNATURE);
assertEquals(SIGNATURE, accessTokenRequest.getSignature(), "Setter shall change the value of signature !");
}
/**
* Test extension getter and setter.
*/
@Test
@Covers(requirements = "TOKENPROV-005")
void extension() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest.setExtension(EXTENSION);
assertEquals(EXTENSION, accessTokenRequest.getExtension(), "Setter shall change the value of extension !");
}
/**
* Test equals with null.
*/
@Test
void equalsNull() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertFalse(accessTokenRequest.equals(null), "Object shall not be equal to null !");
}
/**
* Test equals with itself.
*/
@Test
void equalsItself() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertTrue(accessTokenRequest.equals(accessTokenRequest), "Object shall be equal to itself !");
}
/**
* Test equals with another class instance.
*/
@Test
void equalsOtherClass() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertFalse(accessTokenRequest.equals(34), "Object shall not be equal to an instance of another class !");
}
/**
* Test equals with different issuer
*/
@Test
void equalsDifferentIssuer() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest2 = new AccessTokenRequest("ISSUER2", SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertFalse(accessTokenRequest.equals(accessTokenRequest2), "Objects shall not be equal if they have different issuer !");
}
/**
* Test equals with different subject
*/
@Test
void equalsDifferentSubject() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest2 = new AccessTokenRequest(ISSUER, "SUBJECT2", AUDIENCE, DURATION, TOKEN_TYPE);
assertFalse(accessTokenRequest.equals(accessTokenRequest2), "Objects shall not be equal if they have different subject !");
}
/**
* Test equals with different audience
*/
@Test
void equalsDifferentAudience() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest2 = new AccessTokenRequest(ISSUER, SUBJECT, "AUDIENCE2", DURATION, TOKEN_TYPE);
assertFalse(accessTokenRequest.equals(accessTokenRequest2), "Objects shall not be equal if they have different audience !");
}
/**
* Test equals with different validityTime
*/
@Test
void equalsDifferentValidityTime() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest2 = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, Duration.ofDays(3), TOKEN_TYPE);
assertFalse(accessTokenRequest.equals(accessTokenRequest2), "Objects shall not be equal if they have different validityTime !");
}
/**
* Test equals with different tokenType
*/
@Test
void equalsDifferentTokenType() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest2 = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TokenType.SAML);
assertFalse(accessTokenRequest.equals(accessTokenRequest2), "Objects shall not be equal if they have different tokenType !");
}
/**
* Test equals with different signature
*/
@Test
void equalsDifferentSignature() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest2 = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest2.setSignature(new SymmetricSignature("RSA", "secret"));
assertFalse(accessTokenRequest.equals(accessTokenRequest2), "Objects shall not be equal if they have different signature !");
}
/**
* Test equals with different extension
*/
@Test
void equalsDifferentExtension() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
AccessTokenRequest accessTokenRequest2 = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
accessTokenRequest2.setExtension(new AccessTokenExtension());
assertFalse(accessTokenRequest.equals(accessTokenRequest2), "Objects shall not be equal if they have different extension !");
}
/**
* Test for the hashcode method
*/
@Test
void testHashCode() {
AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
assertNotNull(accessTokenRequest.hashCode(), "Generated hashCode shall not be null !");
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.business;
import net.ihe.gazelle.lib.annotations.Covers;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class AsymmetricSignatureTest {
private static final byte[] KEY = "key".getBytes();
private static final String PASSWORD = "password";
private static final String ALGORITHM = "RSAPOUETPOUET";
/**
* Test privateKey getter.
*/
@Test
@Covers(requirements = "TOKENPROV-010")
void getPrivateKey(){
AsymmetricSignature signature = new AsymmetricSignature(ALGORITHM, KEY, PASSWORD);
assertArrayEquals(KEY, signature.getPrivateKey(), "Getter shall return the value of privateKey !");
}
/**
* Test privateKeyPassword getter.
*/
@Test
@Covers(requirements = "TOKENPROV-011")
void getPrivateKeyPassword(){
AsymmetricSignature signature = new AsymmetricSignature(ALGORITHM, KEY, PASSWORD);
assertEquals(PASSWORD, signature.getPrivateKeyPassword(), "Getter shall return the value of privateKeyPassword !");
}
/**
* Test equals with null.
*/
@Test
void equalsNull() {
AsymmetricSignature signature = new AsymmetricSignature(ALGORITHM, KEY, PASSWORD);
assertFalse(signature.equals(null), "Object shall not be equal to null !");
}
/**
* Test equals with itself.
*/
@Test
void equalsItself() {
AsymmetricSignature signature = new AsymmetricSignature(ALGORITHM, KEY, PASSWORD);
assertTrue(signature.equals(signature), "Object shall be equal to itself !");
}
/**
* Test equals with another class instance.
*/
@Test
void equalsOtherClass() {
AsymmetricSignature signature = new AsymmetricSignature(ALGORITHM, KEY, PASSWORD);
assertFalse(signature.equals(34), "Object shall not be equal to an instance of another class !");
}
/**
* Test equals with different algorithm
*/
@Test
void equalsDifferentAlgorithm() {
AsymmetricSignature signature = new AsymmetricSignature(ALGORITHM, KEY, PASSWORD);
AsymmetricSignature signature2 = new AsymmetricSignature("ALGORITHM", KEY, PASSWORD);
assertFalse(signature.equals(signature2), "Objects shall not be equal if they have different algorithm !");
}
/**
* Test equals with different privateKey
*/
@Test
void equalsDifferentPrivateKey() {
AsymmetricSignature signature = new AsymmetricSignature(ALGORITHM, KEY, PASSWORD);
AsymmetricSignature signature2 = new AsymmetricSignature(ALGORITHM, "KEY".getBytes(), PASSWORD);
assertFalse(signature.equals(signature2), "Objects shall not be equal if they have different privateKey !");
}
/**
* Test equals with different privateKeyPassword
*/
@Test
void equalsDifferentPrivateKeyPassword() {
AsymmetricSignature signature = new AsymmetricSignature(ALGORITHM, KEY, PASSWORD);
AsymmetricSignature signature2 = new AsymmetricSignature(ALGORITHM, KEY, "PASSWORD");
assertFalse(signature.equals(signature2), "Objects shall not be equal if they have different privateKeyPassword !");
}
/**
* Test for the hashcode method
*/
@Test
void testHashCode() {
AsymmetricSignature signature = new AsymmetricSignature(ALGORITHM, KEY, PASSWORD);
assertNotNull(signature.hashCode(), "Generated hashCode shall not be null !");
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.business;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class CodedValueTest {
private static final String CODE = "100000007";
private static final String CODE_SYSTEM = "2.16.840.1.113883.3.3478.6.1";
private static final String CODE_SYSTEM_NAME = "ACC-Internal";
private static final String DISPLAY_NAME = "Hematoma Size";
/**
* Test code getter.
*/
@Test
void getCode(){
CodedValue codedValue = new CodedValue(CODE, CODE_SYSTEM);
assertEquals(CODE, codedValue.getCode(), "Getter shall return the value of code !");
}
/**
* Test codeSystem getter.
*/
@Test
void getCodeSystem(){
CodedValue codedValue = new CodedValue(CODE, CODE_SYSTEM);
assertEquals(CODE_SYSTEM, codedValue.getCodeSystem(), "Getter shall return the value of codeSystem !");
}
/**
* Test codeSystemName getter and setter.
*/
@Test
void codeSystemName(){
CodedValue codedValue = new CodedValue(CODE, CODE_SYSTEM);
codedValue.setCodeSystemName(CODE_SYSTEM_NAME);
assertEquals(CODE_SYSTEM_NAME, codedValue.getCodeSystemName());
}
/**
* Test displayName getter and setter.
*/
@Test
void codeDisplayName(){
CodedValue codedValue = new CodedValue(CODE, CODE_SYSTEM);
codedValue.setDisplayName(DISPLAY_NAME);
assertEquals(DISPLAY_NAME, codedValue.getDisplayName());
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.business;
import net.ihe.gazelle.lib.annotations.Covers;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class PasswordTest {
private static final byte[] VALUE = "value".getBytes();
/**
* Test value getter.
*/
@Test
@Covers(requirements = "TOKENPROV-031")
void getKey() {
Password publicKey = new Password(VALUE);
assertArrayEquals(VALUE, publicKey.getValue(), "Getter shall return the value of value !");
}
/**
* Test equals with null.
*/
@Test
void equalsNull() {
Password publicKey = new Password(VALUE);
assertFalse(publicKey.equals(null), "Object shall not be equal to null !");
}
/**
* Test equals with itself.
*/
@Test
void equalsItself() {
Password publicKey = new Password(VALUE);
assertTrue(publicKey.equals(publicKey), "Object shall be equal to itself !");
}
/**
* Test equals with another class instance.
*/
@Test
void equalsOtherClass() {
Password publicKey = new Password(VALUE);
assertFalse(publicKey.equals(34), "Object shall not be equal to an instance of another class !");
}
/**
* Test equals with different issuer
*/
@Test
void equalsDifferentIssuer() {
Password publicKey = new Password(VALUE);
Password publicKey2 = new Password("VALUE".getBytes());
assertFalse(publicKey.equals(publicKey2), "Objects shall not be equal if they have different issuer !");
}
/**
* Test for the hashcode method
*/
@Test
void testHashCode() {
Password publicKey = new Password(VALUE);
assertNotNull(publicKey.hashCode(), "Generated hashCode shall not be null !");
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.business;
import net.ihe.gazelle.lib.annotations.Covers;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class PublicKeyTest {
private static final byte[] KEY = "key".getBytes();
/**
* Test key getter.
*/
@Test
@Covers(requirements = "TOKENPROV-031")
void getKey() {
PublicKey publicKey = new PublicKey(KEY);
assertArrayEquals(KEY, publicKey.getKey(), "Getter shall return the value of key !");
}
/**
* Test equals with null.
*/
@Test
void equalsNull() {
PublicKey publicKey = new PublicKey(KEY);
assertFalse(publicKey.equals(null), "Object shall not be equal to null !");
}
/**
* Test equals with itself.
*/
@Test
void equalsItself() {
PublicKey publicKey = new PublicKey(KEY);
assertTrue(publicKey.equals(publicKey), "Object shall be equal to itself !");
}
/**
* Test equals with another class instance.
*/
@Test
void equalsOtherClass() {
PublicKey publicKey = new PublicKey(KEY);
assertFalse(publicKey.equals(34), "Object shall not be equal to an instance of another class !");
}
/**
* Test equals with different issuer
*/
@Test
void equalsDifferentIssuer() {
PublicKey publicKey = new PublicKey(KEY);
PublicKey publicKey2 = new PublicKey("KEY".getBytes());
assertFalse(publicKey.equals(publicKey2), "Objects shall not be equal if they have different issuer !");
}
/**
* Test for the hashcode method
*/
@Test
void testHashCode() {
PublicKey publicKey = new PublicKey(KEY);
assertNotNull(publicKey.hashCode(), "Generated hashCode shall not be null !");
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.business;
import net.ihe.gazelle.lib.annotations.Covers;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class SignatureTest {
private static final String ALGORITHM = "RSAPOUETPOUET";
/**
* Test algorithm getter.
*/
@Test
@Covers(requirements = "TOKENPROV-008")
void getAlgorithm(){
Signature signature = new Signature(ALGORITHM) {};
assertEquals(ALGORITHM, signature.getAlgorithm(), "Getter shall return the value of algorithm !");
}
/**
* Test for the hashcode method
*/
@Test
void testHashCode() {
Signature signature = new Signature(ALGORITHM) {};
assertNotNull(signature.hashCode(), "Generated hashCode shall not be null !");
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.business;
import net.ihe.gazelle.lib.annotations.Covers;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
class SymmetricSignatureTest {
private static final String ALGO = "RSAPOUETPOUET";
private static final String SECRET = "PSST";
/**
* Test privateKey getter.
*/
@Test
@Covers(requirements = "TOKENPROV-009")
void getPrivateKey() {
SymmetricSignature signature = new SymmetricSignature(ALGO, SECRET);
assertEquals(SECRET, signature.getSecret(), "Getter shall return the value of privateKey !");
}
/**
* Test equals with null.
*/
@Test
void equalsNull() {
SymmetricSignature signature = new SymmetricSignature(ALGO, SECRET);
assertFalse(signature.equals(null), "Object shall not be equal to null !");
}
/**
* Test equals with itself.
*/
@Test
void equalsItself() {
SymmetricSignature signature = new SymmetricSignature(ALGO, SECRET);
assertTrue(signature.equals(signature), "Object shall be equal to itself !");
}
/**
* Test equals with another class instance.
*/
@Test
void equalsOtherClass() {
SymmetricSignature signature = new SymmetricSignature(ALGO, SECRET);
assertFalse(signature.equals(34), "Object shall not be equal to an instance of another class !");
}
/**
* Test equals with different algorithm
*/
@Test
void equalsDifferentAlgorithm() {
SymmetricSignature signature = new SymmetricSignature(ALGO, SECRET);
SymmetricSignature signature2 = new SymmetricSignature("ALGO", SECRET);
assertFalse(signature.equals(signature2), "Objects shall not be equal if they have different algorithm !");
}
/**
* Test equals with different secret
*/
@Test
void equalsDifferentSecret() {
SymmetricSignature signature = new SymmetricSignature(ALGO, SECRET);
SymmetricSignature signature2 = new SymmetricSignature(ALGO, "SECRET");
assertFalse(signature.equals(signature2), "Objects shall not be equal if they have different secret !");
}
/**
* Test for the hashcode method
*/
@Test
void testHashCode() {
SymmetricSignature signature = new SymmetricSignature(ALGO, SECRET);
assertNotNull(signature.hashCode(), "Generated hashCode shall not be null !");
}
}
package net.ihe.gazelle.app.accesstokenproviderapi.business.testuser;
import net.ihe.gazelle.lib.annotations.Covers;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
class TestUserTest {
private static final String USER_ID = "id";
private static final String GIVEN_NAME = "given";
private static final String LAST_NAME = "lastName";
private static final Date BIRTH_DATE = new Date();
private static final String GENDER = "gender";
/**
* Test userId getter.
*/
@Test
@Covers(requirements = "TOKENPROV-023")
void getUserId() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
assertEquals(USER_ID, testUser.getUserId(), "Getter shall return the value of userId !");
}
/**
* Test givenNames getter.
*/
@Test
@Covers(requirements = "TOKENPROV-024")
void getGivenNames() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
assertEquals(givenNames, testUser.getGivenNames(), "Getter shall return the value of givenNames !");
}
/**
* Test lastName getter.
*/
@Test
@Covers(requirements = "TOKENPROV-025")
void getlastName() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
assertEquals(LAST_NAME, testUser.getLastName(), "Getter shall return the value of lastName !");
}
/**
* Test birthDate getter.
*/
@Test
@Covers(requirements = "TOKENPROV-026")
void birthDate() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
testUser.setBirthDate(BIRTH_DATE);
assertEquals(BIRTH_DATE, testUser.getBirthDate(), "Getter shall return the value of birthDate !");
}
/**
* Test birthDate getter.
*/
@Test
@Covers(requirements = "TOKENPROV-027")
void gender() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
testUser.setGender(GENDER);
assertEquals(GENDER, testUser.getGender(), "Getter shall return the value of gender !");
}
/**
* Test addExtension and removeExtension.
*/
@Test
@Covers(requirements = "TOKENPROV-028")
void addExtension() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
testUser.addExtension("key1", "value1");
assertEquals(1, testUser.getExtensions().size());
testUser.addExtension("key2", "value2");
assertEquals(2, testUser.getExtensions().size());
testUser.removeExtension("key1");
assertEquals(1, testUser.getExtensions().size());
assertEquals("value2", testUser.getExtensions().get("key2"));
}
/**
* Test equals with null.
*/
@Test
void equalsNull() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
assertFalse(testUser.equals(null), "Object shall not be equal to null !");
}
/**
* Test equals with itself.
*/
@Test
void equalsItself() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
assertTrue(testUser.equals(testUser), "Object shall be equal to itself !");
}
/**
* Test equals with another class instance.
*/
@Test
void equalsOtherClass() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
assertFalse(testUser.equals(34), "Object shall not be equal to an instance of another class !");
}
/**
* Test equals with different issuerId
*/
@Test
void equalsDifferentUserID() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
TestUser testUser2 = new TestUser("USER_ID", givenNames, LAST_NAME);
assertFalse(testUser.equals(testUser2), "Objects shall not be equal if they have different issuerId !");
}
/**
* Test equals with different givenNames
*/
@Test
void equalsDifferentGivenNames() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
List<String> givenNames2 = new ArrayList<>();
givenNames2.add("given2");
TestUser testUser2 = new TestUser(USER_ID, givenNames2, LAST_NAME);
assertFalse(testUser.equals(testUser2), "Objects shall not be equal if they have different givenNames !");
}
/**
* Test equals with different lastName
*/
@Test
void equalsDifferentLastName() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
TestUser testUser2 = new TestUser(USER_ID, givenNames, "LAST_NAME");
assertFalse(testUser.equals(testUser2), "Objects shall not be equal if they have different lastName !");
}
/**
* Test equals with different birthName
*/
@Test
void equalsDifferentBirthName() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
testUser.setBirthDate(BIRTH_DATE);
TestUser testUser2 = new TestUser(USER_ID, givenNames, LAST_NAME);
testUser2.setBirthDate(new Date());
assertFalse(testUser.equals(testUser2), "Objects shall not be equal if they have different birthName !");
}
/**
* Test equals with different gender
*/
@Test
void equalsDifferentGender() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
testUser.setGender(GENDER);
TestUser testUser2 = new TestUser(USER_ID, givenNames, LAST_NAME);
testUser.setGender("GENDER");
assertFalse(testUser.equals(testUser2), "Objects shall not be equal if they have different gender !");
}
/**
* Test equals with different extensions
*/
@Test
void equalsDifferentExtensions() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
testUser.addExtension("1", "1");
TestUser testUser2 = new TestUser(USER_ID, givenNames, LAST_NAME);
testUser2.addExtension("1", "1");
testUser2.addExtension("2", "2");
assertFalse(testUser.equals(testUser2), "Objects shall not be equal if they have different extensions !");
}
/**
* Test for the hashcode method
*/
@Test
void testHashCode() {
List<String> givenNames = new ArrayList<>();
givenNames.add(GIVEN_NAME);
TestUser testUser = new TestUser(USER_ID, givenNames, LAST_NAME);
assertNotNull(testUser.hashCode(), "Generated hashCode shall not be null !");
}
}
Put here test classes for adapter layer.
\ No newline at end of file
Put here test classes for application layer.
\ No newline at end of file
Put here test classes for business layer.
\ No newline at end of file
audience:monpetitsecret
\ No newline at end of file