mirror of https://github.com/apache/jclouds.git
Issue #830 VAppTemplate: live tests and various fixes
This commit is contained in:
parent
c888586cd4
commit
bd1b430e77
|
@ -223,7 +223,7 @@ public interface VAppTemplateAsyncClient {
|
|||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<Metadata> getVAppTemplateMetadata(@EndpointParam URI templateURI);
|
||||
|
||||
@PUT
|
||||
@POST
|
||||
@Produces(METADATA)
|
||||
@Consumes(TASK)
|
||||
@Path("/metadata")
|
||||
|
@ -321,18 +321,6 @@ public interface VAppTemplateAsyncClient {
|
|||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<NetworkSection> getVAppTemplateNetworkSection(@EndpointParam URI templateURI);
|
||||
|
||||
/**
|
||||
* @see VAppTemplateClient#editVAppTemplateNetworkSection(URI, NetworkSection)
|
||||
*/
|
||||
@PUT
|
||||
@Produces(NETWORK_SECTION)
|
||||
@Consumes(TASK)
|
||||
@Path("/networkSection")
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<Task> editVAppTemplateNetworkSection(@EndpointParam URI templateURI,
|
||||
@BinderParam(BindToXMLPayload.class) NetworkSection section);
|
||||
|
||||
/**
|
||||
* @see VAppTemplateClient#getVAppTemplateOvf(URI)
|
||||
*/
|
||||
|
|
|
@ -80,7 +80,7 @@ public interface VAppTemplateClient {
|
|||
Task consolidateVappTemplate(URI templateUri);
|
||||
|
||||
/**
|
||||
* Consolidates a VM
|
||||
* Disables the download link to the ovf of a vApp template.
|
||||
*
|
||||
* @param templateUri the URI of the template
|
||||
* @return the task performing the action
|
||||
|
@ -88,7 +88,7 @@ public interface VAppTemplateClient {
|
|||
Task disableDownloadVappTemplate(URI templateUri);
|
||||
|
||||
/**
|
||||
* Consolidates a VM,
|
||||
* Enables downloading of the ovf of a vApp template.
|
||||
*
|
||||
* @param templateUri the URI of the template
|
||||
* @return the task performing the action
|
||||
|
@ -237,15 +237,6 @@ public interface VAppTemplateClient {
|
|||
*/
|
||||
NetworkSection getVAppTemplateNetworkSection(URI templateUri);
|
||||
|
||||
/**
|
||||
* Modifies the network section of a vApp or vApp template.
|
||||
*
|
||||
* @param templateUri the URI of the template
|
||||
* @param section the new configuration to apply
|
||||
* @return the task performing the action
|
||||
*/
|
||||
Task editVAppTemplateNetworkSection(URI templateUri, NetworkSection section);
|
||||
|
||||
/**
|
||||
* Retrieves an OVF descriptor of a vApp template.
|
||||
*
|
||||
|
|
|
@ -19,7 +19,13 @@
|
|||
package org.jclouds.vcloud.director.v1_5.features;
|
||||
|
||||
import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
import static org.testng.Assert.assertFalse;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Map;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Checks;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.CustomizationSection;
|
||||
|
@ -29,10 +35,14 @@ import org.jclouds.vcloud.director.v1_5.domain.Metadata;
|
|||
import org.jclouds.vcloud.director.v1_5.domain.MetadataEntry;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.MetadataValue;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.NetworkConfigSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.NetworkConfiguration;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.NetworkConnectionSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Owner;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ProductSectionList;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Reference;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.RelocateParams;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.VAppNetworkConfiguration;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.VAppTemplate;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.Envelope;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.NetworkSection;
|
||||
|
@ -40,7 +50,9 @@ import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorClientLiveTes
|
|||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.beust.jcommander.internal.Maps;
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
/**
|
||||
|
@ -53,13 +65,9 @@ import com.google.common.collect.Iterables;
|
|||
@Test(groups = {"live", "unit", "user"}, testName = "VAppTemplateClientLiveTest")
|
||||
public class VAppTemplateClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||
|
||||
private final Random random = new Random();
|
||||
private VAppTemplateClient vappTemplateClient;
|
||||
|
||||
// FIXME IS timezone setting needed in live test?
|
||||
// public VAppTemplateClientLiveTest() {
|
||||
// TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
|
||||
// }
|
||||
|
||||
@BeforeClass(inheritGroups = true)
|
||||
@Override
|
||||
public void setupRequiredClients() {
|
||||
|
@ -164,10 +172,14 @@ public class VAppTemplateClientLiveTest extends BaseVCloudDirectorClientLiveTest
|
|||
|
||||
@Test
|
||||
public void testEditVAppTemplate() {
|
||||
String uid = ""+Math.random();
|
||||
// TODO Should we be using the orig vappTemplate? Or a blank one with only the name/description?
|
||||
|
||||
VAppTemplate oldVAppTemplate = vappTemplateClient.getVAppTemplate(vAppTemplateURI);
|
||||
|
||||
String uid = ""+random.nextInt();
|
||||
String name = "myname-"+uid;
|
||||
String description = "mydescr-"+uid;
|
||||
VAppTemplate template = VAppTemplate.builder()
|
||||
VAppTemplate template = oldVAppTemplate.toBuilder()
|
||||
.name(name)
|
||||
.description(description)
|
||||
.build();
|
||||
|
@ -180,29 +192,13 @@ public class VAppTemplateClientLiveTest extends BaseVCloudDirectorClientLiveTest
|
|||
assertEquals(newTemplate.getDescription(), description);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEditVAppTemplateMetadataValue() {
|
||||
// FIXME Cleanup after ourselves..
|
||||
|
||||
String uid = ""+Math.random();
|
||||
String key = "mykey-"+uid;
|
||||
String val = "myval-"+uid;
|
||||
MetadataValue metadataValue = MetadataValue.builder().value(val).build();
|
||||
|
||||
final Task task = vappTemplateClient.editVAppTemplateMetadataValue(vAppTemplateURI, key, metadataValue);
|
||||
retryTaskSuccess.apply(task);
|
||||
|
||||
MetadataValue newMetadataValue = vappTemplateClient.getVAppTemplateMetadataValue(vAppTemplateURI, key);
|
||||
assertEquals(newMetadataValue, metadataValue);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEditVAppTemplateMetadata() {
|
||||
// FIXME Cleanup after ourselves..
|
||||
|
||||
Metadata oldMetadata = vappTemplateClient.getVAppTemplateMetadata(vAppTemplateURI);
|
||||
|
||||
String uid = ""+Math.random();
|
||||
String uid = ""+random.nextInt();
|
||||
String key = "mykey-"+uid;
|
||||
String val = "myval-"+uid;
|
||||
MetadataEntry metadataEntry = MetadataEntry.builder().entry(key, val).build();
|
||||
|
@ -212,620 +208,189 @@ public class VAppTemplateClientLiveTest extends BaseVCloudDirectorClientLiveTest
|
|||
retryTaskSuccess.apply(task);
|
||||
|
||||
Metadata newMetadata = vappTemplateClient.getVAppTemplateMetadata(vAppTemplateURI);
|
||||
assertTrue(newMetadata.getMetadataEntries().contains(metadataEntry));
|
||||
Map<String,String> newMetadataMap = metadataToMap(newMetadata);
|
||||
assertEquals(newMetadataMap.get(key), val, "newMetadata="+newMetadata);
|
||||
}
|
||||
|
||||
// public void testVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId).acceptMedia(VAPP_TEMPLATE).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/vAppTemplate.xml", VAPP_TEMPLATE).httpResponseBuilder().build(),
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId).xmlFilePayload("/vapptemplate/vAppTemplate.xml", VAPP_TEMPLATE).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build(),
|
||||
// new VcloudHttpRequestPrimer().apiCommand("DELETE", templateId).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
// VAppTemplate template = client.getVAppTemplate(uri);
|
||||
//
|
||||
// assertEquals(template, exampleTemplate());
|
||||
//
|
||||
// Task task = client.editVAppTemplate(uri, exampleTemplate());
|
||||
// assertNotNull(task);
|
||||
//
|
||||
// task = client.deleteVappTemplate(uri);
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorGetVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId).acceptMedia(VAPP_TEMPLATE).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.getVAppTemplate(uri);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorEditVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId).xmlFilePayload("/vapptemplate/vAppTemplate.xml", VAPP_TEMPLATE).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error403.xml", ERROR).httpResponseBuilder().statusCode(403).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.editVAppTemplate(uri, exampleTemplate());
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testDeleteMissingVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("DELETE", templateId).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.deleteVappTemplate(uri);
|
||||
// }
|
||||
//
|
||||
// public void testConsolidateVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/consolidate").acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
// Task task = client.consolidateVappTemplate(uri);
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testConsolidateMissingVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/consolidate").acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error403.xml", ERROR).httpResponseBuilder().statusCode(403).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.consolidateVappTemplate(uri);
|
||||
// }
|
||||
//
|
||||
// public void testDisableDownloadVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/disableDownload").acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
// Task task = client.disableDownloadVappTemplate(uri);
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testDisableDownloadMissingVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/disableDownload").acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.disableDownloadVappTemplate(uri);
|
||||
// }
|
||||
//
|
||||
// public void testEnableDownloadVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/enableDownload").acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
// Task task = client.enableDownloadVappTemplate(uri);
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testEnableDownloadMissingVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/enableDownload").acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error403.xml", ERROR).httpResponseBuilder().statusCode(403).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.enableDownloadVappTemplate(uri);
|
||||
// }
|
||||
//
|
||||
// public void testRelocateVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/relocate").xmlFilePayload("/vapptemplate/relocateParams.xml", RELOCATE_TEMPLATE).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
//
|
||||
// Reference datastore = Reference.builder().href(URI.create("https://vcloud.example.com/api/admin/extension/datastore/607")).build();
|
||||
// RelocateParams params = RelocateParams.builder().datastore(datastore).build();
|
||||
//
|
||||
// Task task = client.relocateVappTemplate(uri, params);
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testRelocateMissingVAppTemplate() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/relocate").xmlFilePayload("/vapptemplate/relocateParams.xml", RELOCATE_TEMPLATE).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// Reference datastore = Reference.builder().href(URI.create("https://vcloud.example.com/api/admin/extension/datastore/607")).build();
|
||||
// RelocateParams params = RelocateParams.builder().datastore(datastore).build();
|
||||
//
|
||||
// client.relocateVappTemplate(uri, params);
|
||||
// }
|
||||
//
|
||||
// public void testCustomizationSection() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/customizationSection").acceptMedia(CUSTOMIZATION_SECTION).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/customizationSection.xml", CUSTOMIZATION_SECTION).httpResponseBuilder().build(),
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/customizationSection").xmlFilePayload("/vapptemplate/customizationSection.xml", CUSTOMIZATION_SECTION).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
// CustomizationSection section = client.getVAppTemplateCustomizationSection(uri);
|
||||
//
|
||||
// assertEquals(section, exampleCustomizationSection());
|
||||
//
|
||||
// Task task = client.editVAppTemplateCustomizationSection(uri, exampleCustomizationSection());
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorGetCustomizationSection() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/customizationSection").acceptMedia(CUSTOMIZATION_SECTION).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error403.xml", ERROR).httpResponseBuilder().statusCode(403).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.getVAppTemplateCustomizationSection(uri);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorEditCustomizationSection() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/customizationSection").xmlFilePayload("/vapptemplate/customizationSection.xml", CUSTOMIZATION_SECTION).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error403.xml", ERROR).httpResponseBuilder().statusCode(403).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.editVAppTemplateCustomizationSection(uri, exampleCustomizationSection());
|
||||
// }
|
||||
//
|
||||
// public void testGuestCustomizationSection() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/guestCustomizationSection").acceptMedia(GUEST_CUSTOMIZATION_SECTION).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/guestCustomizationSection.xml", GUEST_CUSTOMIZATION_SECTION).httpResponseBuilder().build(),
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/guestCustomizationSection").xmlFilePayload("/vapptemplate/guestCustomizationSection.xml", GUEST_CUSTOMIZATION_SECTION).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
// GuestCustomizationSection section = client.getVAppTemplateGuestCustomizationSection(uri);
|
||||
//
|
||||
// assertEquals(section, exampleGuestCustomizationSection());
|
||||
//
|
||||
// Task task = client.editVAppTemplateGuestCustomizationSection(uri, exampleGuestCustomizationSection());
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorGetGuestCustomizationSection() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/guestCustomizationSection").acceptMedia(GUEST_CUSTOMIZATION_SECTION).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.getVAppTemplateGuestCustomizationSection(uri);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorEditGuestCustomizationSection() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/guestCustomizationSection").xmlFilePayload("/vapptemplate/guestCustomizationSection.xml", GUEST_CUSTOMIZATION_SECTION).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.editVAppTemplateGuestCustomizationSection(uri, exampleGuestCustomizationSection());
|
||||
// }
|
||||
//
|
||||
// public void testLeaseSettingsSection() throws ParseException {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/leaseSettingsSection").acceptMedia(LEASE_SETTINGS_SECTION).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/leaseSettingsSection.xml", LEASE_SETTINGS_SECTION).httpResponseBuilder().build(),
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/leaseSettingsSection").xmlFilePayload("/vapptemplate/leaseSettingsSection.xml", LEASE_SETTINGS_SECTION).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
// LeaseSettingsSection section = client.getVappTemplateLeaseSettingsSection(uri);
|
||||
//
|
||||
// assertEquals(section, exampleLeaseSettingsSection());
|
||||
//
|
||||
// Task task = client.editVappTemplateLeaseSettingsSection(uri, exampleLeaseSettingsSection());
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorGetLeaseSettingsSection() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/leaseSettingsSection").acceptMedia(LEASE_SETTINGS_SECTION).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error403.xml", ERROR).httpResponseBuilder().statusCode(403).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.getVappTemplateLeaseSettingsSection(uri);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorEditLeaseSettingsSection() throws ParseException {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/leaseSettingsSection").xmlFilePayload("/vapptemplate/leaseSettingsSection.xml", LEASE_SETTINGS_SECTION).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error403.xml", ERROR).httpResponseBuilder().statusCode(403).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.editVappTemplateLeaseSettingsSection(uri, exampleLeaseSettingsSection());
|
||||
// }
|
||||
//
|
||||
// public void testVappTemplateMetadata() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata").acceptMedia(METADATA).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/metadata.xml", METADATA).httpResponseBuilder().build(),
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/metadata").xmlFilePayload("/vapptemplate/metadata.xml", METADATA).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
// Metadata metadata = client.getVAppTemplateMetadata(uri);
|
||||
//
|
||||
// assertEquals(metadata, exampleMetadata());
|
||||
//
|
||||
// Task task = client.editVAppTemplateMetadata(uri, exampleMetadata());
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorGetMetadata() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata").acceptMedia(METADATA).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.getVAppTemplateMetadata(uri);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorEditMetadata() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/metadata").xmlFilePayload("/vapptemplate/metadata.xml", METADATA).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.editVAppTemplateMetadata(uri, exampleMetadata());
|
||||
// }
|
||||
//
|
||||
// public void testVappTemplateMetadataValue() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata/12345").acceptMedia(METADATA_ENTRY).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/metadataValue.xml", METADATA_ENTRY).httpResponseBuilder().build(),
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/metadata/12345").xmlFilePayload("/vapptemplate/metadataValue.xml", METADATA_ENTRY).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build(),
|
||||
// new VcloudHttpRequestPrimer().apiCommand("DELETE", templateId + "/metadata/12345").acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
// MetadataValue metadata = client.getVAppTemplateMetadataValue(uri, "12345");
|
||||
//
|
||||
// assertEquals(metadata, exampleMetadataValue());
|
||||
//
|
||||
// Task task = client.editVAppTemplateMetadataValue(uri, "12345", exampleMetadataValue());
|
||||
// assertNotNull(task);
|
||||
//
|
||||
// task = client.deleteVAppTemplateMetadataValue(uri, "12345");
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorGetMetadataValue() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata/12345").acceptMedia(METADATA_ENTRY).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error403.xml", ERROR).httpResponseBuilder().statusCode(403).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.getVAppTemplateMetadataValue(uri, "12345");
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorEditMetadataValue() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/metadata/12345").xmlFilePayload("/vapptemplate/metadataValue.xml", METADATA_ENTRY).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.editVAppTemplateMetadataValue(uri, "12345", exampleMetadataValue());
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testDeleteMissingMetadataValue() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("DELETE", templateId + "/metadata/12345").acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error403.xml", ERROR).httpResponseBuilder().statusCode(403).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.deleteVAppTemplateMetadataValue(uri, "12345");
|
||||
// }
|
||||
//
|
||||
// public void testNetworkConfigSection() throws ParseException {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/networkConfigSection").acceptMedia(NETWORK_CONFIG_SECTION).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/networkConfigSection.xml", NETWORK_CONFIG_SECTION).httpResponseBuilder().build(),
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/networkConfigSection").xmlFilePayload("/vapptemplate/networkConfigSection.xml", NETWORK_CONFIG_SECTION).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||
// ).getVAppTemplateClient();
|
||||
//
|
||||
// assertNotNull(client);
|
||||
//
|
||||
// NetworkConfigSection section = client.getVAppTemplateNetworkConfigSection(uri);
|
||||
//
|
||||
// assertEquals(section, exampleNetworkConfigSection());
|
||||
//
|
||||
// Task task = client.editVAppTemplateNetworkConfigSection(uri, exampleNetworkConfigSection());
|
||||
// assertNotNull(task);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorGetNetworkConfigSection() {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/networkConfigSection").acceptMedia(NETWORK_CONFIG_SECTION).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.getVAppTemplateNetworkConfigSection(uri);
|
||||
// }
|
||||
//
|
||||
// @Test(expectedExceptions = VCloudDirectorException.class)
|
||||
// public void testErrorEditNetworkConfigSection() throws ParseException {
|
||||
// final String templateId = "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9";
|
||||
// URI uri = URI.create(endpoint + templateId);
|
||||
//
|
||||
// VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||
// new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/networkConfigSection").xmlFilePayload("/vapptemplate/networkConfigSection.xml", NETWORK_CONFIG_SECTION).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||
// new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||
//
|
||||
// client.editVAppTemplateNetworkConfigSection(uri, exampleNetworkConfigSection());
|
||||
// }
|
||||
//
|
||||
// private VAppTemplate exampleTemplate() {
|
||||
// Link aLink = Link.builder().href(URI.create("https://vcloudbeta.bluelock.com/api/vdc/d16d333b-e3c0-4176-845d-a5ee6392df07"))
|
||||
// .type("application/vnd.vmware.vcloud.vdc+xml").rel("up").build();
|
||||
// Link bLink = Link.builder().href(URI.create("https://vcloudbeta.bluelock.com/api/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"))
|
||||
// .rel("remove").build();
|
||||
//
|
||||
// Owner owner = Owner.builder().type("application/vnd.vmware.vcloud.owner+xml").user(Reference.builder().href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/967d317c-4273-4a95-b8a4-bf63b78e9c69")).name("x@jclouds.org").type("application/vnd.vmware.admin.user+xml").build()).build();
|
||||
//
|
||||
// LeaseSettingsSection leaseSettings = LeaseSettingsSection.builder().type("application/vnd.vmware.vcloud.leaseSettingsSection+xml")
|
||||
// .href(URI.create("https://vcloudbeta.bluelock.com/api/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9/leaseSettingsSection/"))
|
||||
// .info("Lease settings section")
|
||||
// .links(ImmutableSet.of(Link.builder().rel("edit").type("application/vnd.vmware.vcloud.leaseSettingsSection+xml")
|
||||
// .href(URI.create("https://vcloudbeta.bluelock.com/api/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9/leaseSettingsSection/")).build()))
|
||||
// .storageLeaseInSeconds(0)
|
||||
// .required(false)
|
||||
// .build();
|
||||
// CustomizationSection customizationSection = CustomizationSection.builder()
|
||||
// .type("application/vnd.vmware.vcloud.customizationSection+xml")
|
||||
// .info("VApp template customization section")
|
||||
// .customizeOnInstantiate(true)
|
||||
// .href(URI.create("https://vcloudbeta.bluelock.com/api/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9/customizationSection/"))
|
||||
// .required(false)
|
||||
// .build();
|
||||
//
|
||||
// return VAppTemplate.builder().href(URI.create("https://vcloudbeta.bluelock.com/api/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"))
|
||||
// .links(ImmutableSet.of(aLink, bLink))
|
||||
// .children(ImmutableSet.<VAppTemplate>of())
|
||||
// .type("application/vnd.vmware.vcloud.vAppTemplate+xml")
|
||||
// .description("For testing")
|
||||
// .id("urn:vcloud:vapptemplate:ef4415e6-d413-4cbb-9262-f9bbec5f2ea9")
|
||||
// .name("ubuntu10")
|
||||
// .sections(ImmutableSet.of(leaseSettings, customizationSection))
|
||||
// .status(-1)
|
||||
// .owner(owner)
|
||||
// .ovfDescriptorUploaded(true)
|
||||
// .goldMaster(false)
|
||||
// .build();
|
||||
// }
|
||||
//
|
||||
// private CustomizationSection exampleCustomizationSection() {
|
||||
// return CustomizationSection.builder()
|
||||
// .links(ImmutableSet.of(
|
||||
// Link.builder().href(URI.create("https://vcloudbeta.bluelock.com/api/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9/customizationSection/"))
|
||||
// .type("application/vnd.vmware.vcloud.customizationSection+xml").rel("edit").build()
|
||||
// ))
|
||||
// .type("application/vnd.vmware.vcloud.customizationSection+xml")
|
||||
// .info("VApp template customization section")
|
||||
// .customizeOnInstantiate(true)
|
||||
// .href(URI.create("https://vcloudbeta.bluelock.com/api/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9/customizationSection/"))
|
||||
// .required(false)
|
||||
// .build();
|
||||
// }
|
||||
//
|
||||
// private GuestCustomizationSection exampleGuestCustomizationSection() {
|
||||
// return GuestCustomizationSection.builder()
|
||||
// .links(ImmutableSet.of(
|
||||
// Link.builder().href(URI.create("http://vcloud.example.com/api/v1.5/vAppTemplate/vAppTemplate-12/guestCustomizationSection/"))
|
||||
// .type("application/vnd.vmware.vcloud.guestCustomizationSection+xml").rel("edit").build()
|
||||
// ))
|
||||
// .enabled(false)
|
||||
// .changeSid(false)
|
||||
// .virtualMachineId("4")
|
||||
// .joinDomainEnabled(false)
|
||||
// .useOrgSettings(false)
|
||||
// .adminPasswordEnabled(false)
|
||||
// .adminPasswordAuto(true)
|
||||
// .resetPasswordRequired(false)
|
||||
// .type("application/vnd.vmware.vcloud.guestCustomizationSection+xml")
|
||||
// .info("Specifies Guest OS Customization Settings")
|
||||
// .computerName("ubuntu10-x86")
|
||||
// .customizationScript("ls")
|
||||
// .href(URI.create("http://vcloud.example.com/api/v1.5/vAppTemplate/vAppTemplate-12/guestCustomizationSection/"))
|
||||
// .required(false)
|
||||
// .build();
|
||||
// }
|
||||
//
|
||||
// private LeaseSettingsSection exampleLeaseSettingsSection() throws ParseException {
|
||||
// SimpleDateFormat iso8601SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US);
|
||||
// return LeaseSettingsSection.builder().type("application/vnd.vmware.vcloud.leaseSettingsSection+xml")
|
||||
// .href(URI.create("http://vcloud.example.com/api/v1.5/vAppTemplate/vAppTemplate-7/leaseSettingsSection/"))
|
||||
// .info("VApp lease settings")
|
||||
// .links(ImmutableSet.of(Link.builder().rel("edit").type("application/vnd.vmware.vcloud.leaseSettingsSection+xml")
|
||||
// .href(URI.create("http://vcloud.example.com/api/v1.5/vAppTemplate/vAppTemplate-7/leaseSettingsSection/")).build()))
|
||||
// .storageLeaseInSeconds(3600)
|
||||
// .deploymentLeaseInSeconds(3600)
|
||||
// // note adjusted to UTC
|
||||
// .deploymentLeaseExpiration(iso8601SimpleDateFormat.parse("2010-01-21T21:50:59.764"))
|
||||
// .required(false)
|
||||
// .build();
|
||||
// }
|
||||
//
|
||||
// private Metadata exampleMetadata() {
|
||||
// return Metadata.builder()
|
||||
// .href(URI.create("https://vcloudbeta.bluelock.com/api/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9/metadata"))
|
||||
// .type("application/vnd.vmware.vcloud.metadata+xml")
|
||||
// .link(Link.builder().href(URI.create("https://vcloudbeta.bluelock.com/api/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"))
|
||||
// .type("application/vnd.vmware.vcloud.vAppTemplate+xml").rel("up").build())
|
||||
// .entry(MetadataEntry.builder().key("key").value("value").build()).build();
|
||||
// }
|
||||
//
|
||||
// private MetadataValue exampleMetadataValue() {
|
||||
// return MetadataValue.builder().value("some value").build();
|
||||
// }
|
||||
//
|
||||
// private NetworkConfigSection exampleNetworkConfigSection() throws ParseException {
|
||||
//
|
||||
// FirewallService firewallService =
|
||||
// FirewallService.builder()
|
||||
// .enabled(true)
|
||||
// .firewallRules(
|
||||
// ImmutableSet.of(
|
||||
// FirewallRule.builder()
|
||||
// .isEnabled(true)
|
||||
// .description("FTP Rule")
|
||||
// .policy("allow")
|
||||
// .protocols(FirewallRuleProtocols.builder().tcp(true).build())
|
||||
// .port(21)
|
||||
// .destinationIp("10.147.115.1")
|
||||
// .build(),
|
||||
// FirewallRule.builder()
|
||||
// .isEnabled(true)
|
||||
// .description("SSH Rule")
|
||||
// .policy("allow")
|
||||
// .protocols(FirewallRuleProtocols.builder().tcp(true).build())
|
||||
// .port(22)
|
||||
// .destinationIp("10.147.115.1")
|
||||
// .build())).build();
|
||||
//
|
||||
// NatService natService = NatService.builder().enabled(true).natType("ipTranslation").policy("allowTraffic")
|
||||
// .natRules(ImmutableSet.of(NatRule.builder().oneToOneVmRule(
|
||||
// NatOneToOneVmRule.builder().mappingMode("manual").externalIpAddress("64.100.10.1").vAppScopedVmId("20ea086f-1a6a-4fb2-8e2e-23372facf7de").vmNicId(0).build()).build()
|
||||
// )).build();
|
||||
//
|
||||
// NetworkConfiguration networkConfiguration = NetworkConfiguration.builder().ipScope(
|
||||
// IpScope.builder()
|
||||
// .isInherited(false)
|
||||
// .gateway("10.147.56.253")
|
||||
// .netmask("255.255.255.0")
|
||||
// .dns1("10.147.115.1")
|
||||
// .dns2("10.147.115.2")
|
||||
// .dnsSuffix("example.com")
|
||||
// .ipRanges(IpRanges.builder().ipRange(IpRange.builder().startAddress("10.147.56.1").endAddress("10.147.56.1").build()).build())
|
||||
// .build())
|
||||
// .parentNetwork(Reference.builder().href(URI.create("http://vcloud.example.com/api/v1.0/network/54")).type("application/vnd.vmware.vcloud.network+xml").name("Internet").build())
|
||||
// .fenceMode("natRouted")
|
||||
// .features(NetworkFeatures.builder().services(ImmutableSet.of(firewallService, natService)).build())
|
||||
// .build();
|
||||
//
|
||||
// return NetworkConfigSection.builder()
|
||||
// .info("Configuration parameters for logical networks")
|
||||
// .networkConfigs(
|
||||
// ImmutableSet.of(
|
||||
// VAppNetworkConfiguration.builder()
|
||||
// .networkName("vAppNetwork")
|
||||
// .configuration(
|
||||
// networkConfiguration
|
||||
// ).build()
|
||||
// )).build();
|
||||
// }
|
||||
private Map<String,String> metadataToMap(Metadata metadata) {
|
||||
Map<String,String> result = Maps.newLinkedHashMap();
|
||||
for (MetadataEntry entry : metadata.getMetadataEntries()) {
|
||||
result.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEditVAppTemplateMetadataValue() {
|
||||
// FIXME Cleanup after ourselves..
|
||||
|
||||
String uid = ""+random.nextInt();
|
||||
String key = "mykey-"+uid;
|
||||
String val = "myval-"+uid;
|
||||
MetadataValue metadataValue = MetadataValue.builder().value(val).build();
|
||||
|
||||
final Task task = vappTemplateClient.editVAppTemplateMetadataValue(vAppTemplateURI, key, metadataValue);
|
||||
retryTaskSuccess.apply(task);
|
||||
|
||||
MetadataValue newMetadataValue = vappTemplateClient.getVAppTemplateMetadataValue(vAppTemplateURI, key);
|
||||
assertEquals(newMetadataValue.getValue(), metadataValue.getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteVAppTemplateMetadataValue() {
|
||||
// First store a value
|
||||
String key = "mykey-"+random.nextInt();
|
||||
MetadataValue metadataValue = MetadataValue.builder().value("myval").build();
|
||||
final Task task = vappTemplateClient.editVAppTemplateMetadataValue(vAppTemplateURI, key, metadataValue);
|
||||
retryTaskSuccess.apply(task);
|
||||
|
||||
final Task deletionTask = vappTemplateClient.deleteVAppTemplateMetadataValue(vAppTemplateURI, key);
|
||||
retryTaskSuccess.apply(deletionTask);
|
||||
|
||||
Metadata newMetadata = vappTemplateClient.getVAppTemplateMetadata(vAppTemplateURI);
|
||||
Map<String,String> newMetadataMap = metadataToMap(newMetadata);
|
||||
assertFalse(newMetadataMap.containsKey(key), "newMetadata="+newMetadata);
|
||||
}
|
||||
|
||||
@Test // FIXME Failing because template does not have a guest customization section to be got
|
||||
public void testEditVAppTemplateGuestCustomizationSection() {
|
||||
String domainUserName = ""+random.nextInt(Integer.MAX_VALUE);
|
||||
GuestCustomizationSection guestCustomizationSection = GuestCustomizationSection.builder()
|
||||
.info("my info")
|
||||
.domainUserName(domainUserName)
|
||||
.enabled(true)
|
||||
.build();
|
||||
|
||||
final Task task = vappTemplateClient.editVAppTemplateGuestCustomizationSection(vAppTemplateURI, guestCustomizationSection);
|
||||
retryTaskSuccess.apply(task);
|
||||
|
||||
GuestCustomizationSection newGuestCustomizationSection = vappTemplateClient.getVAppTemplateGuestCustomizationSection(vAppTemplateURI);
|
||||
assertEquals(newGuestCustomizationSection.getDomainUserName(), domainUserName);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEditVAppTemplateCustomizationSection() {
|
||||
boolean oldVal = vappTemplateClient.getVAppTemplateCustomizationSection(vAppTemplateURI).isCustomizeOnInstantiate();
|
||||
boolean newVal = !oldVal;
|
||||
|
||||
CustomizationSection customizationSection = CustomizationSection.builder()
|
||||
.info("my info")
|
||||
.customizeOnInstantiate(newVal)
|
||||
.build();
|
||||
|
||||
final Task task = vappTemplateClient.editVAppTemplateCustomizationSection(vAppTemplateURI, customizationSection);
|
||||
retryTaskSuccess.apply(task);
|
||||
|
||||
CustomizationSection newCustomizationSection = vappTemplateClient.getVAppTemplateCustomizationSection(vAppTemplateURI);
|
||||
assertEquals(newCustomizationSection.isCustomizeOnInstantiate(), newVal);
|
||||
}
|
||||
|
||||
@Test // FIXME deploymentLeaseInSeconds returned is null
|
||||
public void testEditVAppTemplateLeaseSettingsSection() throws Exception {
|
||||
// Note: use smallish number for storageLeaseInSeconds; it seems to be capped at 5184000?
|
||||
int storageLeaseInSeconds = random.nextInt(10000)+1;
|
||||
int deploymentLeaseInSeconds = random.nextInt(10000)+1;
|
||||
LeaseSettingsSection leaseSettingSection = LeaseSettingsSection.builder()
|
||||
.info("my info")
|
||||
.storageLeaseInSeconds(storageLeaseInSeconds)
|
||||
.deploymentLeaseInSeconds(deploymentLeaseInSeconds)
|
||||
.build();
|
||||
|
||||
final Task task = vappTemplateClient.editVappTemplateLeaseSettingsSection(vAppTemplateURI, leaseSettingSection);
|
||||
retryTaskSuccess.apply(task);
|
||||
|
||||
LeaseSettingsSection newLeaseSettingsSection = vappTemplateClient.getVappTemplateLeaseSettingsSection(vAppTemplateURI);
|
||||
assertEquals(newLeaseSettingsSection.getStorageLeaseInSeconds(), (Integer)storageLeaseInSeconds);
|
||||
assertEquals(newLeaseSettingsSection.getDeploymentLeaseInSeconds(), (Integer)deploymentLeaseInSeconds);
|
||||
}
|
||||
|
||||
@Test // FIXME Fails with PUT even though that agrees with docs
|
||||
public void testEditVAppTemplateNetworkConfigSection() {
|
||||
String networkName = ""+random.nextInt();
|
||||
NetworkConfiguration networkConfiguration = NetworkConfiguration.builder()
|
||||
.fenceMode("isolated")
|
||||
.build();
|
||||
VAppNetworkConfiguration vappNetworkConfiguration = VAppNetworkConfiguration.builder()
|
||||
.networkName(networkName)
|
||||
.configuration(networkConfiguration)
|
||||
.build();
|
||||
Set<VAppNetworkConfiguration> vappNetworkConfigurations = ImmutableSet.of(vappNetworkConfiguration);
|
||||
NetworkConfigSection networkConfigSection = NetworkConfigSection.builder()
|
||||
.networkConfigs(vappNetworkConfigurations)
|
||||
.build();
|
||||
|
||||
final Task task = vappTemplateClient.editVAppTemplateNetworkConfigSection(vAppTemplateURI, networkConfigSection);
|
||||
retryTaskSuccess.apply(task);
|
||||
|
||||
NetworkConfigSection newNetworkConfigSection = vappTemplateClient.getVAppTemplateNetworkConfigSection(vAppTemplateURI);
|
||||
assertEquals(newNetworkConfigSection.getNetworkConfigs().size(), 1);
|
||||
|
||||
VAppNetworkConfiguration newVAppNetworkConfig = Iterables.get(newNetworkConfigSection.getNetworkConfigs(), 0);
|
||||
assertEquals(newVAppNetworkConfig.getNetworkName(), networkName);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEditVAppTemplateNetworkConnectionSection() {
|
||||
String info = ""+random.nextInt();
|
||||
NetworkConnectionSection networkConnectionSection = NetworkConnectionSection.builder()
|
||||
.info(info)
|
||||
.build();
|
||||
|
||||
final Task task = vappTemplateClient.editVAppTemplateNetworkConnectionSection(vAppTemplateURI, networkConnectionSection);
|
||||
retryTaskSuccess.apply(task);
|
||||
|
||||
NetworkConnectionSection newNetworkConnectionSection = vappTemplateClient.getVAppTemplateNetworkConnectionSection(vAppTemplateURI);
|
||||
assertEquals(newNetworkConnectionSection.getInfo(), info);
|
||||
}
|
||||
|
||||
@Test // FIXME Need to clone a new template so have something to delete
|
||||
public void testDeleteVAppTemplate() throws Exception {
|
||||
// FIXME fix case of VappTemplate -> VAppTemplate
|
||||
String newVAppTemplateId = "something";
|
||||
URI newVAppTemplateURI = URI.create(endpoint + "/vAppTemplate/" + newVAppTemplateId);
|
||||
|
||||
final Task task = vappTemplateClient.deleteVappTemplate(newVAppTemplateURI);
|
||||
retryTaskSuccess.apply(task);
|
||||
|
||||
// TODO What is the nice way to find out if a template now exists? It's certainly not the code below!
|
||||
// But this gives an idea of what I'm trying to do.
|
||||
try {
|
||||
vappTemplateClient.getVAppTemplate(newVAppTemplateURI);
|
||||
} catch (NoSuchElementException e) {
|
||||
// success
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDisableVAppTemplateDownload() throws Exception {
|
||||
// TODO Need assertion that command had effect
|
||||
final Task task = vappTemplateClient.disableDownloadVappTemplate(vAppTemplateURI);
|
||||
retryTaskSuccess.apply(task);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEnableVAppTemplateDownload() throws Exception {
|
||||
// TODO Need assertion that command had effect
|
||||
final Task task = vappTemplateClient.enableDownloadVappTemplate(vAppTemplateURI);
|
||||
retryTaskSuccess.apply(task);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConsolidateVAppTemplate() throws Exception {
|
||||
// TODO Need assertion that command had effect
|
||||
final Task task = vappTemplateClient.consolidateVappTemplate(vAppTemplateURI);
|
||||
retryTaskSuccess.apply(task);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRelocateVAppTemplate() throws Exception {
|
||||
// TODO Need assertion that command had effect
|
||||
Reference dataStore = null; // FIXME
|
||||
RelocateParams relocateParams = RelocateParams.builder()
|
||||
.datastore(dataStore)
|
||||
.build();
|
||||
|
||||
final Task task = vappTemplateClient.relocateVappTemplate(vAppTemplateURI, relocateParams);
|
||||
retryTaskSuccess.apply(task);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue