*/
@Test(groups = "unit")
public class VAppTemplateHandlerTest {
public void testUbuntuTemplate() {
VAppTemplate result = parseTemplate();
assertEquals(result.getName(), "Ubuntu Template");
assertEquals(result.getHref(), URI
.create("https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/vappTemplate-1201908921"));
assertEquals(result.getType(), "application/vnd.vmware.vcloud.vAppTemplate+xml");
assertEquals(result.getStatus(), Status.OFF);
assertEquals(result.getVDC(), new ReferenceTypeImpl(null, VCloudMediaType.VDC_XML, URI
.create("https://vcenterprise.bluelock.com/api/v1.0/vdc/1014839439")));
assertEquals(result.getDescription(), null);
assertEquals(result.getTasks(), ImmutableList.of());
assertEquals(result.getVAppScopedLocalId(), null);
assert result.isOvfDescriptorUploaded();
Vm vm = Iterables.getOnlyElement(result.getChildren());
assertEquals(vm.getName(), "Ubuntu1004");
assertEquals(vm.getHref(), URI.create("https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/vm-172837194"));
// NOTE this is vAppTemplate not VM!
assertEquals(vm.getType(), "application/vnd.vmware.vcloud.vAppTemplate+xml");
assertEquals(vm.getStatus(), null);
assertEquals(vm.getParent(), new ReferenceTypeImpl(null, VCloudMediaType.VAPPTEMPLATE_XML, URI
.create("https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/vappTemplate-1201908921")));
assertEquals(vm.getDescription(), null);
assertEquals(vm.getTasks(), ImmutableList.of());
assertEquals(vm.getVAppScopedLocalId(), "02_ubuntu_template");
GuestCustomizationSection guestC = vm.getGuestCustomizationSection();
assertEquals(guestC.getType(), VCloudMediaType.GUESTCUSTOMIZATIONSECTION_XML);
assertEquals(
guestC.getHref(),
URI
.create("https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/vm-172837194/guestCustomizationSection/"));
assertEquals(guestC.getInfo(), "Specifies Guest OS Customization Settings");
assertEquals(guestC.isEnabled(), Boolean.TRUE);
assertEquals(guestC.shouldChangeSid(), Boolean.FALSE);
assertEquals(guestC.getVirtualMachineId(), "172837194");
assertEquals(guestC.isJoinDomainEnabled(), Boolean.FALSE);
assertEquals(guestC.useOrgSettings(), Boolean.FALSE);
assertEquals(guestC.getDomainName(), null);
assertEquals(guestC.getDomainUserName(), null);
assertEquals(guestC.getDomainUserPassword(), null);
assertEquals(guestC.isAdminPasswordEnabled(), Boolean.TRUE);
assertEquals(guestC.isAdminPasswordAuto(), Boolean.TRUE);
assertEquals(guestC.getAdminPassword(), "%3eD%gmF");
assertEquals(guestC.isResetPasswordRequired(), Boolean.FALSE);
assertEquals(
guestC.getCustomizationScript(),
"#!/bin/bash if [ \"$1\" = \"postcustomization\" ]; then echo \"post customization\" touch /root/.postcustomization sleep 30 #regenerate keys /bin/rm /etc/ssh/ssh_host_* /usr/sbin/dpkg-reconfigure openssh-server echo \"completed\" fi");
assertEquals(guestC.getComputerName(), "Ubuntu1004");
assertEquals(guestC.getEdit(), null);
VCloudNetworkSection network = result.getNetworkSection();
assertEquals(
network.getHref(),
URI
.create("https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/vappTemplate-1201908921/networkSection/"));
assertEquals(network.getType(), VCloudMediaType.NETWORKSECTION_XML);