use of eu.bcvsolutions.idm.core.api.domain.Identifiable in project CzechIdMng by bcvsolutions.
the class DefaultAttachmentManagerIntegrationTest method testCreateAttachment.
@Test
public void testCreateAttachment() throws IOException {
Identifiable owner = new TestOwnerEntity(UUID.randomUUID());
String content = "test data";
IdmAttachmentDto attachment = prepareAttachment(content);
//
attachmentManager.saveAttachment(owner, attachment);
List<IdmAttachmentDto> attachments = attachmentManager.getAttachments(owner, null).getContent();
//
Assert.assertEquals(1, attachments.size());
IdmAttachmentDto createdAttachment = attachments.get(0);
Assert.assertEquals(attachment.getName(), createdAttachment.getName());
Assert.assertEquals(attachment.getMimetype(), createdAttachment.getMimetype());
Assert.assertEquals(owner.getClass().getCanonicalName(), createdAttachment.getOwnerType());
Assert.assertEquals(owner.getId(), createdAttachment.getOwnerId());
Assert.assertNotNull(createdAttachment.getContentId());
Assert.assertNotNull(createdAttachment.getContentPath());
Assert.assertNull(createdAttachment.getParent());
Assert.assertNull(createdAttachment.getNextVersion());
Assert.assertEquals(Integer.valueOf(1), createdAttachment.getVersionNumber());
Assert.assertEquals("1.0", createdAttachment.getVersionLabel());
Assert.assertEquals(AttachableEntity.DEFAULT_ENCODING, createdAttachment.getEncoding());
Assert.assertEquals(Long.valueOf(content.getBytes(AttachableEntity.DEFAULT_CHARSET).length), createdAttachment.getFilesize());
Assert.assertEquals(1, attachmentManager.getAttachmentVersions(createdAttachment.getId()).size());
//
// get attachment data
Assert.assertEquals(content, IOUtils.toString(attachmentManager.getAttachmentData(createdAttachment.getId())));
//
// remove owner
attachmentManager.deleteAttachments(owner);
//
Assert.assertEquals(0, attachmentManager.getAttachments(owner, null).getTotalElements());
}
use of eu.bcvsolutions.idm.core.api.domain.Identifiable in project CzechIdMng by bcvsolutions.
the class DefaultAttachmentManagerIntegrationTest method testAttachmentVersionsWithSameName.
@Test
public void testAttachmentVersionsWithSameName() throws IOException {
Identifiable owner = new TestOwnerEntity(UUID.randomUUID());
String contentOne = "test data 1";
IdmAttachmentDto attachmentOne = prepareAttachment(contentOne);
attachmentOne = attachmentManager.saveAttachment(owner, attachmentOne);
String contentTwo = "test data 2";
IdmAttachmentDto attachmentTwo = prepareAttachment(contentTwo);
attachmentTwo = attachmentManager.saveAttachmentVersion(owner, attachmentTwo, (IdmAttachmentDto) null);
String contentThree = "test data 3";
IdmAttachmentDto attachmentThree = prepareAttachment(contentThree);
attachmentThree = attachmentManager.saveAttachmentVersion(owner, attachmentThree, (IdmAttachmentDto) null);
//
Assert.assertNotNull(attachmentManager.get(attachmentOne));
Assert.assertNotNull(attachmentManager.get(attachmentTwo));
Assert.assertNotNull(attachmentManager.get(attachmentThree));
//
// last version only
List<IdmAttachmentDto> attachments = attachmentManager.getAttachments(owner, null).getContent();
Assert.assertEquals(1, attachments.size());
Assert.assertEquals(contentThree, IOUtils.toString(attachmentManager.getAttachmentData(attachments.get(0).getId())));
//
attachments = attachmentManager.getAttachmentVersions(attachmentOne.getId());
Assert.assertEquals(3, attachments.size());
// three
Assert.assertEquals(Integer.valueOf(3), attachments.get(0).getVersionNumber());
Assert.assertEquals("3.0", attachments.get(0).getVersionLabel());
Assert.assertNull(attachments.get(0).getNextVersion());
Assert.assertEquals(attachmentOne.getId(), attachments.get(0).getParent());
Assert.assertEquals(contentThree, IOUtils.toString(attachmentManager.getAttachmentData(attachments.get(0).getId())));
// two
Assert.assertEquals(Integer.valueOf(2), attachments.get(1).getVersionNumber());
Assert.assertEquals("2.0", attachments.get(1).getVersionLabel());
Assert.assertEquals(attachmentThree.getId(), attachments.get(1).getNextVersion());
Assert.assertEquals(attachmentOne.getId(), attachments.get(1).getParent());
Assert.assertEquals(contentTwo, IOUtils.toString(attachmentManager.getAttachmentData(attachments.get(1).getId())));
// one
Assert.assertEquals(Integer.valueOf(1), attachments.get(2).getVersionNumber());
Assert.assertEquals("1.0", attachments.get(2).getVersionLabel());
Assert.assertEquals(attachmentTwo.getId(), attachments.get(2).getNextVersion());
Assert.assertNull(attachments.get(2).getParent());
Assert.assertEquals(contentOne, IOUtils.toString(attachmentManager.getAttachmentData(attachments.get(2).getId())));
//
attachmentManager.deleteAttachment(attachmentThree);
//
Assert.assertNull(attachmentManager.get(attachmentOne));
Assert.assertNull(attachmentManager.get(attachmentTwo));
Assert.assertNull(attachmentManager.get(attachmentThree));
}
use of eu.bcvsolutions.idm.core.api.domain.Identifiable in project CzechIdMng by bcvsolutions.
the class DefaultAttachmentManagerIntegrationTest method testAttachmentVersions.
@Test
@Transactional
public void testAttachmentVersions() throws IOException {
Identifiable owner = new TestOwnerEntity(UUID.randomUUID());
String contentOne = "test data 1";
IdmAttachmentDto attachmentOne = prepareAttachment(contentOne);
attachmentOne = attachmentManager.saveAttachment(owner, attachmentOne);
String contentTwo = "test data 2";
IdmAttachmentDto attachmentTwo = prepareAttachment(contentTwo);
attachmentTwo = attachmentManager.saveAttachmentVersion(owner, attachmentTwo, attachmentOne);
String contentThree = "test data 3";
IdmAttachmentDto attachmentThree = prepareAttachment(contentThree);
attachmentThree = attachmentManager.saveAttachmentVersion(owner, attachmentThree, attachmentTwo);
//
Assert.assertNotNull(attachmentManager.get(attachmentOne));
Assert.assertNotNull(attachmentManager.get(attachmentTwo));
Assert.assertNotNull(attachmentManager.get(attachmentThree));
//
// last version only
List<IdmAttachmentDto> attachments = attachmentManager.getAttachments(owner, null).getContent();
Assert.assertEquals(1, attachments.size());
Assert.assertEquals(contentThree, IOUtils.toString(attachmentManager.getAttachmentData(attachments.get(0).getId())));
//
attachments = attachmentManager.getAttachmentVersions(attachmentOne.getId());
Assert.assertEquals(3, attachments.size());
// three
Assert.assertEquals(Integer.valueOf(3), attachments.get(0).getVersionNumber());
Assert.assertEquals("3.0", attachments.get(0).getVersionLabel());
Assert.assertNull(attachments.get(0).getNextVersion());
Assert.assertEquals(attachmentOne.getId(), attachments.get(0).getParent());
Assert.assertEquals(contentThree, IOUtils.toString(attachmentManager.getAttachmentData(attachments.get(0).getId())));
// two
Assert.assertEquals(Integer.valueOf(2), attachments.get(1).getVersionNumber());
Assert.assertEquals("2.0", attachments.get(1).getVersionLabel());
Assert.assertEquals(attachmentThree.getId(), attachments.get(1).getNextVersion());
Assert.assertEquals(attachmentOne.getId(), attachments.get(1).getParent());
Assert.assertEquals(contentTwo, IOUtils.toString(attachmentManager.getAttachmentData(attachments.get(1).getId())));
// one
Assert.assertEquals(Integer.valueOf(1), attachments.get(2).getVersionNumber());
Assert.assertEquals("1.0", attachments.get(2).getVersionLabel());
Assert.assertEquals(attachmentTwo.getId(), attachments.get(2).getNextVersion());
Assert.assertNull(attachments.get(2).getParent());
Assert.assertEquals(contentOne, IOUtils.toString(attachmentManager.getAttachmentData(attachments.get(2).getId())));
//
attachmentManager.deleteAttachment(attachmentThree);
//
Assert.assertNull(attachmentManager.get(attachmentOne));
Assert.assertNull(attachmentManager.get(attachmentTwo));
Assert.assertNull(attachmentManager.get(attachmentThree));
}
use of eu.bcvsolutions.idm.core.api.domain.Identifiable in project CzechIdMng by bcvsolutions.
the class DefaultRequestManager method makeNiceValue.
private Object makeNiceValue(Object value) {
if (value == null) {
return null;
}
if (value instanceof Codeable) {
Codeable codeable = (Codeable) value;
return codeable.getCode();
}
if (value instanceof Niceable) {
Niceable codeable = (Niceable) value;
return codeable.getNiceLabel();
}
if (value instanceof Identifiable) {
Identifiable identifiable = (Identifiable) value;
return identifiable.getId();
}
if (value instanceof ConfigurationMap) {
ConfigurationMap configurationMap = (ConfigurationMap) value;
Map<String, Serializable> map = configurationMap.toMap();
return map.toString();
}
return value;
}
use of eu.bcvsolutions.idm.core.api.domain.Identifiable in project CzechIdMng by bcvsolutions.
the class FormValueDeleteBulkActionIntegrationTest method testDeleteOneRequiredAttributes.
@Test
public void testDeleteOneRequiredAttributes() {
Identifiable owner = getHelper().createIdentity((GuardedString) null);
//
// create definition with attribute
IdmFormAttributeDto attribute = new IdmFormAttributeDto();
String attributeName = getHelper().createName();
attribute.setCode(attributeName);
attribute.setName(attribute.getCode());
attribute.setMultiple(true);
attribute.setRequired(true);
attribute.setPersistentType(PersistentType.SHORTTEXT);
IdmFormDefinitionDto formDefinitionOne = formService.createDefinition(IdmIdentity.class, getHelper().createName(), Lists.newArrayList(attribute));
attribute = formDefinitionOne.getMappedAttributeByCode(attribute.getCode());
//
// fill values
formService.saveValues(owner, attribute, Lists.newArrayList(FORM_VALUE_ONE, FORM_VALUE_TWO));
Map<String, List<IdmFormValueDto>> m = formService.getFormInstance(owner, formDefinitionOne).toValueMap();
//
// check value and persistent type
Assert.assertEquals(2, m.get(attributeName).size());
Assert.assertTrue(m.get(attributeName).stream().anyMatch(v -> v.getValue().equals(FORM_VALUE_ONE)));
Assert.assertTrue(m.get(attributeName).stream().anyMatch(v -> v.getValue().equals(FORM_VALUE_TWO)));
//
IdmBulkActionDto bulkAction = findBulkAction(IdmFormValue.class, FormValueDeleteBulkAction.NAME);
Set<UUID> ids = new HashSet<>();
ids.add(m.get(attributeName).stream().filter(v -> v.getValue().equals(FORM_VALUE_ONE)).findFirst().get().getId());
bulkAction.setIdentifiers(ids);
IdmBulkActionDto processAction = bulkActionManager.processAction(bulkAction);
checkResultLrt(processAction, 1L, null, null);
m = formService.getFormInstance(owner, formDefinitionOne).toValueMap();
//
Assert.assertEquals(1, m.get(attributeName).size());
Assert.assertTrue(m.get(attributeName).stream().anyMatch(v -> v.getValue().equals(FORM_VALUE_TWO)));
}
Aggregations