public void testGetMetricStatisticsWhenResponseIs2xx() throws Exception { HttpResponse getMetricStatisticsResponse = HttpResponse.builder().statusCode(200).payload( payloadFromResourceWithContentType("/get_metric_statistics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsExist = requestSendsResponse(getMetricStatistics, getMetricStatisticsResponse); assertEquals( apiWhenMetricsExist.getMetricApiForRegion(null).getMetricStatistics(stats).toString(), // TODO: make an object for this "GetMetricStatisticsResponse{label=CPUUtilization, " + "datapoints=[Datapoint{timestamp=Thu Jan 15 16:00:00 PST 2009, customUnit=null, maximum=null, " + "minimum=null, average=0.17777777777777778, sum=null, samples=9.0, unit=Percent}, " + "Datapoint{timestamp=Thu Jan 15 16:01:00 PST 2009, customUnit=null, maximum=null, minimum=null, " + "average=0.1, sum=null, samples=8.0, unit=Percent}]}"); }
.endpoint("https://monitoring.us-east-1.amazonaws.com/") .addHeader("Host", "monitoring.us-east-1.amazonaws.com") .payload(payloadFromStringWithContentType( "Action=ListMetrics" + "&Dimensions.member.1.Name=InstanceId" + .payload(payloadFromResourceWithContentType("/list_metrics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsWithOptionsExist = requestSendsResponse(listMetricsWithOptions, listMetricsWithOptionsResponse);
public void testListMetrics2PagesWhenResponseIs2xx() throws Exception { HttpResponse listMetricsResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/list_metrics_marker.xml", "text/xml")).build(); HttpRequest listMetrics2 = HttpRequest.builder() .method("POST") .endpoint("https://monitoring.us-east-1.amazonaws.com/") .addHeader("Host", "monitoring.us-east-1.amazonaws.com") .payload( payloadFromStringWithContentType( "Action=ListMetrics" + "&NextToken=MARKER" + "&Signature=RpBdQydXD1jQhEUnXoqT60NEuCP/ZgdvO6Hf3uf/wy0%3D" + "&SignatureMethod=HmacSHA256" + "&SignatureVersion=2" + "&Timestamp=2009-11-08T15%3A54%3A08.897Z" + "&Version=2010-08-01" + "&AWSAccessKeyId=identity", "application/x-www-form-urlencoded")) .build(); HttpResponse listMetrics2Response = HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/list_metrics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsExist = requestsSendResponses( listMetrics, listMetricsResponse, listMetrics2, listMetrics2Response); assertEquals(apiWhenMetricsExist.getMetricApiForRegion(null).list().concat().toString(), "[Metric{namespace=AWS/EC2, metricName=CPUUtilization, dimension=[Dimension{name=InstanceId, value=i-689fcf0f}]}, Metric{namespace=AWS/EC2, metricName=CPUUtilization, dimension=[Dimension{name=InstanceId, value=i-689fcf0f}]}]"); }
@Test(expectedExceptions = ResourceNotFoundException.class) public void testGetMetricStatisticsWhenResponseIs404() throws Exception { HttpResponse getMetricStatisticsResponse = HttpResponse.builder().statusCode(404).build(); CloudWatchApi apiWhenMetricsDontExist = requestSendsResponse(getMetricStatistics, getMetricStatisticsResponse); apiWhenMetricsDontExist.getMetricApiForRegion(null).getMetricStatistics(stats); }
.endpoint("https://monitoring.us-east-1.amazonaws.com/") .addHeader("Host", "monitoring.us-east-1.amazonaws.com") .payload(payloadFromStringWithContentType( "Action=GetMetricStatistics" + "&Dimensions.member.1.Name=InstanceId" + payloadFromResourceWithContentType("/get_metric_statistics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsExist = requestSendsResponse(getMetricStatistics, getMetricStatisticsResponse);
public void testListMetrics2PagesWhenResponseIs2xx() throws Exception { HttpResponse listMetricsResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/list_metrics_marker.xml", "text/xml")).build(); HttpRequest listMetrics2 = HttpRequest.builder() .method("POST") .endpoint("https://monitoring.us-east-1.amazonaws.com/") .addHeader("Host", "monitoring.us-east-1.amazonaws.com") .payload( payloadFromStringWithContentType( "Action=ListMetrics" + "&NextToken=MARKER" + "&Signature=RpBdQydXD1jQhEUnXoqT60NEuCP/ZgdvO6Hf3uf/wy0%3D" + "&SignatureMethod=HmacSHA256" + "&SignatureVersion=2" + "&Timestamp=2009-11-08T15%3A54%3A08.897Z" + "&Version=2010-08-01" + "&AWSAccessKeyId=identity", "application/x-www-form-urlencoded")) .build(); HttpResponse listMetrics2Response = HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/list_metrics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsExist = requestsSendResponses( listMetrics, listMetricsResponse, listMetrics2, listMetrics2Response); assertEquals(apiWhenMetricsExist.getMetricApiForRegion(null).list().concat().toString(), "[Metric{namespace=AWS/EC2, metricName=CPUUtilization, dimension=[Dimension{name=InstanceId, value=i-689fcf0f}]}, Metric{namespace=AWS/EC2, metricName=CPUUtilization, dimension=[Dimension{name=InstanceId, value=i-689fcf0f}]}]"); }
@Test(expectedExceptions = ResourceNotFoundException.class) public void testGetMetricStatisticsWhenResponseIs404() throws Exception { HttpResponse getMetricStatisticsResponse = HttpResponse.builder().statusCode(404).build(); CloudWatchApi apiWhenMetricsDontExist = requestSendsResponse(getMetricStatistics, getMetricStatisticsResponse); apiWhenMetricsDontExist.getMetricApiForRegion(null).getMetricStatistics(stats); }
.endpoint("https://monitoring.us-east-1.amazonaws.com/") .addHeader("Host", "monitoring.us-east-1.amazonaws.com") .payload(payloadFromStringWithContentType( "Action=ListMetrics" + "&Dimensions.member.1.Name=InstanceId" + .payload(payloadFromResourceWithContentType("/list_metrics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsWithOptionsExist = requestSendsResponse(listMetricsWithOptions, listMetricsWithOptionsResponse);
public void testGetMetricStatisticsWhenResponseIs2xx() throws Exception { HttpResponse getMetricStatisticsResponse = HttpResponse.builder().statusCode(200).payload( payloadFromResourceWithContentType("/get_metric_statistics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsExist = requestSendsResponse(getMetricStatistics, getMetricStatisticsResponse); assertEquals( apiWhenMetricsExist.getMetricApiForRegion(null).getMetricStatistics(stats).toString(), // TODO: make an object for this "GetMetricStatisticsResponse{label=CPUUtilization, " + "datapoints=[Datapoint{timestamp=Thu Jan 15 16:00:00 PST 2009, customUnit=null, maximum=null, " + "minimum=null, average=0.17777777777777778, sum=null, samples=9.0, unit=Percent}, " + "Datapoint{timestamp=Thu Jan 15 16:01:00 PST 2009, customUnit=null, maximum=null, minimum=null, " + "average=0.1, sum=null, samples=8.0, unit=Percent}]}"); }
public void testListMetricsWhenResponseIs404() throws Exception { HttpResponse listMetricsResponse = HttpResponse.builder().statusCode(404).build(); CloudWatchApi apiWhenMetricsDontExist = requestSendsResponse( listMetrics, listMetricsResponse); assertEquals(apiWhenMetricsDontExist.getMetricApiForRegion(null).list().get(0).toSet(), ImmutableSet.of()); }
.endpoint("https://monitoring.us-east-1.amazonaws.com/") .addHeader("Host", "monitoring.us-east-1.amazonaws.com") .payload(payloadFromStringWithContentType( "Action=GetMetricStatistics" + "&Dimensions.member.1.Name=InstanceId" + payloadFromResourceWithContentType("/get_metric_statistics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsExist = requestSendsResponse(getMetricStatistics, getMetricStatisticsResponse);
public void testListMetricsWhenResponseIs2xx() throws Exception { HttpResponse listMetricsResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/list_metrics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsExist = requestSendsResponse( listMetrics, listMetricsResponse); assertEquals(apiWhenMetricsExist.getMetricApiForRegion(null).list().get(0).toString(), "[Metric{namespace=AWS/EC2, metricName=CPUUtilization, dimension=[Dimension{name=InstanceId, value=i-689fcf0f}]}]"); }
public void testListMetricsWhenResponseIs404() throws Exception { HttpResponse listMetricsResponse = HttpResponse.builder().statusCode(404).build(); CloudWatchApi apiWhenMetricsDontExist = requestSendsResponse( listMetrics, listMetricsResponse); assertEquals(apiWhenMetricsDontExist.getMetricApiForRegion(null).list().get(0).toSet(), ImmutableSet.of()); }
public void testListMetricsWhenResponseIs2xx() throws Exception { HttpResponse listMetricsResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/list_metrics.xml", "text/xml")).build(); CloudWatchApi apiWhenMetricsExist = requestSendsResponse( listMetrics, listMetricsResponse); assertEquals(apiWhenMetricsExist.getMetricApiForRegion(null).list().get(0).toString(), "[Metric{namespace=AWS/EC2, metricName=CPUUtilization, dimension=[Dimension{name=InstanceId, value=i-689fcf0f}]}]"); }