use of eu.bcvsolutions.idm.core.monitoring.api.dto.IdmMonitoringResultDto in project CzechIdMng by bcvsolutions.
the class IdmMonitoringResultControllerRestTest method testFindLastResults.
@Test
public void testFindLastResults() {
// evaluate monitoring
IdmMonitoringDto monitoring = new IdmMonitoringDto();
// ~ hour
monitoring.setCheckPeriod(3600L);
monitoring.setEvaluatorType(AutowireHelper.getTargetType(h2DatabaseMonitoringEvaluator));
monitoring.setInstanceId(configurationService.getInstanceId());
monitoring = monitoringService.save(monitoring);
//
monitoringManager.execute(monitoring);
monitoringManager.execute(monitoring);
monitoringManager.execute(monitoring);
//
IdmMonitoringResultFilter filter = new IdmMonitoringResultFilter();
filter.setMonitoring(monitoring.getId());
// workaround: result model cannot be deserialized automatically from json
monitoringResultService.find(filter, null).forEach(result -> {
result.setResult(new OperationResultDto(OperationState.EXECUTED));
monitoringResultService.save(result);
});
cacheManager.evictCache(MonitoringManager.LAST_RESULT_CACHE_NAME);
//
filter.setLastResult(true);
List<IdmMonitoringResultDto> lastResults = find(filter);
List<IdmMonitoringResultDto> results = find("last-results", filter);
//
Assert.assertEquals(1, results.size());
Assert.assertEquals(1, lastResults.size());
Assert.assertEquals(lastResults.get(0).getId(), results.get(0).getId());
}
use of eu.bcvsolutions.idm.core.monitoring.api.dto.IdmMonitoringResultDto in project CzechIdMng by bcvsolutions.
the class IdmMonitoringResultControllerRestTest method testExecute.
@Test
public void testExecute() throws Exception {
IdmMonitoringDto monitoring = new IdmMonitoringDto();
monitoring.setCheckPeriod(0L);
monitoring.setEvaluatorType(AutowireHelper.getTargetType(h2DatabaseMonitoringEvaluator));
monitoring.setInstanceId(configurationService.getInstanceId());
monitoring = monitoringService.save(monitoring);
//
IdmMonitoringResultDto dto = new IdmMonitoringResultDto();
dto.setMonitoring(monitoring.getId());
dto.setEvaluatorType(AutowireHelper.getTargetType(h2DatabaseMonitoringEvaluator));
dto.setInstanceId(configurationService.getInstanceId());
dto.setResult(new OperationResultDto(OperationState.BLOCKED));
dto = monitoringResultService.save(dto);
//
String response = getMockMvc().perform(put(String.format("%s/execute", getDetailUrl(dto.getId()))).with(authentication(getAdminAuthentication())).contentType(TestHelper.HAL_CONTENT_TYPE)).andExpect(status().isCreated()).andReturn().getResponse().getContentAsString();
Assert.assertNotNull(response);
//
getMockMvc().perform(put(String.format("%s/execute", getDetailUrl(UUID.randomUUID()))).with(authentication(getAdminAuthentication())).contentType(TestHelper.HAL_CONTENT_TYPE)).andExpect(status().isNotFound());
}
use of eu.bcvsolutions.idm.core.monitoring.api.dto.IdmMonitoringResultDto in project CzechIdMng by bcvsolutions.
the class IdmMonitoringResultControllerRestTest method testFindByLastResult.
@Test
public void testFindByLastResult() {
String instanceId = getHelper().createName();
IdmMonitoringResultDto result = prepareDto();
result.setInstanceId(instanceId);
result.setLastResult(true);
IdmMonitoringResultDto resultOne = createDto(result);
result = prepareDto();
result.setInstanceId(instanceId);
// other
createDto(result);
//
IdmMonitoringResultFilter filter = new IdmMonitoringResultFilter();
filter.setInstanceId(instanceId);
filter.setLastResult(true);
List<IdmMonitoringResultDto> results = find(filter);
//
Assert.assertEquals(1, results.size());
Assert.assertTrue(results.stream().anyMatch(r -> r.getId().equals(resultOne.getId())));
}
use of eu.bcvsolutions.idm.core.monitoring.api.dto.IdmMonitoringResultDto in project CzechIdMng by bcvsolutions.
the class IdmMonitoringResultControllerRestTest method testFindByText.
@Test
public void testFindByText() {
IdmMonitoringResultDto result = prepareDto();
IdmMonitoringDto monitoringOne = new IdmMonitoringDto();
monitoringOne.setEvaluatorType(getHelper().createName());
monitoringOne.setInstanceId("mock");
monitoringOne = monitoringService.save(monitoringOne);
result.setMonitoring(monitoringOne.getId());
IdmIdentityDto owner = getHelper().createIdentity((GuardedString) null);
result.setOwnerId(owner.getId());
result.setOwnerType(IdmIdentity.class.getCanonicalName());
IdmMonitoringResultDto resultOne = createDto(result);
//
result = prepareDto();
IdmMonitoringDto monitoringTwo = new IdmMonitoringDto();
monitoringTwo.setEvaluatorType(TestMonitoringEvaluator.class.getCanonicalName());
monitoringTwo.setDescription(monitoringOne.getEvaluatorType());
monitoringTwo.setInstanceId("mock");
monitoringTwo = monitoringService.save(monitoringTwo);
result.setMonitoring(monitoringTwo.getId());
result.setEvaluatorType(TestMonitoringEvaluator.class.getCanonicalName());
IdmMonitoringResultDto resultTwo = createDto(result);
//
// other
createDto();
//
IdmMonitoringResultFilter filter = new IdmMonitoringResultFilter();
filter.setText(monitoringOne.getEvaluatorType());
List<IdmMonitoringResultDto> results = find(filter);
//
Assert.assertEquals(2, results.size());
Assert.assertTrue(results.stream().anyMatch(r -> r.getId().equals(resultOne.getId())));
Assert.assertTrue(results.stream().anyMatch(r -> r.getId().equals(resultTwo.getId())));
}
use of eu.bcvsolutions.idm.core.monitoring.api.dto.IdmMonitoringResultDto in project CzechIdMng by bcvsolutions.
the class IdmMonitoringResultControllerRestTest method testFindByLevel.
@Test
public void testFindByLevel() {
String instanceId = getHelper().createName();
IdmMonitoringResultDto result = prepareDto();
result.setInstanceId(instanceId);
result.setLevel(NotificationLevel.ERROR);
IdmMonitoringResultDto resultOne = createDto(result);
result = prepareDto();
result.setInstanceId(instanceId);
result.setLevel(NotificationLevel.WARNING);
IdmMonitoringResultDto resultTwo = createDto(result);
result = prepareDto();
result.setInstanceId(instanceId);
result.setLevel(NotificationLevel.INFO);
// other
createDto(result);
//
IdmMonitoringResultFilter filter = new IdmMonitoringResultFilter();
filter.setInstanceId(instanceId);
filter.setLevels(Lists.newArrayList(NotificationLevel.ERROR, NotificationLevel.WARNING));
List<IdmMonitoringResultDto> results = find(filter);
//
Assert.assertEquals(2, results.size());
Assert.assertTrue(results.stream().anyMatch(r -> r.getId().equals(resultOne.getId())));
Assert.assertTrue(results.stream().anyMatch(r -> r.getId().equals(resultTwo.getId())));
}
Aggregations