use of io.gravitee.rest.api.model.alert.AlertTriggerEntity in project gravitee-management-rest-api by gravitee-io.
the class AlertMapperTest method convertAlertTriggerEntityToAlertResponseTime.
@Test
public void convertAlertTriggerEntityToAlertResponseTime() {
AlertTriggerEntity alertTriggerEntity = mock(AlertTriggerEntity.class);
when(alertTriggerEntity.getType()).thenReturn(AlertMapper.RESPONSE_TIME_ALERT);
final AggregationCondition aggregationCondition = mock(AggregationCondition.class);
when(alertTriggerEntity.getConditions()).thenReturn(Collections.singletonList(aggregationCondition));
when(aggregationCondition.getTimeUnit()).thenReturn(TimeUnit.MINUTES);
when(aggregationCondition.getDuration()).thenReturn(10L);
when(aggregationCondition.getThreshold()).thenReturn(200D);
final Alert actual = alertMapper.convert(alertTriggerEntity);
assertThat(actual.getType()).isEqualTo(AlertType.RESPONSE_TIME);
assertThat(actual.getResponseTime()).isEqualTo(200);
assertThat(actual.getDuration()).isEqualTo(10);
assertThat(actual.getTimeUnit()).isEqualTo(AlertTimeUnit.MINUTES);
}
use of io.gravitee.rest.api.model.alert.AlertTriggerEntity in project gravitee-management-rest-api by gravitee-io.
the class AlertMapperTest method convertAlertTriggerEntityToAlertStatus200.
@Test
public void convertAlertTriggerEntityToAlertStatus200() {
AlertTriggerEntity alertTriggerEntity = mock(AlertTriggerEntity.class);
when(alertTriggerEntity.getType()).thenReturn(AlertMapper.STATUS_ALERT);
final RateCondition rateCondition = mock(RateCondition.class);
when(alertTriggerEntity.getConditions()).thenReturn(Collections.singletonList(rateCondition));
when(rateCondition.getTimeUnit()).thenReturn(TimeUnit.MINUTES);
when(rateCondition.getDuration()).thenReturn(10L);
when(rateCondition.getThreshold()).thenReturn(20D);
final ThresholdRangeCondition thresholdRangeCondition = mock(ThresholdRangeCondition.class);
when(rateCondition.getComparison()).thenReturn(thresholdRangeCondition);
when(thresholdRangeCondition.getThresholdLow()).thenReturn(200D);
when(thresholdRangeCondition.getThresholdHigh()).thenReturn(200D);
final Alert actual = alertMapper.convert(alertTriggerEntity);
assertThat(actual.getType()).isEqualTo(AlertType.STATUS);
assertThat(actual.getStatusCode()).isEqualTo("200");
assertThat(actual.getStatusPercent()).isEqualTo(20);
assertThat(actual.getDuration()).isEqualTo(10);
assertThat(actual.getTimeUnit()).isEqualTo(AlertTimeUnit.MINUTES);
}
use of io.gravitee.rest.api.model.alert.AlertTriggerEntity in project gravitee-management-rest-api by gravitee-io.
the class ApplicationAlertServiceTest method shouldHandleNotificationTemplateUpdatedEventResponseTimeAlert.
@Test
public void shouldHandleNotificationTemplateUpdatedEventResponseTimeAlert() throws Exception {
NotificationTemplateEntity notificationTemplate = new NotificationTemplateEntity();
notificationTemplate.setHook(AlertHook.CONSUMER_RESPONSE_TIME.name());
notificationTemplate.setTitle("notification-template-title");
notificationTemplate.setContent("notification-template-content");
NotificationTemplateEvent notificationTemplateEvent = new NotificationTemplateEvent("org-id", notificationTemplate);
final SimpleEvent<ApplicationAlertEventType, Object> event = new SimpleEvent<>(ApplicationAlertEventType.NOTIFICATION_TEMPLATE_UPDATE, notificationTemplateEvent);
ApplicationListItem app1 = new ApplicationListItem();
app1.setId("app1");
ApplicationListItem app2 = new ApplicationListItem();
app2.setId("app2");
when(applicationService.findByOrganization("org-id")).thenReturn(new HashSet<>(Arrays.asList(app1, app2)));
final AlertTriggerEntity alertTrigger = mock(AlertTriggerEntity.class);
when(alertTrigger.getType()).thenReturn("METRICS_AGGREGATION");
when(alertService.findByReferenceAndReferenceIds(AlertReferenceType.APPLICATION, Arrays.asList("app1", "app2"))).thenReturn(Collections.singletonList(alertTrigger));
Notification notification = new Notification();
notification.setType("default-email");
notification.setConfiguration("");
when(alertTrigger.getNotifications()).thenReturn(Collections.singletonList(notification));
JsonNode emailNode = JsonNodeFactory.instance.objectNode().put("to", "to").put("from", "from").put("subject", "subject").put("body", "body");
when(mapper.readTree(notification.getConfiguration())).thenReturn(emailNode);
cut.handleEvent(event);
ArgumentCaptor<UpdateAlertTriggerEntity> updatingCaptor = ArgumentCaptor.forClass(UpdateAlertTriggerEntity.class);
verify(alertService, times(1)).update(updatingCaptor.capture());
final UpdateAlertTriggerEntity updating = updatingCaptor.getValue();
assertThat(updating.getNotifications().get(0).getConfiguration()).contains("notification-template-content");
assertThat(updating.getNotifications().get(0).getConfiguration()).contains("notification-template-title");
}
use of io.gravitee.rest.api.model.alert.AlertTriggerEntity in project gravitee-management-rest-api by gravitee-io.
the class ApplicationAlertServiceTest method shouldUpdate.
@Test
public void shouldUpdate() throws Exception {
final AlertTriggerEntity alertTrigger = mock(AlertTriggerEntity.class);
when(alertService.findById(ALERT_ID)).thenReturn(alertTrigger);
UpdateAlertTriggerEntity updating = new UpdateAlertTriggerEntity();
updating.setId(ALERT_ID);
cut.update(APPLICATION_ID, updating);
verify(alertService, times(1)).update(updating);
}
use of io.gravitee.rest.api.model.alert.AlertTriggerEntity in project gravitee-management-rest-api by gravitee-io.
the class AlertMapperTest method convertAlertTriggerEntityToAlertStatus2xx.
@Test
public void convertAlertTriggerEntityToAlertStatus2xx() {
AlertTriggerEntity alertTriggerEntity = mock(AlertTriggerEntity.class);
when(alertTriggerEntity.getType()).thenReturn(AlertMapper.STATUS_ALERT);
final RateCondition rateCondition = mock(RateCondition.class);
when(alertTriggerEntity.getConditions()).thenReturn(Collections.singletonList(rateCondition));
when(rateCondition.getTimeUnit()).thenReturn(TimeUnit.MINUTES);
when(rateCondition.getDuration()).thenReturn(10L);
when(rateCondition.getThreshold()).thenReturn(20D);
final ThresholdRangeCondition thresholdRangeCondition = mock(ThresholdRangeCondition.class);
when(rateCondition.getComparison()).thenReturn(thresholdRangeCondition);
when(thresholdRangeCondition.getThresholdLow()).thenReturn(200D);
when(thresholdRangeCondition.getThresholdHigh()).thenReturn(299D);
final Alert actual = alertMapper.convert(alertTriggerEntity);
assertThat(actual.getType()).isEqualTo(AlertType.STATUS);
assertThat(actual.getStatusCode()).isEqualTo("2xx");
assertThat(actual.getStatusPercent()).isEqualTo(20);
assertThat(actual.getDuration()).isEqualTo(10);
assertThat(actual.getTimeUnit()).isEqualTo(AlertTimeUnit.MINUTES);
}
Aggregations