package org.cloudifysource.dsl;
import junit.framework.Assert;
import org.cloudifysource.domain.cloud.AgentComponent;
import org.cloudifysource.domain.cloud.Cloud;
import org.cloudifysource.domain.cloud.DeployerComponent;
import org.cloudifysource.domain.cloud.DiscoveryComponent;
import org.cloudifysource.domain.cloud.GridComponents;
import org.cloudifysource.domain.cloud.OrchestratorComponent;
import org.cloudifysource.domain.cloud.RestComponent;
import org.cloudifysource.domain.cloud.UsmComponent;
import org.cloudifysource.domain.cloud.WebuiComponent;
import org.cloudifysource.dsl.internal.ServiceReader;
import org.junit.Test;
import java.io.File;
/**
* Test new component POJO def
* @author adaml
*
*/
public class CloudComponentConfigTest {
private static final String cloudFilePath = "testResources/cloud/ec2-with-component-config/ec2-cloud.groovy";
/**
* validate that all component properties were read correctly.
* @throws Exception
*/
@Test
public void testCloudParse()
throws Exception {
Cloud cloud = ServiceReader.readCloud(new File(cloudFilePath));
GridComponents components = cloud.getConfiguration().getComponents();
validateAgentValues(components.getAgent());
validateDeployerValues(components.getDeployer());
validateDiscoveryValues(components.getDiscovery());
validateOrchestratorValues(components.getOrchestrator());
validateRestValues(components.getRest());
validateWebuiValues(components.getWebui());
validateUsmValues(components.getUsm());
}
private void validateUsmValues(final UsmComponent usm) {
Assert.assertTrue("unexpected usm port range property " + usm.getPortRange(),
usm.getPortRange().equals("7000-7110"));
Assert.assertTrue("unexpected usm min memory property " + usm.getMinMemory(),
usm.getMinMemory().equals("64m"));
Assert.assertTrue("unexpected usm max memory property " + usm.getMaxMemory(),
usm.getMaxMemory().equals("1024m"));
Assert.assertTrue("unexpected usm attributes store discovery timeout property "
+ usm.getAttributesStoreDiscoveryTimeoutInSeconds(),
usm.getAttributesStoreDiscoveryTimeoutInSeconds() == 30);
}
private void validateWebuiValues(final WebuiComponent webui) {
Assert.assertTrue("unexpected webui port property " + webui.getPort(),
webui.getPort() == 8101);
Assert.assertTrue("unexpected webui min memory property " + webui.getMinMemory(),
webui.getMinMemory().equals("64m"));
Assert.assertTrue("unexpected webui max memory property " + webui.getMaxMemory(),
webui.getMaxMemory().equals("64m"));
}
private void validateRestValues(final RestComponent rest) {
Assert.assertTrue("unexpected rest port property " + rest.getPort(),
rest.getPort() == 8102);
Assert.assertTrue("unexpected rest min memory property " + rest.getMinMemory(),
rest.getMinMemory().equals("64m"));
Assert.assertTrue("unexpected rest max memory property " + rest.getMaxMemory(),
rest.getMaxMemory().equals("64m"));
Assert.assertTrue("unexpected rest serviceDiscoveryTimeoutInSeconds property "
+ rest.getServiceDiscoveryTimeoutInSeconds(),
rest.getServiceDiscoveryTimeoutInSeconds() == 5);
}
private void validateOrchestratorValues(final OrchestratorComponent orchestrator) {
Assert.assertTrue("unexpected orchestrator port property " + orchestrator.getPort(),
orchestrator.getPort() == 7779);
Assert.assertTrue("unexpected orchestrator min memory property " + orchestrator.getMinMemory(),
orchestrator.getMinMemory().equals("64m"));
Assert.assertTrue("unexpected orchestrator max memory property " + orchestrator.getMaxMemory(),
orchestrator.getMaxMemory().equals("4096m"));
Assert.assertTrue(
"unexpected orchestrator max memory property " + orchestrator.getStartMachineTimeoutInSeconds(),
orchestrator.getStartMachineTimeoutInSeconds() == 36000);
Assert.assertTrue("unexpected orchestrator max memory property "
+ orchestrator.getStopMachineTimeoutInSeconds(),
orchestrator.getStopMachineTimeoutInSeconds() == 36000);
}
private void validateDiscoveryValues(final DiscoveryComponent discovery) {
Assert.assertTrue("unexpected orchestrator discovery port property " + discovery.getDiscoveryPort(),
discovery.getDiscoveryPort() == 4174);
Assert.assertTrue("unexpected orchestrator min memory property " + discovery.getMinMemory(),
discovery.getMinMemory().equals("64m"));
Assert.assertTrue("unexpected orchestrator max memory property " + discovery.getMaxMemory(),
discovery.getMaxMemory().equals("2048m"));
Assert.assertTrue("unexpected orchestrator lrmi port property " + discovery.getPort(),
discovery.getPort() == 2222);
}
private void validateDeployerValues(final DeployerComponent deployer) {
Assert.assertTrue("unexpected deployer port property " + deployer.getPort(),
deployer.getPort() == 7776);
Assert.assertTrue("unexpected deployer port property " + deployer.getPort(),
deployer.getWebsterPort() == 8888);
Assert.assertTrue("unexpected deployer min memory property " + deployer.getMinMemory(),
deployer.getMinMemory().equals("8m"));
Assert.assertTrue("unexpected deployer max memory property " + deployer.getMaxMemory(),
deployer.getMaxMemory().equals("16m"));
}
private void validateAgentValues(final AgentComponent agent) {
Assert.assertTrue("unexpected deployer port property " + agent.getPort(),
agent.getPort() == 7777);
Assert.assertTrue("unexpected deployer min memory property " + agent.getMinMemory(),
agent.getMinMemory().equals("32m"));
Assert.assertTrue("unexpected deployer max memory property " + agent.getMaxMemory(),
agent.getMaxMemory().equals("128m"));
}
}