Search in sources :

Example 91 with IdmBulkActionDto

use of eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto in project CzechIdMng by bcvsolutions.

the class IdentityAddContractGuaranteeBulkActionTest method processByIdsGuaranteeNotSetTwice.

@Test
public void processByIdsGuaranteeNotSetTwice() {
    List<IdmIdentityDto> guarantees = this.createIdentities(1);
    IdmIdentityDto employee = getHelper().createIdentity();
    IdmIdentityContractDto contract1 = getHelper().getPrimeContract(employee);
    // set guarantee before reassigned by BA
    createContractGuarantees(contract1, guarantees);
    Assert.assertTrue(isContractGuarantee(contract1, guarantees).isEmpty());
    IdmBulkActionDto bulkAction = this.findBulkAction(IdmIdentity.class, IdentityAddContractGuaranteeBulkAction.NAME);
    Set<UUID> ids = this.getIdFromList(Arrays.asList(employee));
    bulkAction.setIdentifiers(ids);
    Map<String, Object> properties = new HashMap<>();
    List<String> uuidStrings = guarantees.stream().map(AbstractDto::getId).map(Object::toString).collect(Collectors.toList());
    properties.put(IdentityAddContractGuaranteeBulkAction.PROPERTY_NEW_GUARANTEE, uuidStrings);
    bulkAction.setProperties(properties);
    bulkActionManager.processAction(bulkAction);
    // test guarantees on all contracts
    List<IdmContractGuaranteeDto> assigned = getGuaranteesForContract(contract1.getId());
    // same guarantee is assigned only once
    Assert.assertEquals(guarantees.size(), assigned.size());
    Set<UUID> assignedGuarUUID = assigned.stream().map(IdmContractGuaranteeDto::getGuarantee).collect(Collectors.toSet());
    guarantees.forEach(guarantee -> {
        Assert.assertTrue(assignedGuarUUID.contains(guarantee.getId()));
    });
}
Also used : IdmBulkActionDto(eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto) HashMap(java.util.HashMap) IdmContractGuaranteeDto(eu.bcvsolutions.idm.core.api.dto.IdmContractGuaranteeDto) AbstractDto(eu.bcvsolutions.idm.core.api.dto.AbstractDto) IdmIdentityDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto) UUID(java.util.UUID) IdmIdentityContractDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityContractDto) AbstractBulkActionTest(eu.bcvsolutions.idm.test.api.AbstractBulkActionTest) Test(org.junit.Test)

Example 92 with IdmBulkActionDto

use of eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto in project CzechIdMng by bcvsolutions.

the class AbstractBulkActionTest method findBulkActionForDto.

/**
 * Find bulk action
 *
 * @param dto
 * @param name
 * @return
 */
protected IdmBulkActionDto findBulkActionForDto(Class<? extends BaseDto> dto, String name) {
    List<IdmBulkActionDto> actions = bulkActionManager.getAvailableActionsForDto(dto);
    assertFalse(actions.isEmpty());
    for (IdmBulkActionDto action : actions) {
        if (action.getName().equals(name)) {
            return action;
        }
    }
    fail("For entity class: " + dto.getSimpleName() + " was not found bulk action: " + name);
    return null;
}
Also used : IdmBulkActionDto(eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto)

Example 93 with IdmBulkActionDto

use of eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto in project CzechIdMng by bcvsolutions.

the class AbstractExportBulkActionTest method executeExportAndImport.

