use of eu.bcvsolutions.idm.core.api.dto.ValueGeneratorDto in project CzechIdMng by bcvsolutions.
the class IdentityUsernameGeneratorTest method generateDiacriticAndUpper.
@Test
public void generateDiacriticAndUpper() {
String firstName = "áčďéěžšǍÁ";
String lastName = "óÉČŘčř-";
String newFirstName = "acdeezsaa";
String newLastName = "oecrcr-";
ValueGeneratorDto generator = getGenerator();
this.createGenerator(getDtoType(), getGeneratorType(), this.createConfiguration(generator.getFormDefinition(), ImmutableMap.of(IdentityUsernameGenerator.FIRST_NAME_FIRST, Boolean.TRUE.toString())), 1, null);
IdmIdentityDto identityDto = new IdmIdentityDto();
identityDto.setFirstName(firstName);
identityDto.setLastName(lastName);
IdmIdentityDto generatedDto = valueGeneratorManager.generate(identityDto);
assertEquals(identityDto.getLastName(), generatedDto.getLastName());
assertEquals(identityDto.getFirstName(), generatedDto.getFirstName());
assertNotNull(generatedDto.getUsername());
assertEquals(newFirstName + newLastName, generatedDto.getUsername());
}
use of eu.bcvsolutions.idm.core.api.dto.ValueGeneratorDto in project CzechIdMng by bcvsolutions.
the class IdentityScriptValueGeneratorTest method testScriptReturnTreeNode.
@Test(expected = ResultCodeException.class)
public void testScriptReturnTreeNode() {
IdmScriptDto script = createScript("");
script.setScript("import " + IdmTreeNodeDto.class.getCanonicalName() + "; " + System.lineSeparator() + "return new IdmTreeNode();");
scriptService.save(script);
String username = this.getHelper().createName();
IdmIdentityDto identityDto = new IdmIdentityDto();
identityDto.setFirstName(this.getHelper().createName());
identityDto.setLastName(this.getHelper().createName());
identityDto.setUsername(username);
ValueGeneratorDto generator = getGenerator();
this.createGenerator(getDtoType(), getGeneratorType(), this.createConfiguration(generator.getFormDefinition(), ImmutableMap.of(IdentityScriptValueGenerator.SCRIPT_CODE, script.getCode())), 1, null);
identityService.save(identityDto);
}
use of eu.bcvsolutions.idm.core.api.dto.ValueGeneratorDto in project CzechIdMng by bcvsolutions.
the class IdentityScriptValueGeneratorTest method testGreenLine.
@Test
public void testGreenLine() {
IdmScriptDto script = createScript("import " + StringUtils.class.getCanonicalName() + ";" + System.lineSeparator() + "if (!valueGenerator.isRegenerateValue() && StringUtils.isNotEmpty(entity.getDescription())) {" + System.lineSeparator() + " return entity;" + System.lineSeparator() + "}" + System.lineSeparator() + "" + System.lineSeparator() + "entity.setDescription(entity.getUsername() + 123);" + System.lineSeparator());
String username = this.getHelper().createName();
IdmIdentityDto identityDto = new IdmIdentityDto();
identityDto.setFirstName(this.getHelper().createName());
identityDto.setLastName(this.getHelper().createName());
identityDto.setUsername(username);
ValueGeneratorDto generator = getGenerator();
this.createGenerator(getDtoType(), getGeneratorType(), this.createConfiguration(generator.getFormDefinition(), ImmutableMap.of(IdentityScriptValueGenerator.SCRIPT_CODE, script.getCode())), 1, null);
IdmIdentityDto generatedDto = valueGeneratorManager.generate(identityDto);
assertNotNull(generatedDto.getDescription());
assertEquals(username + 123, generatedDto.getDescription());
}
use of eu.bcvsolutions.idm.core.api.dto.ValueGeneratorDto in project CzechIdMng by bcvsolutions.
the class IdentityScriptValueGeneratorTest method testGreenLineWithSave.
@Test
public void testGreenLineWithSave() {
IdmScriptDto script = createScript("import " + StringUtils.class.getCanonicalName() + ";" + System.lineSeparator() + "if (!valueGenerator.isRegenerateValue() && StringUtils.isNotEmpty(entity.getDescription())) {" + System.lineSeparator() + " return entity;" + System.lineSeparator() + "}" + System.lineSeparator() + "" + System.lineSeparator() + "entity.setDescription(entity.getUsername() + 666);" + System.lineSeparator());
String username = this.getHelper().createName();
IdmIdentityDto identityDto = new IdmIdentityDto();
identityDto.setFirstName(this.getHelper().createName());
identityDto.setLastName(this.getHelper().createName());
identityDto.setUsername(username);
ValueGeneratorDto generator = getGenerator();
this.createGenerator(getDtoType(), getGeneratorType(), this.createConfiguration(generator.getFormDefinition(), ImmutableMap.of(IdentityScriptValueGenerator.SCRIPT_CODE, script.getCode())), 1, null);
IdmIdentityDto generatedDto = identityService.save(identityDto);
assertNotNull(generatedDto.getDescription());
assertEquals(username + 666, generatedDto.getDescription());
}
use of eu.bcvsolutions.idm.core.api.dto.ValueGeneratorDto in project CzechIdMng by bcvsolutions.
the class IdentityFormDefaultValueGeneratorTest method testGreenLine.
@Test
public void testGreenLine() {
// prepare identity
IdmIdentityDto identity = new IdmIdentityDto();
identity.setUsername(getHelper().createName());
// prepare new form definition
IdmFormDefinitionDto formDefinition = createFormDefinition();
// prepare form attribute 1
String attrCode1 = getHelper().createName();
String attrDefaultValue1 = "100200";
IdmFormAttributeDto att1 = createAttribute(attrCode1, attrDefaultValue1, PersistentType.LONG, formDefinition.getId());
// prepare form attribute 2
String attrCode2 = getHelper().createName();
String attrDefaultValue2 = getHelper().createName() + getHelper().createName();
IdmFormAttributeDto att2 = createAttribute(attrCode2, attrDefaultValue2, PersistentType.SHORTTEXT, formDefinition.getId());
// check eav before
List<IdmFormInstanceDto> eavs = identity.getEavs();
assertTrue(eavs.isEmpty());
// create generator
ValueGeneratorDto generator = getGenerator();
this.createGenerator(getDtoType(), getGeneratorType(), this.createConfiguration(generator.getFormDefinition(), null), 1, null);
// generate and check values after
identity = this.valueGeneratorManager.generate(identity);
eavs = identity.getEavs();
assertFalse(eavs.isEmpty());
// get newly generated eav only for given form definition
IdmFormInstanceDto generatedEav = eavs.stream().filter(eav -> eav.getFormDefinition().getCode().equals(formDefinition.getCode())).findFirst().orElse(null);
assertNotNull(generatedEav);
// check values
List<IdmFormValueDto> values = generatedEav.getValues().stream().filter(val -> val.getFormAttribute().equals(att1.getId())).collect(Collectors.toList());
assertEquals(1, values.size());
IdmFormValueDto value = values.get(0);
assertEquals(attrDefaultValue1, value.getValue().toString());
values = generatedEav.getValues().stream().filter(val -> val.getFormAttribute().equals(att2.getId())).collect(Collectors.toList());
assertEquals(1, values.size());
value = values.get(0);
assertEquals(attrDefaultValue2, value.getValue().toString());
}
Aggregations