public void testEnableAlarmActions() throws Exception { CloudWatchApi cloudWatchApi = requestSendsResponse(alarmRequest(ImmutableMap.of( "Action", "EnableAlarmActions", "AlarmNames.member.1", "TestAlarmName1", "AlarmNames.member.2", "TestAlarmName2", "Signature", "Q1VemnXpc57PKMs9NVCX6R%2B/TSDgsGzQwpOHQ70aJuU%3D" )), HttpResponse.builder() .statusCode(200) .payload(payloadFromResourceWithContentType("/VoidResponse.xml", "text/xml")) .build()); // Ensure there is no error returned cloudWatchApi.getAlarmApiForRegion(null).enable(ImmutableSet.of( "TestAlarmName1", "TestAlarmName2" )); }
private HttpRequest alarmRequest(Map<String, String> arguments) { Map<String, String> sortedArguments = Maps.newTreeMap(); Map<String, String> defaultArguments = ImmutableMap.<String, String> builder() .put("SignatureMethod", "HmacSHA256") .put("SignatureVersion", "2") .put("Timestamp", "2009-11-08T15%3A54%3A08.897Z") .put("Version", "2010-08-01") .build(); sortedArguments.putAll(arguments); for (Map.Entry<String, String> defaultArgument : defaultArguments.entrySet()) { if (!sortedArguments.containsKey(defaultArgument.getKey())) { sortedArguments.put(defaultArgument.getKey(), defaultArgument.getValue()); } } Map<String, String> realArguments = Maps.newLinkedHashMap(sortedArguments); realArguments.put("AWSAccessKeyId", "identity"); return HttpRequest.builder() .method("POST") .endpoint("https://monitoring.us-east-1.amazonaws.com/") .addHeader("Host", "monitoring.us-east-1.amazonaws.com") .payload(payloadFromStringWithContentType(Joiner.on("&") .withKeyValueSeparator("=") .join(realArguments).trim(), "application/x-www-form-urlencoded")) .build(); }
@Test(expectedExceptions = InsufficientResourcesException.class) public void testPutMetricAlarmIs400() throws Exception { Payload payload = payloadFromResourceWithContentType("/LimitExceededResponse.xml", "text/xml"); CloudWatchApi cloudWatchApi = requestSendsResponse(putMetricAlarmRequest, HttpResponse.builder() .payload(payload) .statusCode(400) .build()); // Ensure an InsufficientResourcesException is thrown cloudWatchApi.getAlarmApiForRegion(null).save(saveAlarmOptions); }
@Test(expectedExceptions = ResourceNotFoundException.class) public void testDeleteAlarmsIs404() throws Exception { CloudWatchApi cloudWatchApi = requestSendsResponse(deleteAlarmsRequest, HttpResponse.builder().statusCode(404).build()); // Ensure a ResourceNotFoundException is thrown cloudWatchApi.getAlarmApiForRegion(null).delete(ImmutableSet.of( "TestAlarmName1", "TestAlarmName2" )); }
public void testDeleteAlarmsIs2xx() throws Exception { Payload payload = payloadFromResourceWithContentType("/VoidResponse.xml", "text/xml"); CloudWatchApi cloudWatchApi = requestSendsResponse(deleteAlarmsRequest, HttpResponse.builder() .statusCode(200) .payload(payload) .build()); // Ensure there is no error returned cloudWatchApi.getAlarmApiForRegion(null).delete(ImmutableSet.of( "TestAlarmName1", "TestAlarmName2" )); }
@Test(expectedExceptions = ResourceNotFoundException.class) public void testDeleteAlarmsIs404() throws Exception { CloudWatchApi cloudWatchApi = requestSendsResponse(deleteAlarmsRequest, HttpResponse.builder().statusCode(404).build()); // Ensure a ResourceNotFoundException is thrown cloudWatchApi.getAlarmApiForRegion(null).delete(ImmutableSet.of( "TestAlarmName1", "TestAlarmName2" )); }
public void testDisableAlarmActions() throws Exception { CloudWatchApi cloudWatchApi = requestSendsResponse(alarmRequest(ImmutableMap.of( "Action", "DisableAlarmActions", "AlarmNames.member.1", "TestAlarmName1", "AlarmNames.member.2", "TestAlarmName2", "Signature", "tvSfJ%2BgcrHowwUECSniV0TQP2OObpWCuba0S5dd723Y%3D" )), HttpResponse.builder() .statusCode(200) .payload(payloadFromResourceWithContentType("/VoidResponse.xml", "text/xml")) .build()); // Ensure there is no error returned cloudWatchApi.getAlarmApiForRegion(null).disable(ImmutableSet.of( "TestAlarmName1", "TestAlarmName2" )); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testSetAlarmStateIs400() throws Exception { Payload payload = payloadFromResourceWithContentType("/InvalidFormatResponse.xml", "text/xml"); CloudWatchApi cloudWatchApi = requestSendsResponse(setAlarmStateRequest, HttpResponse.builder() .payload(payload) .statusCode(400) .build()); // Ensure an IllegalArgumentException is thrown cloudWatchApi.getAlarmApiForRegion(null).setState("TestAlarmName", "TestStateReason", "{\"reason\": \"Some reason\"}", Alarm.State.OK); }
private HttpRequest alarmRequest(Map<String, String> arguments) { Map<String, String> sortedArguments = Maps.newTreeMap(); Map<String, String> defaultArguments = ImmutableMap.<String, String> builder() .put("SignatureMethod", "HmacSHA256") .put("SignatureVersion", "2") .put("Timestamp", "2009-11-08T15%3A54%3A08.897Z") .put("Version", "2010-08-01") .build(); sortedArguments.putAll(arguments); for (Map.Entry<String, String> defaultArgument : defaultArguments.entrySet()) { if (!sortedArguments.containsKey(defaultArgument.getKey())) { sortedArguments.put(defaultArgument.getKey(), defaultArgument.getValue()); } } Map<String, String> realArguments = Maps.newLinkedHashMap(sortedArguments); realArguments.put("AWSAccessKeyId", "identity"); return HttpRequest.builder() .method("POST") .endpoint("https://monitoring.us-east-1.amazonaws.com/") .addHeader("Host", "monitoring.us-east-1.amazonaws.com") .payload(payloadFromStringWithContentType(Joiner.on("&") .withKeyValueSeparator("=") .join(realArguments).trim(), "application/x-www-form-urlencoded")) .build(); }
public void testDisableAlarmActions() throws Exception { CloudWatchApi cloudWatchApi = requestSendsResponse(alarmRequest(ImmutableMap.of( "Action", "DisableAlarmActions", "AlarmNames.member.1", "TestAlarmName1", "AlarmNames.member.2", "TestAlarmName2", "Signature", "tvSfJ%2BgcrHowwUECSniV0TQP2OObpWCuba0S5dd723Y%3D" )), HttpResponse.builder() .statusCode(200) .payload(payloadFromResourceWithContentType("/VoidResponse.xml", "text/xml")) .build()); // Ensure there is no error returned cloudWatchApi.getAlarmApiForRegion(null).disable(ImmutableSet.of( "TestAlarmName1", "TestAlarmName2" )); }
public void testSetAlarmStateIs2xx() throws Exception { Payload payload = payloadFromResourceWithContentType("/VoidResponse.xml", "text/xml"); CloudWatchApi cloudWatchApi = requestSendsResponse(setAlarmStateRequest, HttpResponse.builder() .payload(payload) .statusCode(200) .build()); // Ensure there is no error returned cloudWatchApi.getAlarmApiForRegion(null).setState("TestAlarmName", "TestStateReason", "{\"reason\": \"Some reason\"}", Alarm.State.OK); }
public void testEnableAlarmActions() throws Exception { CloudWatchApi cloudWatchApi = requestSendsResponse(alarmRequest(ImmutableMap.of( "Action", "EnableAlarmActions", "AlarmNames.member.1", "TestAlarmName1", "AlarmNames.member.2", "TestAlarmName2", "Signature", "Q1VemnXpc57PKMs9NVCX6R%2B/TSDgsGzQwpOHQ70aJuU%3D" )), HttpResponse.builder() .statusCode(200) .payload(payloadFromResourceWithContentType("/VoidResponse.xml", "text/xml")) .build()); // Ensure there is no error returned cloudWatchApi.getAlarmApiForRegion(null).enable(ImmutableSet.of( "TestAlarmName1", "TestAlarmName2" )); }
@Test(expectedExceptions = InsufficientResourcesException.class) public void testPutMetricAlarmIs400() throws Exception { Payload payload = payloadFromResourceWithContentType("/LimitExceededResponse.xml", "text/xml"); CloudWatchApi cloudWatchApi = requestSendsResponse(putMetricAlarmRequest, HttpResponse.builder() .payload(payload) .statusCode(400) .build()); // Ensure an InsufficientResourcesException is thrown cloudWatchApi.getAlarmApiForRegion(null).save(saveAlarmOptions); }
int maxRecords = 10; Alarm.State state = Alarm.State.ALARM; CloudWatchApi cloudWatchApi = requestSendsResponse( alarmRequest(ImmutableMap.<String, String>builder() .put("Action", "DescribeAlarms") .put("ActionPrefix", actionPrefix) HttpResponse.builder() .statusCode(200) .payload(payloadFromResourceWithContentType("/DescribeAlarmsResponse.xml", "text/xml")) .build() );
public void testDeleteAlarmsIs2xx() throws Exception { Payload payload = payloadFromResourceWithContentType("/VoidResponse.xml", "text/xml"); CloudWatchApi cloudWatchApi = requestSendsResponse(deleteAlarmsRequest, HttpResponse.builder() .statusCode(200) .payload(payload) .build()); // Ensure there is no error returned cloudWatchApi.getAlarmApiForRegion(null).delete(ImmutableSet.of( "TestAlarmName1", "TestAlarmName2" )); }
int maxRecords = 10; Alarm.State state = Alarm.State.ALARM; CloudWatchApi cloudWatchApi = requestSendsResponse( alarmRequest(ImmutableMap.<String, String>builder() .put("Action", "DescribeAlarms") .put("ActionPrefix", actionPrefix) HttpResponse.builder() .statusCode(200) .payload(payloadFromResourceWithContentType("/DescribeAlarmsResponse.xml", "text/xml")) .build() );
public void testPutMetricAlarmIs2xx() throws Exception { Payload payload = payloadFromResourceWithContentType("/VoidResponse.xml", "text/xml"); CloudWatchApi cloudWatchApi = requestSendsResponse(putMetricAlarmRequest, HttpResponse.builder() .statusCode(200) .payload(payload) .build()); // Ensure there is no error returned cloudWatchApi.getAlarmApiForRegion(null).save(saveAlarmOptions); }
Statistics statistics = Statistics.SAMPLE_COUNT; Unit unit = Unit.SECONDS; CloudWatchApi cloudWatchApi = requestSendsResponse( alarmRequest(ImmutableMap.<String, String>builder() .put("Action", "DescribeAlarmsForMetric") .put("Dimensions.member.1.Name", "TestDimensionName1") HttpResponse.builder() .statusCode(200) .payload(payloadFromResourceWithContentType("/DescribeAlarmsForMetricResponse.xml", "text/xml")) .build() );
public void testSetAlarmStateIs2xx() throws Exception { Payload payload = payloadFromResourceWithContentType("/VoidResponse.xml", "text/xml"); CloudWatchApi cloudWatchApi = requestSendsResponse(setAlarmStateRequest, HttpResponse.builder() .payload(payload) .statusCode(200) .build()); // Ensure there is no error returned cloudWatchApi.getAlarmApiForRegion(null).setState("TestAlarmName", "TestStateReason", "{\"reason\": \"Some reason\"}", Alarm.State.OK); }
Statistics statistics = Statistics.SAMPLE_COUNT; Unit unit = Unit.SECONDS; CloudWatchApi cloudWatchApi = requestSendsResponse( alarmRequest(ImmutableMap.<String, String>builder() .put("Action", "DescribeAlarmsForMetric") .put("Dimensions.member.1.Name", "TestDimensionName1") HttpResponse.builder() .statusCode(200) .payload(payloadFromResourceWithContentType("/DescribeAlarmsForMetricResponse.xml", "text/xml")) .build() );