/**
 * Provides export and following import operation for supplied dto It accepts a map of methods in order to supply necessary operation between individual steps.
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
protected <DTO extends AbstractDto> IdmExportImportDto executeExportAndImport(List<DTO> dtos, Class dtoType, String actionName, Map<String, Consumer<DTO>> execute) {
    String batchName = getHelper().createName();
    Class<? extends BaseEntity> entityClass = getLookupService().getEntityClass(dtoType);
    Set<UUID> ids = dtos.stream().map(AbstractDto::getId).collect(Collectors.toSet());
    // Bulk action preparation
    IdmBulkActionDto bulkAction = findBulkAction(entityClass, actionName);
    bulkAction.setIdentifiers(ids);
    bulkAction.getProperties().put(AbstractExportBulkAction.PROPERTY_NAME, batchName);
    IdmBulkActionDto processAction = bulkActionManager.processAction(bulkAction);
    checkResultLrt(processAction, (long) dtos.size(), null, null);
    // Export batch is created
    IdmExportImportFilter exportImportFilter = new IdmExportImportFilter();
    exportImportFilter.setText(batchName);
    List<IdmExportImportDto> batches = exportImportService.find(exportImportFilter, null).getContent();
    Assert.assertEquals(1, batches.size());
    IdmExportImportDto batch = batches.get(0);
    Assert.assertEquals(OperationState.EXECUTED, batch.getResult().getState());
    Assert.assertNotNull(batch.getData());
    // Find export batch as attachment
    List<IdmAttachmentDto> attachments = // 
    attachmentManager.getAttachments(batch.getId(), getLookupService().getEntityClass(IdmExportImportDto.class).getCanonicalName(), // 
    null).getContent();
    Assert.assertEquals(1, attachments.size());
    IdmAttachmentDto attachment = attachments.get(0);
    // Upload import
    IdmExportImportDto importBatch = importManager.uploadImport(attachment.getName(), attachment.getName(), attachmentManager.getAttachmentData(attachment.getId()));
    Assert.assertNotNull(importBatch);
    Assert.assertEquals(batch.getName(), importBatch.getName());
    Assert.assertEquals(ExportImportType.IMPORT, importBatch.getType());
    // Get a service corresponding to the DTO type
    ReadWriteDtoService<BaseDto, BaseFilter> service = ((ReadWriteDtoService<BaseDto, BaseFilter>) getLookupService().getDtoService(dtoType));
    dtos.forEach(dto -> {
        // Execute supplied action before original dto deletion
        if (execute != null && execute.containsKey(EXECUTE_BEFORE_DTO_DELETE)) {
            execute.get(EXECUTE_BEFORE_DTO_DELETE).accept(dto);
        }
        // Original dto deletion
        service.delete(dto);
        Assert.assertNull(service.get(dto.getId()));
    });
    // Execute import
    importBatch = importManager.executeImport(importBatch, false);
    Assert.assertNotNull(importBatch);
    Assert.assertEquals(batch.getName(), importBatch.getName());
    Assert.assertEquals(ExportImportType.IMPORT, importBatch.getType());
    Assert.assertEquals(OperationState.EXECUTED, importBatch.getResult().getState());
    return importBatch;
}
Also used : IdmAttachmentDto(eu.bcvsolutions.idm.core.ecm.api.dto.IdmAttachmentDto) IdmBulkActionDto(eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto) IdmExportImportFilter(eu.bcvsolutions.idm.core.api.dto.filter.IdmExportImportFilter) BaseDto(eu.bcvsolutions.idm.core.api.dto.BaseDto) BaseFilter(eu.bcvsolutions.idm.core.api.dto.filter.BaseFilter) IdmExportImportDto(eu.bcvsolutions.idm.core.api.dto.IdmExportImportDto) UUID(java.util.UUID)

Example 94 with IdmBulkActionDto

use of eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto in project CzechIdMng by bcvsolutions.

the class AbstractMonitoringIgnoredBulkActionIntegrationTest method testCreateMonitoringIgnoredState.

@Test
public void testCreateMonitoringIgnoredState() {
    DTO dto = createDto();
    IdmBulkActionDto bulkAction = bulkActionManager.toDto(getBulkAction());
    Set<UUID> ids = Sets.newHashSet(dto.getId());
    bulkAction.setIdentifiers(ids);
    IdmBulkActionDto processAction = bulkActionManager.processAction(bulkAction);
    // 
    checkResultLrt(processAction, 1l, null, null);
    // 
    IdmEntityStateFilter filter = new IdmEntityStateFilter();
    filter.setOwnerId(dto.getId());
    filter.setResultCode(CoreResultCode.MONITORING_IGNORED.getCode());
    // 
    Assert.assertFalse(entityStateManager.findStates(filter, null).isEmpty());
}
Also used : IdmBulkActionDto(eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto) UUID(java.util.UUID) IdmEntityStateFilter(eu.bcvsolutions.idm.core.api.dto.filter.IdmEntityStateFilter) Test(org.junit.Test)

Example 95 with IdmBulkActionDto

use of eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto in project CzechIdMng by bcvsolutions.

the class BulkActionController method find.

@ResponseBody
@RequestMapping(method = RequestMethod.GET)
@PreAuthorize("hasAuthority('" + CoreGroupPermission.MODULE_READ + "')")
@ApiOperation(value = "Find all bulk actions", nickname = "findAllBulkActions", tags = { BulkActionController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = CoreGroupPermission.MODULE_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = CoreGroupPermission.MODULE_READ, description = "") }) }, notes = "Returns all registered bulk actions with state properties (disabled, order).")
@SuppressWarnings({ "unchecked", "rawtypes" })
public Resources<?> find(@RequestParam(required = false) MultiValueMap<String, Object> parameters) {
    List<IdmBulkActionDto> records = bulkActionManager.find(toFilter(parameters));
    PageImpl page = new PageImpl(records, PageRequest.of(0, records.size() == 0 ? 10 : records.size()), records.size());
    if (page.getContent().isEmpty()) {
        return pagedResourcesAssembler.toEmptyResource(page, IdmBulkActionDto.class);
    }
    return pagedResourcesAssembler.toResource(page);
}
Also used : PageImpl(org.springframework.data.domain.PageImpl) IdmBulkActionDto(eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto) ApiOperation(io.swagger.annotations.ApiOperation) PreAuthorize(org.springframework.security.access.prepost.PreAuthorize) ResponseBody(org.springframework.web.bind.annotation.ResponseBody) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

IdmBulkActionDto (eu.bcvsolutions.idm.core.api.bulk.action.dto.IdmBulkActionDto)262 Test (org.junit.Test)238 AbstractBulkActionTest (eu.bcvsolutions.idm.test.api.AbstractBulkActionTest)220 IdmIdentityDto (eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto)142 UUID (java.util.UUID)129 IdmRoleDto (eu.bcvsolutions.idm.core.api.dto.IdmRoleDto)98 HashMap (java.util.HashMap)72 IdmIdentityContractDto (eu.bcvsolutions.idm.core.api.dto.IdmIdentityContractDto)64 GuardedString (eu.bcvsolutions.idm.core.security.api.domain.GuardedString)52 SysSystemDto (eu.bcvsolutions.idm.acc.dto.SysSystemDto)41 IdmIdentityRoleDto (eu.bcvsolutions.idm.core.api.dto.IdmIdentityRoleDto)38 ResultModels (eu.bcvsolutions.idm.core.api.dto.ResultModels)35 HashSet (java.util.HashSet)33 List (java.util.List)29 Autowired (org.springframework.beans.factory.annotation.Autowired)26 IdmFormAttributeDto (eu.bcvsolutions.idm.core.eav.api.dto.IdmFormAttributeDto)24 After (org.junit.After)21 Assert (org.junit.Assert)21 Before (org.junit.Before)21 IdmTreeNodeDto (eu.bcvsolutions.idm.core.api.dto.IdmTreeNodeDto)20