コード例 #1
0
  @Test
  public void testCreateAndListEBSBackedImage() throws Exception {
    Snapshot snapshot = createSnapshot();

    // List of images before...
    int sizeBefore = client.describeImagesInRegion(regionId).size();

    // Register a new image...
    ebsBackedImageId =
        client.registerUnixImageBackedByEbsInRegion(
            regionId,
            ebsBackedImageName,
            snapshot.getId(),
            addNewBlockDevice("/dev/sda2", "myvirtual", 1).withDescription("adrian"));
    imagesToDeregister.add(ebsBackedImageId);
    final Image ebsBackedImage =
        getOnlyElement(client.describeImagesInRegion(regionId, imageIds(ebsBackedImageId)));
    assertEquals(ebsBackedImage.getName(), ebsBackedImageName);
    assertEquals(ebsBackedImage.getImageType(), ImageType.MACHINE);
    assertEquals(ebsBackedImage.getRootDeviceType(), RootDeviceType.EBS);
    assertEquals(ebsBackedImage.getRootDeviceName(), "/dev/sda1");
    assertEquals(ebsBackedImage.getDescription(), "adrian");
    assertEquals(
        ebsBackedImage.getEbsBlockDevices().entrySet(),
        ImmutableMap.of(
                "/dev/sda1",
                new Image.EbsBlockDevice(snapshot.getId(), snapshot.getVolumeSize(), true),
                "/dev/sda2",
                new Image.EbsBlockDevice(null, 1, false))
            .entrySet());

    // List of images after - should be one larger than before
    int after = client.describeImagesInRegion(regionId).size();
    assertEquals(after, sizeBefore + 1);
  }
コード例 #2
0
 public void testDescribeImages() {
   for (String region : ec2Client.getConfiguredRegions()) {
     Set<? extends Image> allResults = client.describeImagesInRegion(region);
     assertNotNull(allResults);
     assert allResults.size() >= 2 : allResults.size();
     Iterator<? extends Image> iterator = allResults.iterator();
     String id1 = iterator.next().getId();
     String id2 = iterator.next().getId();
     Set<? extends Image> twoResults = client.describeImagesInRegion(region, imageIds(id1, id2));
     assertNotNull(twoResults);
     assertEquals(twoResults.size(), 2);
     iterator = twoResults.iterator();
     assertEquals(iterator.next().getId(), id1);
     assertEquals(iterator.next().getId(), id2);
   }
 }
コード例 #3
0
 @Override
 @AfterClass(groups = {"integration", "live"})
 protected void tearDownContext() {
   for (String imageId : imagesToDeregister) client.deregisterImageInRegion(regionId, imageId);
   for (String snapshotId : snapshotsToDelete)
     ec2Client.getElasticBlockStoreServices().deleteSnapshotInRegion(regionId, snapshotId);
   super.tearDownContext();
 }
コード例 #4
0
  @Override
  @BeforeClass(groups = {"integration", "live"})
  public void setupContext() {
    super.setupContext();
    ec2Client = view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi();
    runningTester = retry(new InstanceStateRunning(ec2Client), 600, 5, SECONDS);

    client = ec2Client.getAMIServices();
    if (ebsTemplate != null) {
      Template template = view.getComputeService().templateBuilder().from(ebsTemplate).build();
      regionId = template.getLocation().getId();
      imageId = template.getImage().getProviderId();
      for (Image image : client.describeImagesInRegion(regionId)) {
        if (ebsBackedImageName.equals(image.getName()))
          client.deregisterImageInRegion(regionId, image.getId());
      }
    }
  }
コード例 #5
0
 @Test(dependsOnMethods = "testCreateAndListEBSBackedImage")
 public void testGetLaunchPermissionForImage() {
   client.getLaunchPermissionForImageInRegion(regionId, ebsBackedImageId);
 }
コード例 #6
0
 @Test(expectedExceptions = IllegalArgumentException.class)
 public void testDescribeImageBadId() {
   client.describeImagesInRegion(null, imageIds("asdaasdsa"));
 }
コード例 #7
0
 public void testDescribeImageNotExists() {
   assertEquals(client.describeImagesInRegion(null, imageIds("ami-cdf819a3")).size(), 0);
 }