use of eu.bcvsolutions.idm.core.api.dto.IdmPasswordPolicyDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmPasswordPolicyIntegrationTest method testOnlyMaximalLength.
@Test
public void testOnlyMaximalLength() {
IdmPasswordPolicyDto policy = new IdmPasswordPolicyDto();
policy.setName("test_05");
policy.setType(IdmPasswordPolicyType.GENERATE);
policy.setGenerateType(IdmPasswordPolicyGenerateType.RANDOM);
policy.setMaxPasswordLength(20);
for (int index = 0; index < ATTEMPTS; index++) {
String password = passwordPolicyService.generatePassword(policy);
assertTrue(password.length() <= 20);
}
}
use of eu.bcvsolutions.idm.core.api.dto.IdmPasswordPolicyDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmPasswordPolicyIntegrationTest method testValidateSpecialChar.
@Test
public void testValidateSpecialChar() {
IdmPasswordPolicyDto policy = new IdmPasswordPolicyDto();
policy.setName("test_13");
policy.setType(IdmPasswordPolicyType.GENERATE);
policy.setGenerateType(IdmPasswordPolicyGenerateType.RANDOM);
policy.setMaxPasswordLength(3);
policy.setMinPasswordLength(1);
policy.setMinSpecialChar(2);
IdmPasswordValidationDto password = new IdmPasswordValidationDto();
try {
password.setPassword("!@");
this.passwordPolicyService.validate(password, policy);
password.setPassword("!@#");
this.passwordPolicyService.validate(password, policy);
password.setPassword("!@a");
this.passwordPolicyService.validate(password, policy);
} catch (Exception e) {
fail("Password validation special chars. " + e.getMessage());
}
try {
password.setPassword("!");
this.passwordPolicyService.validate(password, policy);
fail("Password validation special chars. " + policy);
} catch (Exception e) {
// nothing, success
}
try {
password.setPassword("!@#$");
this.passwordPolicyService.validate(password, policy);
fail("Password validation special chars. " + policy);
} catch (Exception e) {
// nothing, success
}
try {
password.setPassword("test");
this.passwordPolicyService.validate(password, policy);
fail("Password validation special chars. " + policy);
} catch (Exception e) {
// nothing, success
}
}
use of eu.bcvsolutions.idm.core.api.dto.IdmPasswordPolicyDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmPasswordServiceIntegrationTest method testTwoPoliciesSecondValidTillNull.
@Test
public void testTwoPoliciesSecondValidTillNull() {
IdmPasswordPolicyDto policy1 = getTestPolicy(false, IdmPasswordPolicyType.VALIDATE, null);
IdmPasswordPolicyDto policy2 = getTestPolicy(true, IdmPasswordPolicyType.VALIDATE, 5);
IdmIdentityDto identity = testHelper.createIdentity();
//
IdmPasswordDto password = passwordService.findOneByIdentity(identity.getId());
assertEquals(LocalDate.now(), password.getValidFrom());
assertEquals(identity.getId(), password.getIdentity());
assertEquals(LocalDate.now().plusDays(policy2.getMaxPasswordAge()), password.getValidTill());
//
policy1.setDefaultPolicy(true);
policy1 = policyService.save(policy1);
PasswordChangeDto passwordChangeDto = new PasswordChangeDto();
passwordChangeDto.setAll(true);
passwordChangeDto.setIdm(true);
passwordChangeDto.setNewPassword(new GuardedString("testPassword"));
identityService.passwordChange(identity, passwordChangeDto);
password = passwordService.findOneByIdentity(identity.getId());
assertNull(password.getValidTill());
}
use of eu.bcvsolutions.idm.core.api.dto.IdmPasswordPolicyDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmPasswordServiceIntegrationTest method testCreatePasswordNonDefaultPolicy.
@Test
public void testCreatePasswordNonDefaultPolicy() {
IdmPasswordPolicyDto policy = getTestPolicy(false);
assertNotNull(policy);
IdmIdentityDto identity = testHelper.createIdentity();
//
IdmPasswordDto password = passwordService.findOneByIdentity(identity.getId());
assertEquals(LocalDate.now(), password.getValidFrom());
assertEquals(identity.getId(), password.getIdentity());
// when not exists default validation policy valid till be null
assertNull(password.getValidTill());
}
use of eu.bcvsolutions.idm.core.api.dto.IdmPasswordPolicyDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmPasswordServiceIntegrationTest method getTestPolicy.
private IdmPasswordPolicyDto getTestPolicy(boolean isDefault, IdmPasswordPolicyType type, Integer maxAge) {
IdmPasswordPolicyDto policy = new IdmPasswordPolicyDto();
policy.setName(UUID.randomUUID().toString());
policy.setType(type);
policy.setMaxPasswordAge(maxAge);
policy.setDefaultPolicy(isDefault);
return policyService.save(policy);
}
Aggregations