Search in sources :

Example 6 with EntityEventProcessorDto

use of eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto in project CzechIdMng by bcvsolutions.

the class EntityEventProcessorFilterUnitTest method testTextFilter.

@Test
public void testTextFilter() {
    Map<String, Object> registeredProcessors = new HashMap<>();
    registeredProcessors.put(IdentitySaveProcessor.PROCESSOR_NAME, new MockIdentityProcessor(IdentitySaveProcessor.PROCESSOR_NAME, null, null));
    registeredProcessors.put(IdentityDeleteProcessor.PROCESSOR_NAME, new MockIdentityProcessor(IdentityDeleteProcessor.PROCESSOR_NAME, null, null));
    when(enabledEvaluator.isEnabled(any(Object.class))).thenReturn(true);
    when(context.getBeansOfType(any())).thenReturn(registeredProcessors);
    // 
    EntityEventProcessorFilter filter = new EntityEventProcessorFilter();
    filter.setText("wrong");
    // 
    List<EntityEventProcessorDto> results = eventManager.find(filter);
    Assert.assertTrue(results.isEmpty());
    // 
    filter.setText("identity");
    // 
    results = eventManager.find(filter);
    Assert.assertEquals(2, results.size());
    Assert.assertTrue(results.stream().anyMatch(e -> e.getName().equals(IdentitySaveProcessor.PROCESSOR_NAME)));
    Assert.assertTrue(results.stream().anyMatch(e -> e.getName().equals(IdentityDeleteProcessor.PROCESSOR_NAME)));
}
Also used : Mock(org.mockito.Mock) HashMap(java.util.HashMap) AbstractDto(eu.bcvsolutions.idm.core.api.dto.AbstractDto) Lists(com.google.common.collect.Lists) LookupService(eu.bcvsolutions.idm.core.api.service.LookupService) CoreModuleDescriptor(eu.bcvsolutions.idm.core.CoreModuleDescriptor) Map(java.util.Map) ApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) EventResult(eu.bcvsolutions.idm.core.api.event.EventResult) DefaultEntityEventManager(eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager) IdmIdentityContractDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityContractDto) EntityEvent(eu.bcvsolutions.idm.core.api.event.EntityEvent) InjectMocks(org.mockito.InjectMocks) IdentitySaveProcessor(eu.bcvsolutions.idm.core.model.event.processor.identity.IdentitySaveProcessor) EntityEventProcessorFilter(eu.bcvsolutions.idm.core.api.dto.filter.EntityEventProcessorFilter) AbstractEntityEventProcessor(eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor) IdmIdentityDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto) Test(org.junit.Test) EnabledEvaluator(eu.bcvsolutions.idm.core.security.api.service.EnabledEvaluator) Mockito.when(org.mockito.Mockito.when) UUID(java.util.UUID) ApplicationContext(org.springframework.context.ApplicationContext) Matchers.any(org.mockito.Matchers.any) List(java.util.List) IdentityDeleteProcessor(eu.bcvsolutions.idm.core.model.event.processor.identity.IdentityDeleteProcessor) IdmRoleDto(eu.bcvsolutions.idm.core.api.dto.IdmRoleDto) AbstractUnitTest(eu.bcvsolutions.idm.test.api.AbstractUnitTest) CoreEventType(eu.bcvsolutions.idm.core.api.event.CoreEvent.CoreEventType) EventType(eu.bcvsolutions.idm.core.api.event.EventType) EntityEventProcessorDto(eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto) Assert(org.junit.Assert) HashMap(java.util.HashMap) EntityEventProcessorFilter(eu.bcvsolutions.idm.core.api.dto.filter.EntityEventProcessorFilter) EntityEventProcessorDto(eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto) Test(org.junit.Test) AbstractUnitTest(eu.bcvsolutions.idm.test.api.AbstractUnitTest)

Example 7 with EntityEventProcessorDto

use of eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto in project CzechIdMng by bcvsolutions.

the class EntityEventProcessorFilterUnitTest method testNameFilter.

