private String findDriveByName(String name){ FluentIterable<LibraryDrive> list= cloudSigmaApi.listLibraryDrives().concat(); for(DriveInfo d: list){ if(d.getName().contains(name)){ return d.getUuid(); } } return null; }
@Override public boolean apply(DriveInfo input) { DriveInfo drive = api.getDriveInfo(input.getUuid()); switch (drive.getStatus()) { case COPYING: case UNAVAILABLE: return false; case MOUNTED: case UNMOUNTED: return true; default: throw new IllegalStateException("Resource is in invalid status: " + drive.getStatus()); } } }
@Override public boolean apply(DriveInfo input) { DriveInfo drive = api.getDriveInfo(input.getUuid()); switch (drive.getStatus()) { case COPYING: case UNAVAILABLE: return false; case MOUNTED: case UNMOUNTED: return true; default: throw new IllegalStateException("Resource is in invalid status: " + drive.getStatus()); } } }
@Test(dependsOnMethods = {"testCreateDrive"}) public void testCloneDrive() throws Exception { clonedDrive = api.cloneDrive(createdDrive.getUuid(), null); checkDrive(createdDrive, clonedDrive); }
@Test(dependsOnMethods = {"testCreateDrives"}) public void testDeleteDrives() throws Exception { ImmutableList.Builder<String> stringListBuilder = ImmutableList.builder(); for (DriveInfo driveInfo : createdDrives) { stringListBuilder.add(driveInfo.getUuid()); } ImmutableList<String> uuids = stringListBuilder.build(); api.deleteDrives(uuids); // Verify all deleted drives no longer exist FluentIterable<Drive> drives = api.listDrives().concat(); assertFalse(any(transform(drives, extractUuid()), in(uuids))); }
@Test(dependsOnMethods = {"testEditDrive", "testCreateTag", "testEditTag"}) public void testDeleteDrive() throws Exception { String uuid = createdDrive.getUuid(); api.deleteDrive(uuid); assertNull(api.getDriveInfo(uuid)); String clonedDriveUuid = clonedDrive.getUuid(); api.deleteDrive(clonedDriveUuid); assertNull(api.getDriveInfo(clonedDriveUuid)); String clonedLibraryDriveUuid = clonedLibraryDrive.getUuid(); api.deleteDrive(clonedLibraryDriveUuid); assertNull(api.getDriveInfo(clonedLibraryDriveUuid)); }
@Test(dependsOnMethods = {"testCreateDrive"}) public void testCreateTags() throws Exception { List<Tag> newTagsList = ImmutableList.of( new Tag.Builder().name("Cloudsigma2 New tag " + System.currentTimeMillis()) .meta(Maps.<String, String>newHashMap()).build(), new Tag.Builder().name("Cloudsigma2 tag with resource " + System.currentTimeMillis()) .meta(Maps.<String, String>newHashMap()) .resources(ImmutableList.of(new TagResource.Builder().uuid(createdDrive.getUuid()).build())).build()); createdTags = api.createTags(newTagsList); assertEquals(createdTags.size(), newTagsList.size()); for (int i = 0; i < newTagsList.size(); i++) { checkTag(newTagsList.get(i), createdTags.get(i)); } }
@Test public void testListDrivesInfo() throws Exception { CloudSigma2Api api = requestsSendResponses( getBuilder() .endpoint(endpoint + "drives/detail/") .build(), responseBuilder() .payload(payloadFromResourceWithContentType("/drives-detail-first-page.json", MediaType.APPLICATION_JSON)) .build(), getBuilder() .endpoint(endpoint + "drives/detail/") .addQueryParam("limit", "2") .addQueryParam("offset", "2") .build(), responseBuilder() .payload(payloadFromResourceWithContentType("/drives-detail-last-page.json", MediaType.APPLICATION_JSON)) .build()); List<DriveInfo> drives = api.listDrivesInfo().concat().toList(); assertEquals(drives.size(), 3); assertEquals(drives.get(0).getUuid(), "92ca1450-417e-4cc1-983b-1015777e2591"); assertEquals(drives.get(1).getUuid(), "414ad24b-ba41-47c0-9751-ef5060b6c391"); assertEquals(drives.get(2).getUuid(), "7bc04bc5-bd09-4269-b45d-16b58d6f71b4"); }
@Test(dependsOnMethods = {"testCreateTag"}) public void testEditTag() throws Exception { Map<String, String> meta = Maps.newHashMap(); meta.put("description", "test tag"); Tag editedTag = new Tag.Builder().meta(meta).name("Edited tag") .resources(ImmutableList.of(new TagResource.Builder().uuid(createdDrive.getUuid()).build())).build(); checkTag(editedTag, api.editTag(createdTag.getUuid(), editedTag)); }
drive = api.getDriveInfo(drive.getUuid()); DriveStatus status = drive.getStatus(); destroyDrives(ImmutableList.of(drive.getUuid())); } catch (Exception ex) { if (destroyDrives) { logger.debug(">> rolling back the cloned drive...", drive.getUuid()); destroyDrives(ImmutableList.of(drive.getUuid())); if (destroyDrives) { logger.debug(">> rolling back the cloned drive..."); destroyDrives(ImmutableList.of(drive.getUuid()));
@Test(dependsOnMethods = {"testCreateDrive"}) public void testCreateTag() throws Exception { Map<String, String> meta = Maps.newHashMap(); meta.put("description", "Test tag"); Tag newTag = new Tag.Builder() .meta(meta) .name("Cloudsigma2 Test tag") .meta(Maps.<String, String>newHashMap()) .resources(ImmutableList.of( new TagResource.Builder() .uuid(createdDrive.getUuid()) .build())) .build(); createdTag = api.createTag(newTag); checkTag(newTag, createdTag); }
@Override public Volume apply(ServerDrive serverDrive) { VolumeBuilder builder = new VolumeBuilder(); DriveInfo driveInfo = api.getDriveInfo(serverDrive.getDriveUuid()); builder.id(driveInfo.getUuid()); builder.size(driveInfo.getSize().floatValue()); builder.durable(true); builder.type(Volume.Type.NAS); builder.bootDevice(serverDrive.getBootOrder() != null); return builder.build(); } }
@Override public Volume apply(ServerDrive serverDrive) { VolumeBuilder builder = new VolumeBuilder(); DriveInfo driveInfo = api.getDriveInfo(serverDrive.getDriveUuid()); builder.id(driveInfo.getUuid()); builder.size(driveInfo.getSize().floatValue()); builder.durable(true); builder.type(Volume.Type.NAS); builder.bootDevice(serverDrive.getBootOrder() != null); return builder.build(); } }
@Test(dependsOnMethods = {"testCreateDrive"}) public void testEditDrive() throws Exception { DriveInfo editedDrive = new DriveInfo.Builder() .name("Edited Drive") .size(createdDrive.getSize()) .media(MediaType.DISK) .build(); checkDrive(editedDrive, api.editDrive(createdDrive.getUuid(), editedDrive)); }
public static Builder fromDriveInfo(DriveInfo in) { return new Builder() .uuid(in.getUuid()) .name(in.getName()) .resourceUri(in.getResourceUri()) .owner(in.getOwner()) .status(in.getStatus()) .size(in.getSize()) .allowMultimount(in.isAllowMultimount()) .affinities(in.getAffinities()) .jobs(in.getJobs()) .licenses(in.getLicenses()) .media(in.getMedia()) .meta(in.getMeta()) .mountedOn(in.getMountedOn()) .tags(in.getTags()); }
public static Builder fromDriveInfo(DriveInfo in) { return new Builder() .uuid(in.getUuid()) .name(in.getName()) .resourceUri(in.getResourceUri()) .owner(in.getOwner()) .status(in.getStatus()) .size(in.getSize()) .allowMultimount(in.isAllowMultimount()) .affinities(in.getAffinities()) .jobs(in.getJobs()) .licenses(in.getLicenses()) .media(in.getMedia()) .meta(in.getMeta()) .mountedOn(in.getMountedOn()) .tags(in.getTags()); }
public static Builder fromDriveInfo(DriveInfo in) { return new Builder() .uuid(in.getUuid()) .name(in.getName()) .resourceUri(in.getResourceUri()) .owner(in.getOwner()) .status(in.getStatus()) .size(in.getSize()) .allowMultimount(in.isAllowMultimount()) .affinities(in.getAffinities()) .jobs(in.getJobs()) .licenses(in.getLicenses()) .media(in.getMedia()) .meta(in.getMeta()) .mountedOn(in.getMountedOn()) .tags(in.getTags()); }
public static Builder fromDriveInfo(DriveInfo in) { return new Builder() .uuid(in.getUuid()) .name(in.getName()) .resourceUri(in.getResourceUri()) .owner(in.getOwner()) .status(in.getStatus()) .size(in.getSize()) .allowMultimount(in.isAllowMultimount()) .affinities(in.getAffinities()) .jobs(in.getJobs()) .licenses(in.getLicenses()) .media(in.getMedia()) .meta(in.getMeta()) .mountedOn(in.getMountedOn()) .tags(in.getTags()); }
public static Builder fromDriveInfo(DriveInfo in) { return new Builder() .uuid(in.getUuid()) .name(in.getName()) .resourceUri(in.getResourceUri()) .owner(in.getOwner()) .status(in.getStatus()) .size(in.getSize()) .allowMultimount(in.isAllowMultimount()) .affinities(in.getAffinities()) .jobs(in.getJobs()) .licenses(in.getLicenses()) .media(in.getMedia()) .meta(in.getMeta()) .mountedOn(in.getMountedOn()) .tags(in.getTags()); }
public static Builder fromDriveInfo(DriveInfo in) { return new Builder() .uuid(in.getUuid()) .name(in.getName()) .resourceUri(in.getResourceUri()) .owner(in.getOwner()) .status(in.getStatus()) .size(in.getSize()) .allowMultimount(in.isAllowMultimount()) .affinities(in.getAffinities()) .jobs(in.getJobs()) .licenses(in.getLicenses()) .media(in.getMedia()) .meta(in.getMeta()) .mountedOn(in.getMountedOn()) .tags(in.getTags()); }