CloudWatchRaiderImpl implements CloudWatchRaider { @Override public List<MetricAlarm> getCloudWatchAlarmByNameAndDate(String alarmName, Date afterDate) { return cloudWatchDelegator.getAmazonCloudWatch().describeAlarms() .getMetricAlarms() .stream() .filter(x -> x.getAlarmName().toLowerCase().contains(alarmName.toLowerCase()) && x.getStateUpdatedTimestamp().after(afterDate)) .collect(Collectors.toList()); } CloudWatchRaiderImpl(); @Override List<MetricAlarm> getCloudWatchAlarmByName(String alarmName); @Override boolean isStateInAlarm(String alarmName); @Override List<MetricAlarm> getCloudWatchAlarmByNameAndDate(String alarmName, Date afterDate); @Override Double getELBUnHealthyHostMetric(String loadBalancerName); @Override Double getELBMetric(String loadBalancerName, String metricName); @Override Double getEC2Metric(String instanceId, String metricName); @Override List<AlarmHistoryItem> getCloudWatchAlarmHistory(String alarmName); @Override AlarmStateValue getSimpleCloudWatchMetricAlarmStatus(String alarmName); @Override String getAlarmState(String alarmName); @Override Integer countAlarmsInState(String alarmState);  }
@Test public void testGetCloudWatchAlarmByNameAndDate() { List<MetricAlarm> alarms = cwRaiderImplUnderTest.getCloudWatchAlarmByNameAndDate("test-alarm", new Date()); Assert.assertEquals(alarms.get(0).getAlarmName(),"test-alarm"); }