@Test
public void testNameFilter() {
    Map<String, Object> registeredProcessors = new HashMap<>();
    registeredProcessors.put(IdentitySaveProcessor.PROCESSOR_NAME, new MockIdentityProcessor(IdentitySaveProcessor.PROCESSOR_NAME, null, null));
    registeredProcessors.put(IdentityDeleteProcessor.PROCESSOR_NAME, new MockIdentityProcessor(IdentityDeleteProcessor.PROCESSOR_NAME, null, null));
    when(enabledEvaluator.isEnabled(any(Object.class))).thenReturn(true);
    when(context.getBeansOfType(any())).thenReturn(registeredProcessors);
    // 
    EntityEventProcessorFilter filter = new EntityEventProcessorFilter();
    filter.setName(IdentitySaveProcessor.PROCESSOR_NAME);
    // 
    List<EntityEventProcessorDto> results = eventManager.find(filter);
    Assert.assertEquals(1, results.size());
    Assert.assertTrue(results.stream().anyMatch(e -> e.getName().equals(IdentitySaveProcessor.PROCESSOR_NAME)));
}
Also used : Mock(org.mockito.Mock) HashMap(java.util.HashMap) AbstractDto(eu.bcvsolutions.idm.core.api.dto.AbstractDto) Lists(com.google.common.collect.Lists) LookupService(eu.bcvsolutions.idm.core.api.service.LookupService) CoreModuleDescriptor(eu.bcvsolutions.idm.core.CoreModuleDescriptor) Map(java.util.Map) ApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) EventResult(eu.bcvsolutions.idm.core.api.event.EventResult) DefaultEntityEventManager(eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager) IdmIdentityContractDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityContractDto) EntityEvent(eu.bcvsolutions.idm.core.api.event.EntityEvent) InjectMocks(org.mockito.InjectMocks) IdentitySaveProcessor(eu.bcvsolutions.idm.core.model.event.processor.identity.IdentitySaveProcessor) EntityEventProcessorFilter(eu.bcvsolutions.idm.core.api.dto.filter.EntityEventProcessorFilter) AbstractEntityEventProcessor(eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor) IdmIdentityDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto) Test(org.junit.Test) EnabledEvaluator(eu.bcvsolutions.idm.core.security.api.service.EnabledEvaluator) Mockito.when(org.mockito.Mockito.when) UUID(java.util.UUID) ApplicationContext(org.springframework.context.ApplicationContext) Matchers.any(org.mockito.Matchers.any) List(java.util.List) IdentityDeleteProcessor(eu.bcvsolutions.idm.core.model.event.processor.identity.IdentityDeleteProcessor) IdmRoleDto(eu.bcvsolutions.idm.core.api.dto.IdmRoleDto) AbstractUnitTest(eu.bcvsolutions.idm.test.api.AbstractUnitTest) CoreEventType(eu.bcvsolutions.idm.core.api.event.CoreEvent.CoreEventType) EventType(eu.bcvsolutions.idm.core.api.event.EventType) EntityEventProcessorDto(eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto) Assert(org.junit.Assert) HashMap(java.util.HashMap) EntityEventProcessorFilter(eu.bcvsolutions.idm.core.api.dto.filter.EntityEventProcessorFilter) EntityEventProcessorDto(eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto) Test(org.junit.Test) AbstractUnitTest(eu.bcvsolutions.idm.test.api.AbstractUnitTest)

Example 8 with EntityEventProcessorDto

use of eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto in project CzechIdMng by bcvsolutions.

the class EntityEventProcessorFilterUnitTest method testModuleFilter.

@Test
public void testModuleFilter() {
    Map<String, Object> registeredProcessors = new HashMap<>();
    registeredProcessors.put(IdentitySaveProcessor.PROCESSOR_NAME, new MockIdentityProcessor(IdentitySaveProcessor.PROCESSOR_NAME, CoreModuleDescriptor.MODULE_ID, "description one"));
    registeredProcessors.put(IdentityDeleteProcessor.PROCESSOR_NAME, new MockIdentityProcessor(IdentityDeleteProcessor.PROCESSOR_NAME, "custom", "description two"));
    when(enabledEvaluator.isEnabled(any(Object.class))).thenReturn(true);
    when(context.getBeansOfType(any())).thenReturn(registeredProcessors);
    // 
    EntityEventProcessorFilter filter = new EntityEventProcessorFilter();
    filter.setModule("wrong");
    // 
    List<EntityEventProcessorDto> results = eventManager.find(filter);
    Assert.assertTrue(results.isEmpty());
    // 
    filter.setModule(CoreModuleDescriptor.MODULE_ID);
    results = eventManager.find(filter);
    Assert.assertEquals(1, results.size());
    Assert.assertTrue(results.stream().anyMatch(e -> e.getName().equals(IdentitySaveProcessor.PROCESSOR_NAME)));
}
Also used : Mock(org.mockito.Mock) HashMap(java.util.HashMap) AbstractDto(eu.bcvsolutions.idm.core.api.dto.AbstractDto) Lists(com.google.common.collect.Lists) LookupService(eu.bcvsolutions.idm.core.api.service.LookupService) CoreModuleDescriptor(eu.bcvsolutions.idm.core.CoreModuleDescriptor) Map(java.util.Map) ApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) EventResult(eu.bcvsolutions.idm.core.api.event.EventResult) DefaultEntityEventManager(eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager) IdmIdentityContractDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityContractDto) EntityEvent(eu.bcvsolutions.idm.core.api.event.EntityEvent) InjectMocks(org.mockito.InjectMocks) IdentitySaveProcessor(eu.bcvsolutions.idm.core.model.event.processor.identity.IdentitySaveProcessor) EntityEventProcessorFilter(eu.bcvsolutions.idm.core.api.dto.filter.EntityEventProcessorFilter) AbstractEntityEventProcessor(eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor) IdmIdentityDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto) Test(org.junit.Test) EnabledEvaluator(eu.bcvsolutions.idm.core.security.api.service.EnabledEvaluator) Mockito.when(org.mockito.Mockito.when) UUID(java.util.UUID) ApplicationContext(org.springframework.context.ApplicationContext) Matchers.any(org.mockito.Matchers.any) List(java.util.List) IdentityDeleteProcessor(eu.bcvsolutions.idm.core.model.event.processor.identity.IdentityDeleteProcessor) IdmRoleDto(eu.bcvsolutions.idm.core.api.dto.IdmRoleDto) AbstractUnitTest(eu.bcvsolutions.idm.test.api.AbstractUnitTest) CoreEventType(eu.bcvsolutions.idm.core.api.event.CoreEvent.CoreEventType) EventType(eu.bcvsolutions.idm.core.api.event.EventType) EntityEventProcessorDto(eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto) Assert(org.junit.Assert) HashMap(java.util.HashMap) EntityEventProcessorFilter(eu.bcvsolutions.idm.core.api.dto.filter.EntityEventProcessorFilter) EntityEventProcessorDto(eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto) Test(org.junit.Test) AbstractUnitTest(eu.bcvsolutions.idm.test.api.AbstractUnitTest)

