@Test(enabled = true, timeOut = 10 * 60 * 1000, dependsOnMethods = "testDeleteBackup")
 void destroySlice1() {
   if (sliceId > 0) {
     client.destroySlice(sliceId);
     assert client.getSlice(sliceId) == null;
   }
 }
 @Test(enabled = true, timeOut = 10 * 60 * 1000, dependsOnMethods = "testRebootSoft")
 void testDeleteBackup() {
   if (backupId > 0) {
     client.destroyBackup(backupId);
     assert client.getBackup(backupId) == null;
   }
 }
 private void blockUntilSliceActive(int sliceId) throws InterruptedException {
   Slice currentDetails = null;
   for (currentDetails = client.getSlice(sliceId);
       currentDetails.getStatus() != Slice.Status.ACTIVE;
       currentDetails = client.getSlice(sliceId)) {
     System.out.printf("blocking on status active%n%s%n", currentDetails);
     Thread.sleep(5 * 1000);
   }
 }
 public void testGetFlavorsDetail() throws Exception {
   Set<Flavor> response = client.listFlavors();
   assert null != response;
   long flavorCount = response.size();
   assertTrue(flavorCount >= 0);
   for (Flavor flavor : response) {
     Flavor newDetails = client.getFlavor(flavor.getId());
     assertEquals(flavor, newDetails);
   }
 }
 public void testGetSlicesDetail() throws Exception {
   Set<Slice> response = client.listSlices();
   assert null != response;
   long sliceCount = response.size();
   assertTrue(sliceCount >= 0);
   for (Slice slice : response) {
     Slice newDetails = client.getSlice(slice.getId());
     assertEquals(slice, newDetails);
   }
 }
 public void testGetImagesDetail() throws Exception {
   Set<Image> response = client.listImages();
   assert null != response;
   long imageCount = response.size();
   assertTrue(imageCount >= 0);
   for (Image image : response) {
     try {
       Image newDetails = client.getImage(image.getId());
       assertEquals(image, newDetails);
     } catch (HttpResponseException e) { // Ticket #9867
       if (e.getResponse().getStatusCode() != 400) throw e;
     }
   }
 }
  public void testListSlices() throws Exception {

    Set<Slice> response = client.listSlices();
    assert null != response;
    long initialContainerCount = response.size();
    assertTrue(initialContainerCount >= 0);
  }
 @Test(enabled = true, timeOut = 10 * 60 * 1000, dependsOnMethods = "testCreateBackup")
 public void testRebuildSlice() throws Exception {
   client.rebuildSliceFromBackup(sliceId, backupId);
   blockUntilSliceActive(sliceId);
   // issue Web Hosting #119580 imageId comes back incorrect after rebuild
   // assertEquals(new Integer(imageId),
   // client.getSlice(sliceId).getImageId());
 }
 @Test(enabled = true, timeOut = 10 * 60 * 1000, dependsOnMethods = "testSliceDetails")
 public void testCreateBackup() throws Exception {
   Backup backup = client.createBackup("hoofie", sliceId);
   // TODO validate our request, as the above returns <nil-classes
   // type="array"/>
   assertEquals("hoofie", backup.getName());
   assertEquals(new Integer(sliceId), backup.getSliceId());
   backupId = backup.getId();
 }
 @Test(enabled = true, timeOut = 5 * 60 * 1000, dependsOnMethods = "testCreateSlice")
 public void testSliceDetails() throws Exception {
   Slice slice = client.getSlice(sliceId);
   assertEquals(slice.getStatus(), Slice.Status.ACTIVE);
   assert slice.getProgress() >= 0 : "newDetails.getProgress()" + slice.getProgress();
   assertEquals(new Integer(14362), slice.getImageId());
   assertEquals(1, slice.getFlavorId());
   assertNotNull(slice.getAddresses());
   checkPassOk(slice, rootPassword);
 }
 public void testListFlavors() throws Exception {
   Set<Flavor> response = client.listFlavors();
   assert null != response;
   long flavorCount = response.size();
   assertTrue(flavorCount >= 1);
   for (Flavor flavor : response) {
     assertTrue(flavor.getId() >= 0);
     assert null != flavor.getName() : flavor;
   }
 }
 public void testListImagesDetail() throws Exception {
   Set<Image> response = client.listImages();
   assert null != response;
   long imageCount = response.size();
   assertTrue(imageCount >= 0);
   for (Image image : response) {
     assertTrue(image.getId() >= 1);
     assert null != image.getName() : image;
   }
 }
 @Test(enabled = true)
 public void testCreateSlice() throws Exception {
   int imageId = 14362;
   int flavorId = 1;
   Slice slice = null;
   while (slice == null) {
     String sliceName = slicePrefix + "createslice" + new SecureRandom().nextInt();
     try {
       slice = client.createSlice(sliceName, imageId, flavorId);
     } catch (UndeclaredThrowableException e) {
       HttpResponseException htpe = (HttpResponseException) e.getCause().getCause();
       if (htpe.getResponse().getStatusCode() == 400) continue;
       throw e;
     }
   }
   assertNotNull(slice.getRootPassword());
   sliceId = slice.getId();
   rootPassword = slice.getRootPassword();
   assertEquals(slice.getStatus(), Slice.Status.BUILD);
   blockUntilSliceActive(sliceId);
 }
 @AfterTest
 void destroySlicesOnEnd() {
   if (sliceId > 0) {
     client.destroySlice(sliceId);
   }
 }
 @Test(enabled = true, timeOut = 10 * 60 * 1000, dependsOnMethods = "testRebootHard")
 public void testRebootSoft() throws Exception {
   client.rebootSlice(sliceId);
   blockUntilSliceActive(sliceId);
 }
 @Test
 public void testGetFlavorDetailsNotFound() throws Exception {
   assert client.getFlavor(12312987) == null;
 }