package org.cloudifysource.esc.driver.provisioning; import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.LinkedHashMap; import org.cloudifysource.domain.cloud.Cloud; import org.cloudifysource.domain.cloud.CloudProvider; import org.cloudifysource.domain.cloud.FileTransferModes; import org.cloudifysource.domain.cloud.RemoteExecutionModes; import org.cloudifysource.domain.cloud.compute.ComputeTemplate; import org.cloudifysource.esc.util.InstallationDetailsBuilder; import org.junit.Assert; import org.junit.Test; public class ProvisioningContextImplTest { private static final String HTTP_JAVA_URL = "http://java.url"; private static final String TEMPLATE_NAME = "default"; @Test public void testJavaExist() throws FileNotFoundException { Cloud cloud = new Cloud(); cloud.setProvider(new CloudProvider()); cloud.getProvider().setManagementOnlyFiles(new ArrayList<String>()); ComputeTemplate template = new ComputeTemplate(); template.setJavaUrl(HTTP_JAVA_URL); cloud.getConfiguration().setManagementMachineTemplate(TEMPLATE_NAME); cloud.getCloudCompute().setTemplates(new LinkedHashMap<String, ComputeTemplate>()); cloud.getCloudCompute().getTemplates().put(TEMPLATE_NAME, template); cloud.getConfiguration().getComponents().getRest().setPort(8100); cloud.getConfiguration().getComponents().getWebui().setPort(8099); cloud.getConfiguration().getComponents().getDiscovery().setDiscoveryPort(4172); final ProvisioningContextImpl ctx = new ProvisioningContextImpl(); ctx.setLocationId(null); InstallationDetailsBuilder builder = ctx.getInstallationDetailsBuilder(); builder.setReservationId(null); builder.setAdmin(null); builder.setAuthGroups(null); builder.setCloud(cloud); builder.setCloudFile(new File("some-cloud.groovy")); builder.setKeystorePassword(null); builder.setLookupLocators(null); builder.setManagement(true); builder.setRebootstrapping(false); builder.setReservationId(null); builder.setSecurityProfile(""); builder.setTemplate(cloud.getCloudCompute().getTemplates() .get(cloud.getConfiguration().getManagementMachineTemplate())); builder.setTemplateName(cloud.getConfiguration().getManagementMachineTemplate()); builder.setZones(new HashSet<String>(Arrays.asList("management"))); MachineDetails md = new MachineDetails(); md.setAgentRunning(true); md.setFileTransferMode(FileTransferModes.SFTP); md.setPrivateAddress("10.10.10.10"); md.setPublicAddress("20.20.20.20"); md.setRemoteExecutionMode(RemoteExecutionModes.SSH); final MachineDetails[] mds = new MachineDetails[] {md}; final String[] results = ctx.createManagementEnvironmentScript(mds, template); Assert.assertEquals(1, results.length); final String result = results[0]; System.out.println(result); Assert.assertTrue("java url not found", result.contains(HTTP_JAVA_URL)); } }