Example 9 with EntityEventProcessorDto

use of eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto in project CzechIdMng by bcvsolutions.

the class DefaultEntityEventManagerIntergationTest method testFindProcessors.

@Test
public void testFindProcessors() {
    EntityEventProcessorFilter filter = null;
    List<EntityEventProcessorDto> processors = entityEventManager.find(filter);
    int size = processors.size();
    // 
    assertTrue(size > 11);
    // 
    filter = new EntityEventProcessorFilter();
    filter.setContentClass(Serializable.class);
    processors = entityEventManager.find(filter);
    // 
    assertEquals(size, processors.size());
    // 
    filter.setContentClass(TestContent.class);
    processors = entityEventManager.find(filter);
    // 
    assertEquals(11, processors.size());
}
Also used : EntityEventProcessorFilter(eu.bcvsolutions.idm.core.api.dto.filter.EntityEventProcessorFilter) EntityEventProcessorDto(eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest) Test(org.junit.Test)

Example 10 with EntityEventProcessorDto

use of eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto in project CzechIdMng by bcvsolutions.

the class DefaultEntityEventManager method find.

@Override
@SuppressWarnings({ "rawtypes" })
public List<EntityEventProcessorDto> find(EntityEventProcessorFilter filter) {
    List<EntityEventProcessorDto> dtos = new ArrayList<>();
    Map<String, EntityEventProcessor> processors = context.getBeansOfType(EntityEventProcessor.class);
    for (Entry<String, EntityEventProcessor> entry : processors.entrySet()) {
        EntityEventProcessor<?> processor = entry.getValue();
        // entity event processor depends on module - we could not call any processor method
        if (!enabledEvaluator.isEnabled(processor)) {
            continue;
        }
        EntityEventProcessorDto dto = toDto(processor);
        // 
        if (passFilter(dto, filter)) {
            dtos.add(dto);
        }
    }
    LOG.debug("Returning [{}] registered entity event processors", dtos.size());
    return dtos;
}
Also used : EntityEventProcessor(eu.bcvsolutions.idm.core.api.event.EntityEventProcessor) AsyncEntityEventProcessor(eu.bcvsolutions.idm.core.api.event.AsyncEntityEventProcessor) ArrayList(java.util.ArrayList) EntityEventProcessorDto(eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto)

Aggregations

EntityEventProcessorDto (eu.bcvsolutions.idm.core.api.dto.EntityEventProcessorDto)11 EntityEventProcessorFilter (eu.bcvsolutions.idm.core.api.dto.filter.EntityEventProcessorFilter)8 Test (org.junit.Test)8 Lists (com.google.common.collect.Lists)7 CoreModuleDescriptor (eu.bcvsolutions.idm.core.CoreModuleDescriptor)7 AbstractDto (eu.bcvsolutions.idm.core.api.dto.AbstractDto)7 IdmIdentityContractDto (eu.bcvsolutions.idm.core.api.dto.IdmIdentityContractDto)7 IdmIdentityDto (eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto)7 IdmRoleDto (eu.bcvsolutions.idm.core.api.dto.IdmRoleDto)7 AbstractEntityEventProcessor (eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor)7 CoreEventType (eu.bcvsolutions.idm.core.api.event.CoreEvent.CoreEventType)7 EntityEvent (eu.bcvsolutions.idm.core.api.event.EntityEvent)7 EventResult (eu.bcvsolutions.idm.core.api.event.EventResult)7 EventType (eu.bcvsolutions.idm.core.api.event.EventType)7 LookupService (eu.bcvsolutions.idm.core.api.service.LookupService)7 IdentityDeleteProcessor (eu.bcvsolutions.idm.core.model.event.processor.identity.IdentityDeleteProcessor)7 IdentitySaveProcessor (eu.bcvsolutions.idm.core.model.event.processor.identity.IdentitySaveProcessor)7 DefaultEntityEventManager (eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager)7 EnabledEvaluator (eu.bcvsolutions.idm.core.security.api.service.EnabledEvaluator)7 AbstractUnitTest (eu.bcvsolutions.idm.test.api.AbstractUnitTest)7