@Test public void testDescribeImagesWithFilter() { // Just run in the first region - no need to take the time on all of them. String region = getFirst(ec2Api.getConfiguredRegions(), null); assertNotNull(region, "region should not be null"); Set<? extends Image> allResults = client.describeImagesInRegion(region); assertNotNull(allResults); assertTrue(allResults.size() >= 2); String id1 = allResults.iterator().next().getId(); Set<? extends Image> filterResult = client.describeImagesInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("image-id", id1) .build()); assertNotNull(filterResult); assertEquals(filterResult.size(), 1); assertEquals(filterResult.iterator().next().getId(), id1); }
@Test(expectedExceptions = AWSResponseException.class) public void testDescribeImagesWithInvalidFilter() { // Just run in the first region - no need to take the time on all of them. String region = getFirst(ec2Api.getConfiguredRegions(), null); assertNotNull(region, "region should not be null"); Set<? extends Image> allResults = client.describeImagesInRegion(region); assertNotNull(allResults); assertTrue(allResults.size() >= 2); String id1 = allResults.iterator().next().getId(); Set<? extends Image> filterResult = client.describeImagesInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("invalid-filter-id", id1) .build()); assertNotNull(filterResult); assertEquals(filterResult.size(), 1); assertEquals(filterResult.iterator().next().getId(), id1); }
public void testFilterWhenResponseIs404() { HttpResponse filterResponse = HttpResponse.builder().statusCode(404).build(); EC2Api apiWhenNotExist = requestsSendResponses(describeRegionsRequest, describeRegionsResponse, filter, filterResponse); assertEquals(apiWhenNotExist.getAMIApi().get().describeImagesInRegionWithFilter("us-east-1", ImmutableMultimap.<String, String>builder() .put("owner-id", "206029621532") .build()), ImmutableSet.of()); } }
public void testFilterWhenResponseIs2xx() { HttpResponse filterResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/describe_images.xml", "text/xml")).build(); EC2Api apiWhenExist = requestsSendResponses(describeRegionsRequest, describeRegionsResponse, filter, filterResponse); Image image = getOnlyElement(apiWhenExist.getAMIApi().get().describeImagesInRegionWithFilter("us-east-1", ImmutableMultimap.<String, String>builder() .put("owner-id", "206029621532") .build())); assertEquals(image.getId(), "ami-be3adfd7"); }
int sizeBefore = client.describeImagesInRegionWithFilter(regionId, ImmutableMultimap.<String, String>builder() .put("name", ebsBackedImageName).build()).size(); Thread.sleep(30000); after = client.describeImagesInRegionWithFilter(regionId, ImmutableMultimap.<String, String>builder() .put("name", ebsBackedImageName).build()).size();
@Override @BeforeClass(groups = { "integration", "live" }) public void setupContext() { super.setupContext(); ec2Api = view.unwrapApi(EC2Api.class); runningTester = retry(new InstanceStateRunning(ec2Api), 600, 5, SECONDS); client = ec2Api.getAMIApi().get(); if (ebsTemplate != null) { Template template = view.getComputeService().templateBuilder().from(ebsTemplate).build(); regionId = template.getLocation().getId(); imageId = template.getImage().getProviderId(); for (Image image : client.describeImagesInRegionWithFilter(regionId, ImmutableMultimap.<String, String>builder() .put("name", ebsBackedImageName).build())) { if (ebsBackedImageName.equals(image.getName())) client.deregisterImageInRegion(regionId, image.getId()); } } }