You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2015/08/12 13:32:37 UTC
[14/50] [abbrv] stratos git commit: Introducing stratos integration
test suite for the artifacts
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/SampleApplicationsTest.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/SampleApplicationsTest.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/SampleApplicationsTest.java
index 096dd60..7641b18 100644
--- a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/SampleApplicationsTest.java
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/SampleApplicationsTest.java
@@ -19,266 +19,78 @@
package org.apache.stratos.integration.tests;
-import org.apache.commons.exec.CommandLine;
-import org.apache.commons.exec.DefaultExecutor;
-import org.apache.commons.exec.PumpStreamHandler;
-import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.stub.pojo.ApplicationContext;
-import org.apache.stratos.common.beans.PropertyBean;
import org.apache.stratos.common.beans.application.ApplicationBean;
-import org.apache.stratos.common.beans.cartridge.CartridgeBean;
import org.apache.stratos.common.beans.cartridge.CartridgeGroupBean;
-import org.apache.stratos.common.beans.partition.NetworkPartitionBean;
-import org.apache.stratos.common.beans.policy.autoscale.AutoscalePolicyBean;
import org.apache.stratos.common.beans.policy.deployment.ApplicationPolicyBean;
-import org.apache.stratos.common.beans.policy.deployment.DeploymentPolicyBean;
-import org.apache.stratos.common.client.AutoscalerServiceClient;
-import org.apache.stratos.common.threading.StratosThreadPool;
-import org.apache.stratos.integration.tests.rest.RestClient;
-import org.apache.stratos.messaging.domain.application.*;
-import org.apache.stratos.messaging.domain.instance.ClusterInstance;
-import org.apache.stratos.messaging.domain.instance.GroupInstance;
-import org.apache.stratos.messaging.domain.topology.Cluster;
-import org.apache.stratos.messaging.domain.topology.Member;
-import org.apache.stratos.messaging.domain.topology.MemberStatus;
-import org.apache.stratos.messaging.domain.topology.Service;
-import org.apache.stratos.messaging.message.receiver.application.ApplicationManager;
-import org.apache.stratos.messaging.message.receiver.application.ApplicationsEventReceiver;
-import org.apache.stratos.messaging.message.receiver.topology.TopologyEventReceiver;
-import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
-import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.rmi.RemoteException;
-import java.util.Collection;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-
-import static junit.framework.Assert.*;
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertTrue;
/**
- * Sample application tests.
+ * Sample application tests with application add, .
*/
public class SampleApplicationsTest extends StratosTestServerManager {
+ private static final Log log = LogFactory.getLog(SampleApplicationsTest.class);
- private static final Log log = LogFactory.getLog(StratosTestServerManager.class);
-
- public static final int APPLICATION_ACTIVATION_TIMEOUT = 120000;
- public static final String APPLICATION_STATUS_CREATED = "Created";
- public static final String APPLICATION_STATUS_UNDEPLOYING = "Undeploying";
- private String endpoint = "https://localhost:9443";
-
- private ApplicationsEventReceiver applicationsEventReceiver;
- private TopologyEventReceiver topologyEventReceiver;
- private RestClient restClient;
- private AutoscalingPolicyTest autoscalingPolicyTest;
- private NetworkPartitionTest networkPartitionTest;
- private CartridgeTest cartridgeTest;
- private DeploymentPolicyTest deploymentPolicyTest;
- private CartridgeGroupTest cartridgeGroupTest;
- private ApplicationTest applicationTest;
- private ApplicationPolicyTest applicationPolicyTest;
-
-
- @BeforeClass
- public void setUp() {
- // Set jndi.properties.dir system property for initializing event receivers
- System.setProperty("jndi.properties.dir", getResourcesFolderPath());
- System.setProperty("autoscaler.service.url", "https://localhost:9443/services/AutoscalerService");
- restClient = new RestClient(endpoint, "admin", "admin");
- autoscalingPolicyTest = new AutoscalingPolicyTest();
- networkPartitionTest = new NetworkPartitionTest();
- cartridgeTest = new CartridgeTest();
- deploymentPolicyTest = new DeploymentPolicyTest();
- cartridgeGroupTest = new CartridgeGroupTest();
- applicationTest = new ApplicationTest();
- applicationPolicyTest = new ApplicationPolicyTest();
- }
-
- @Test
- public void testSingleCartridgeApplication() {
- try {
- initializeApplicationEventReceiver();
- //runApplicationTest("simple/single-cartridge-app", "single-cartridge-app");
- } catch (Exception e) {
- log.error(e);
- assertTrue("An error occurred", false);
- }
- }
-
- @Test
- public void testAutoscalingPolicy() {
- log.info("Started autoscaling policy test case**************************************");
- String policyId = "autoscaling-policy-c0";
- try {
- boolean added = autoscalingPolicyTest.addAutoscalingPolicy(policyId + ".json",
- restClient);
- assertEquals(String.format("Autoscaling policy did not added: [autoscaling-policy-id] %s", policyId), added, true);
- AutoscalePolicyBean bean = autoscalingPolicyTest.getAutoscalingPolicy(policyId,
- restClient);
- assertEquals(String.format("[autoscaling-policy-id] %s is not correct", bean.getId()),
- bean.getId(), policyId);
- assertEquals(String.format("[autoscaling-policy-id] %s RIF is not correct", policyId),
- bean.getLoadThresholds().getRequestsInFlight().getThreshold(), 35.0, 0.0);
- assertEquals(String.format("[autoscaling-policy-id] %s Memory is not correct", policyId),
- bean.getLoadThresholds().getMemoryConsumption().getThreshold(), 45.0, 0.0);
- assertEquals(String.format("[autoscaling-policy-id] %s Load is not correct", policyId),
- bean.getLoadThresholds().getLoadAverage().getThreshold(), 25.0, 0.0);
-
- boolean updated = autoscalingPolicyTest.updateAutoscalingPolicy(policyId + ".json",
- restClient);
- assertEquals(String.format("[autoscaling-policy-id] %s update failed", policyId), updated, true);
- AutoscalePolicyBean updatedBean = autoscalingPolicyTest.getAutoscalingPolicy(policyId,
- restClient);
- assertEquals(String.format("[autoscaling-policy-id] %s RIF is not correct", policyId),
- updatedBean.getLoadThresholds().getRequestsInFlight().getThreshold(), 30.0, 0.0);
- assertEquals(String.format("[autoscaling-policy-id] %s Load is not correct", policyId),
- updatedBean.getLoadThresholds().getMemoryConsumption().getThreshold(), 40.0, 0.0);
- assertEquals(String.format("[autoscaling-policy-id] %s Memory is not correct", policyId),
- updatedBean.getLoadThresholds().getLoadAverage().getThreshold(), 20.0, 0.0);
-
- boolean removed = autoscalingPolicyTest.removeAutoscalingPolicy(policyId,
- restClient);
- assertEquals(String.format("[autoscaling-policy-id] %s couldn't be removed", policyId),
- removed, true);
-
- AutoscalePolicyBean beanRemoved = autoscalingPolicyTest.getAutoscalingPolicy(policyId,
- restClient);
- assertEquals(String.format("[autoscaling-policy-id] %s didn't get removed successfully",
- policyId), beanRemoved, null);
- log.info("Ended autoscaling policy test case**************************************");
- } catch (Exception e) {
- log.error("An error occurred while handling [autoscaling policy] " + policyId, e);
- assertTrue("An error occurred while handling [autoscaling policy] " + policyId, false);
- }
- }
-
- @Test
- public void testCartridgeGroup() {
- try {
- log.info("Started Cartridge group test case**************************************");
-
- boolean addedC1 = cartridgeTest.addCartridge("c1.json", restClient);
- assertEquals(String.format("Cartridge did not added: [cartridge-name] %s", "c1"), addedC1, true);
-
- boolean addedC2 = cartridgeTest.addCartridge("c2.json", restClient);
- assertEquals(String.format("Cartridge did not added: [cartridge-name] %s", "c2"), addedC2, true);
-
- boolean addedC3 = cartridgeTest.addCartridge("c3.json", restClient);
- assertEquals(String.format("Cartridge did not added: [cartridge-name] %s", "c3"), addedC3, true);
-
- boolean added = cartridgeGroupTest.addCartridgeGroup("cartrdige-nested.json",
- restClient);
- assertEquals(String.format("Cartridge Group did not added: [cartridge-group-name] %s",
- "cartrdige-nested"), added, true);
- CartridgeGroupBean bean = cartridgeGroupTest.getCartridgeGroup("G1",
- restClient);
- assertEquals(String.format("Cartridge Group name did not match: [cartridge-group-name] %s",
- "cartrdige-nested"), bean.getName(), "G1");
-
- boolean updated = cartridgeGroupTest.updateCartridgeGroup("cartrdige-nested.json",
- restClient);
- assertEquals(String.format("Cartridge Group did not updated: [cartridge-group-name] %s",
- "cartrdige-nested"), updated, true);
- CartridgeGroupBean updatedBean = cartridgeGroupTest.getCartridgeGroup("G1",
- restClient);
- assertEquals(String.format("Updated Cartridge Group didn't match: [cartridge-group-name] %s",
- "cartrdige-nested"), updatedBean.getName(), "G1");
-
- boolean removedC1 = cartridgeTest.removeCartridge("c1",
- restClient);
- assertEquals(String.format("Cartridge can be removed while it is used in cartridge group: [cartridge-name] %s",
- "c1"), removedC1, false);
-
- boolean removedC2 = cartridgeTest.removeCartridge("c2",
- restClient);
- assertEquals(String.format("Cartridge can be removed while it is used in cartridge group: [cartridge-name] %s",
- "c2"), removedC2, false);
-
- boolean removedC3 = cartridgeTest.removeCartridge("c3",
- restClient);
- assertEquals(String.format("Cartridge can be removed while it is used in cartridge group: [cartridge-name] %s",
- "c2"), removedC3, false);
-
- boolean removed = cartridgeGroupTest.removeCartridgeGroup("G1",
- restClient);
- assertEquals(String.format("Cartridge Group did not removed: [cartridge-group-name] %s",
- "cartrdige-nested"), removed, true);
-
- CartridgeGroupBean beanRemoved = cartridgeGroupTest.getCartridgeGroup("G1",
- restClient);
- assertEquals(String.format("Cartridge Group did not removed completely: [cartridge-group-name] %s",
- "cartrdige-nested"), beanRemoved, null);
-
- removedC1 = cartridgeTest.removeCartridge("c1",
- restClient);
- assertEquals(String.format("Cartridge can not be removed : [cartridge-name] %s",
- "c1"), removedC1, true);
-
- removedC2 = cartridgeTest.removeCartridge("c2",
- restClient);
- assertEquals(String.format("Cartridge can not be removed : [cartridge-name] %s",
- "c2"), removedC2, true);
-
- removedC3 = cartridgeTest.removeCartridge("c3",
- restClient);
- assertEquals(String.format("Cartridge can not be removed : [cartridge-name] %s",
- "c3"), removedC3, true);
-
- log.info("Ended Cartridge group test case**************************************");
-
- } catch (Exception e) {
- log.error("An error occurred while handling Cartridge group test case", e);
- assertTrue("An error occurred while handling Cartridge group test case", false);
- }
- }
@Test
public void testApplication() {
log.info("Started application test case**************************************");
+ String autoscalingPolicyId = "autoscaling-policy-1";
try {
- boolean addedScalingPolicy = autoscalingPolicyTest.addAutoscalingPolicy("autoscaling-policy-1.json",
- restClient);
+ boolean addedScalingPolicy = restClient.addEntity(RestConstants.AUTOSCALING_POLICIES_PATH
+ + "/" + autoscalingPolicyId + ".json",
+ RestConstants.AUTOSCALING_POLICIES, RestConstants.AUTOSCALING_POLICIES_NAME);
assertEquals(addedScalingPolicy, true);
- boolean addedC1 = cartridgeTest.addCartridge("c1.json", restClient);
+ boolean addedC1 = restClient.addEntity(RestConstants.CARTRIDGES_PATH + "/" + "c1.json",
+ RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
assertEquals(addedC1, true);
- boolean addedC2 = cartridgeTest.addCartridge("c2.json", restClient);
+ boolean addedC2 = restClient.addEntity(RestConstants.CARTRIDGES_PATH + "/" + "c2.json",
+ RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
assertEquals(addedC2, true);
- boolean addedC3 = cartridgeTest.addCartridge("c3.json", restClient);
+ boolean addedC3 = restClient.addEntity(RestConstants.CARTRIDGES_PATH + "/" + "c3.json",
+ RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
assertEquals(addedC3, true);
- boolean addedG1 = cartridgeGroupTest.addCartridgeGroup("cartrdige-nested.json",
- restClient);
+ boolean addedG1 = restClient.addEntity(RestConstants.CARTRIDGE_GROUPS_PATH +
+ "/" + "cartrdige-nested.json", RestConstants.CARTRIDGE_GROUPS,
+ RestConstants.CARTRIDGE_GROUPS_NAME);
assertEquals(addedG1, true);
- CartridgeGroupBean beanG1 = cartridgeGroupTest.getCartridgeGroup("G1",
- restClient);
+
+ CartridgeGroupBean beanG1 = (CartridgeGroupBean) restClient.
+ getEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+ CartridgeGroupBean.class, RestConstants.CARTRIDGE_GROUPS_NAME);
assertEquals(beanG1.getName(), "G1");
- boolean addedN1 = networkPartitionTest.addNetworkPartition("network-partition-1.json",
- restClient);
+ boolean addedN1 = restClient.addEntity(RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+ "network-partition-1.json",
+ RestConstants.NETWORK_PARTITIONS, RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(addedN1, true);
- boolean addedN2 = networkPartitionTest.addNetworkPartition("network-partition-2.json",
- restClient);
+ boolean addedN2 = restClient.addEntity(RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+ "network-partition-2.json",
+ RestConstants.NETWORK_PARTITIONS, RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(addedN2, true);
- boolean addedDep = deploymentPolicyTest.addDeploymentPolicy("deployment-policy-1.json",
- restClient);
+ boolean addedDep = restClient.addEntity(RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
+ "deployment-policy-1.json",
+ RestConstants.DEPLOYMENT_POLICIES, RestConstants.DEPLOYMENT_POLICIES_NAME);
assertEquals(addedDep, true);
- boolean added = applicationTest.addApplication("g-sc-G123-1.json",
- restClient);
+ boolean added = restClient.addEntity(RestConstants.APPLICATIONS_PATH + "/" +
+ "g-sc-G123-1.json", RestConstants.APPLICATIONS,
+ RestConstants.APPLICATIONS_NAME);
assertEquals(added, true);
- ApplicationBean bean = applicationTest.getApplication("g-sc-G123-1",
- restClient);
+
+ ApplicationBean bean = (ApplicationBean) restClient.getEntity(RestConstants.APPLICATIONS,
+ "g-sc-G123-1", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
assertEquals(bean.getApplicationId(), "g-sc-G123-1");
assertEquals(bean.getComponents().getGroups().get(0).getName(), "G1");
@@ -308,12 +120,12 @@ public class SampleApplicationsTest extends StratosTestServerManager {
assertEquals(bean.getComponents().getGroups().get(0).getGroups().get(0).getGroups().get(0).getCartridges().get(0).getCartridgeMin(), 1);
assertEquals(bean.getComponents().getGroups().get(0).getGroups().get(0).getGroups().get(0).getCartridges().get(0).getCartridgeMax(), 2);
- boolean updated = applicationTest.updateApplication("g-sc-G123-1.json",
- restClient);
+ boolean updated = restClient.updateEntity(RestConstants.APPLICATIONS_PATH + "/g-sc-G123-1-v1.json",
+ RestConstants.APPLICATIONS, RestConstants.APPLICATIONS_NAME);
assertEquals(updated, true);
- ApplicationBean updatedBean = applicationTest.getApplication("g-sc-G123-1",
- restClient);
+ ApplicationBean updatedBean = (ApplicationBean) restClient.getEntity(RestConstants.APPLICATIONS,
+ "g-sc-G123-1", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
assertEquals(bean.getApplicationId(), "g-sc-G123-1");
assertEquals(updatedBean.getComponents().getGroups().get(0).getName(), "G1");
@@ -344,61 +156,62 @@ public class SampleApplicationsTest extends StratosTestServerManager {
assertEquals(updatedBean.getComponents().getGroups().get(0).getGroups().get(0).getGroups().get(0).getCartridges().get(0).getCartridgeMax(), 3);
- boolean removedGroup = cartridgeGroupTest.removeCartridgeGroup("G1",
- restClient);
+ boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+ RestConstants.CARTRIDGE_GROUPS_NAME);
assertEquals(removedGroup, false);
- boolean removedAuto = autoscalingPolicyTest.removeAutoscalingPolicy("autoscaling-policy-1",
- restClient);
+ boolean removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+ autoscalingPolicyId, RestConstants.AUTOSCALING_POLICIES_NAME);
assertEquals(removedAuto, false);
- boolean removedNet = networkPartitionTest.removeNetworkPartition("network-partition-1",
- restClient);
+ boolean removedNet = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+ "network-partition-1",
+ RestConstants.NETWORK_PARTITIONS_NAME);
//Trying to remove the used network partition
assertEquals(removedNet, false);
- boolean removedDep = deploymentPolicyTest.removeDeploymentPolicy("deployment-policy-1",
- restClient);
+ boolean removedDep = restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+ "deployment-policy-1", RestConstants.DEPLOYMENT_POLICIES_NAME);
assertEquals(removedDep, false);
- boolean removed = applicationTest.removeApplication("g-sc-G123-1",
- restClient);
+ boolean removed = restClient.removeEntity(RestConstants.APPLICATIONS, "g-sc-G123-1",
+ RestConstants.APPLICATIONS_NAME);
assertEquals(removed, true);
- ApplicationBean beanRemoved = applicationTest.getApplication("g-sc-G123-1",
- restClient);
+ ApplicationBean beanRemoved = (ApplicationBean) restClient.getEntity(RestConstants.APPLICATIONS,
+ "g-sc-G123-1", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
assertEquals(beanRemoved, null);
- removedGroup = cartridgeGroupTest.removeCartridgeGroup("G1",
- restClient);
+ removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+ RestConstants.CARTRIDGE_GROUPS_NAME);
assertEquals(removedGroup, true);
- boolean removedC1 = cartridgeTest.removeCartridge("c1",
- restClient);
+ boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, "c1",
+ RestConstants.CARTRIDGES_NAME);
assertEquals(removedC1, true);
- boolean removedC2 = cartridgeTest.removeCartridge("c2",
- restClient);
+ boolean removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, "c2",
+ RestConstants.CARTRIDGES_NAME);
assertEquals(removedC2, true);
- boolean removedC3 = cartridgeTest.removeCartridge("c3",
- restClient);
+ boolean removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, "c3",
+ RestConstants.CARTRIDGES_NAME);
assertEquals(removedC3, true);
- removedAuto = autoscalingPolicyTest.removeAutoscalingPolicy("autoscaling-policy-1",
- restClient);
+ removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+ autoscalingPolicyId, RestConstants.AUTOSCALING_POLICIES_NAME);
assertEquals(removedAuto, true);
- removedDep = deploymentPolicyTest.removeDeploymentPolicy("deployment-policy-1",
- restClient);
+ removedDep = restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+ "deployment-policy-1", RestConstants.DEPLOYMENT_POLICIES_NAME);
assertEquals(removedDep, true);
- removedNet = networkPartitionTest.removeNetworkPartition("network-partition-1",
- restClient);
+ removedNet = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+ "network-partition-1", RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(removedNet, true);
- boolean removedN2 = networkPartitionTest.removeNetworkPartition("network-partition-2",
- restClient);
+ boolean removedN2 = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+ "network-partition-2", RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(removedN2, true);
log.info("Ended application test case**************************************");
@@ -409,167 +222,194 @@ public class SampleApplicationsTest extends StratosTestServerManager {
}
}
- @Test
+ @Test(dependsOnMethods = {"testApplication"})
public void testDeployApplication() {
try {
log.info("Started application deploy/undeploy test case**************************************");
- //Initializing event Receivers
- initializeApplicationEventReceiver();
- initializeTopologyEventReceiver();
-
- //Verifying whether the relevant Topologies are initialized
- assertApplicationTopologyInitialized();
- assertTopologyInitialized();
+ String autoscalingPolicyId = "autoscaling-policy-1";
- boolean addedScalingPolicy = autoscalingPolicyTest.addAutoscalingPolicy("autoscaling-policy-1.json",
- restClient);
+ boolean addedScalingPolicy = restClient.addEntity(RestConstants.AUTOSCALING_POLICIES_PATH
+ + "/" + autoscalingPolicyId + ".json",
+ RestConstants.AUTOSCALING_POLICIES, RestConstants.AUTOSCALING_POLICIES_NAME);
assertEquals(addedScalingPolicy, true);
- boolean addedC1 = cartridgeTest.addCartridge("c1.json", restClient);
+ boolean addedC1 = restClient.addEntity(RestConstants.CARTRIDGES_PATH + "/" + "c1.json",
+ RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
assertEquals(addedC1, true);
- boolean addedC2 = cartridgeTest.addCartridge("c2.json", restClient);
+ boolean addedC2 = restClient.addEntity(RestConstants.CARTRIDGES_PATH + "/" + "c2.json",
+ RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
assertEquals(addedC2, true);
- boolean addedC3 = cartridgeTest.addCartridge("c3.json", restClient);
+ boolean addedC3 = restClient.addEntity(RestConstants.CARTRIDGES_PATH + "/" + "c3.json",
+ RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
assertEquals(addedC3, true);
- boolean addedG1 = cartridgeGroupTest.addCartridgeGroup("cartrdige-nested.json",
- restClient);
+ boolean addedG1 = restClient.addEntity(RestConstants.CARTRIDGE_GROUPS_PATH +
+ "/" + "cartrdige-nested.json", RestConstants.CARTRIDGE_GROUPS,
+ RestConstants.CARTRIDGE_GROUPS_NAME);
assertEquals(addedG1, true);
- CartridgeGroupBean beanG1 = cartridgeGroupTest.getCartridgeGroup("G1",
- restClient);
+
+ CartridgeGroupBean beanG1 = (CartridgeGroupBean) restClient.
+ getEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+ CartridgeGroupBean.class, RestConstants.CARTRIDGE_GROUPS_NAME);
assertEquals(beanG1.getName(), "G1");
- boolean addedN1 = networkPartitionTest.addNetworkPartition("network-partition-1.json",
- restClient);
+ boolean addedN1 = restClient.addEntity(RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+ "network-partition-1.json",
+ RestConstants.NETWORK_PARTITIONS, RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(addedN1, true);
- boolean addedN2 = networkPartitionTest.addNetworkPartition("network-partition-2.json",
- restClient);
+ boolean addedN2 = restClient.addEntity(RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+ "network-partition-2.json",
+ RestConstants.NETWORK_PARTITIONS, RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(addedN2, true);
- boolean addedDep = deploymentPolicyTest.addDeploymentPolicy("deployment-policy-1.json",
- restClient);
+ boolean addedDep = restClient.addEntity(RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
+ "deployment-policy-1.json",
+ RestConstants.DEPLOYMENT_POLICIES, RestConstants.DEPLOYMENT_POLICIES_NAME);
assertEquals(addedDep, true);
- boolean added = applicationTest.addApplication("g-sc-G123-1.json",
- restClient);
+ boolean added = restClient.addEntity(RestConstants.APPLICATIONS_PATH + "/" +
+ "g-sc-G123-1.json", RestConstants.APPLICATIONS,
+ RestConstants.APPLICATIONS_NAME);
assertEquals(added, true);
- ApplicationBean bean = applicationTest.getApplication("g-sc-G123-1",
- restClient);
+
+ ApplicationBean bean = (ApplicationBean) restClient.getEntity(RestConstants.APPLICATIONS,
+ "g-sc-G123-1", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
assertEquals(bean.getApplicationId(), "g-sc-G123-1");
- boolean addAppPolicy = applicationPolicyTest.addApplicationPolicy(
- "application-policy-1.json", restClient);
+ boolean addAppPolicy = restClient.addEntity(RestConstants.APPLICATION_POLICIES_PATH + "/" +
+ "application-policy-1.json", RestConstants.APPLICATION_POLICIES,
+ RestConstants.APPLICATION_POLICIES_NAME);
assertEquals(addAppPolicy, true);
- ApplicationPolicyBean policyBean = applicationPolicyTest.getApplicationPolicy(
- "application-policy-1", restClient);
+ ApplicationPolicyBean policyBean = (ApplicationPolicyBean) restClient.getEntity(
+ RestConstants.APPLICATION_POLICIES,
+ "application-policy-1", ApplicationPolicyBean.class,
+ RestConstants.APPLICATION_POLICIES_NAME);
//deploy the application
- boolean deployed = applicationTest.deployApplication(bean.getApplicationId(),
- policyBean.getId(), restClient);
+ String resourcePath = RestConstants.APPLICATIONS + "/" + "g-sc-G123-1" +
+ RestConstants.APPLICATIONS_DEPLOY + "/" + "application-policy-1";
+ boolean deployed = restClient.deployEntity(resourcePath,
+ RestConstants.APPLICATIONS_NAME);
assertEquals(deployed, true);
//Application active handling
- assertApplicationActivation(bean.getApplicationId());
+ TopologyHandler.getInstance().assertApplicationActivation(bean.getApplicationId());
//Group active handling
- assertGroupActivation(bean.getApplicationId());
+ TopologyHandler.getInstance().assertGroupActivation(bean.getApplicationId());
//Cluster active handling
- assertClusterActivation(bean.getApplicationId());
+ TopologyHandler.getInstance().assertClusterActivation(bean.getApplicationId());
//Updating application
- boolean updated = applicationTest.updateApplication("g-sc-G123-1.json",
- restClient);
+ boolean updated = restClient.updateEntity(RestConstants.APPLICATIONS_PATH + "/" +
+ "g-sc-G123-1-v1.json", RestConstants.APPLICATIONS,
+ RestConstants.APPLICATIONS_NAME);
assertEquals(updated, true);
- assertGroupInstanceCount(bean.getApplicationId(), "group3", 2);
+ TopologyHandler.getInstance().assertGroupInstanceCount(bean.getApplicationId(), "group3", 2);
- assertClusterMinMemberCount(bean.getApplicationId(), 2);
+ TopologyHandler.getInstance().assertClusterMinMemberCount(bean.getApplicationId(), 2);
- ApplicationBean updatedBean = applicationTest.getApplication("g-sc-G123-1",
- restClient);
+ ApplicationBean updatedBean = (ApplicationBean) restClient.getEntity(RestConstants.APPLICATIONS,
+ "g-sc-G123-1", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
assertEquals(updatedBean.getApplicationId(), "g-sc-G123-1");
- boolean removedGroup = cartridgeGroupTest.removeCartridgeGroup("G1",
- restClient);
+ boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+ RestConstants.CARTRIDGE_GROUPS_NAME);
assertEquals(removedGroup, false);
- boolean removedAuto = autoscalingPolicyTest.removeAutoscalingPolicy("autoscaling-policy-1",
- restClient);
+ boolean removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+ autoscalingPolicyId, RestConstants.AUTOSCALING_POLICIES_NAME);
assertEquals(removedAuto, false);
- boolean removedNet = networkPartitionTest.removeNetworkPartition("network-partition-1",
- restClient);
+ boolean removedNet = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+ "network-partition-1",
+ RestConstants.NETWORK_PARTITIONS_NAME);
//Trying to remove the used network partition
assertEquals(removedNet, false);
- boolean removedDep = deploymentPolicyTest.removeDeploymentPolicy("deployment-policy-1",
- restClient);
+ boolean removedDep = restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+ "deployment-policy-1", RestConstants.DEPLOYMENT_POLICIES_NAME);
assertEquals(removedDep, false);
//Un-deploying the application
- boolean unDeployed = applicationTest.undeployApplication("g-sc-G123-1",
- restClient);
+ String resourcePathUndeploy = RestConstants.APPLICATIONS + "/" + "g-sc-G123-1" +
+ RestConstants.APPLICATIONS_UNDEPLOY;
+
+ boolean unDeployed = restClient.undeployEntity(resourcePathUndeploy,
+ RestConstants.APPLICATIONS_NAME);
assertEquals(unDeployed, true);
- assertApplicationUndeploy("g-sc-G123-1");
+ boolean undeploy = TopologyHandler.getInstance().assertApplicationUndeploy("g-sc-G123-1");
+ if (!undeploy) {
+ //Need to forcefully undeploy the application
+ log.info("Force undeployment is going to start for the [application] " + "g-sc-G123-1");
+
+ restClient.undeployEntity(RestConstants.APPLICATIONS + "/" + "g-sc-G123-1" +
+ RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", RestConstants.APPLICATIONS);
+
+ boolean forceUndeployed = TopologyHandler.getInstance().assertApplicationUndeploy("g-sc-G123-1");
+ assertEquals(String.format("Forceful undeployment failed for the application %s",
+ "g-sc-G123-1"), forceUndeployed, true);
- boolean removed = applicationTest.removeApplication("g-sc-G123-1",
- restClient);
+ }
+
+ boolean removed = restClient.removeEntity(RestConstants.APPLICATIONS, "g-sc-G123-1",
+ RestConstants.APPLICATIONS_NAME);
assertEquals(removed, true);
- ApplicationBean beanRemoved = applicationTest.getApplication("g-sc-G123-1",
- restClient);
+ ApplicationBean beanRemoved = (ApplicationBean) restClient.getEntity(RestConstants.APPLICATIONS,
+ "g-sc-G123-1", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
assertEquals(beanRemoved, null);
- removedGroup = cartridgeGroupTest.removeCartridgeGroup("G1",
- restClient);
+ removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+ RestConstants.CARTRIDGE_GROUPS_NAME);
assertEquals(removedGroup, true);
- boolean removedC1 = cartridgeTest.removeCartridge("c1",
- restClient);
+ boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, "c1",
+ RestConstants.CARTRIDGES_NAME);
assertEquals(removedC1, true);
- boolean removedC2 = cartridgeTest.removeCartridge("c2",
- restClient);
+ boolean removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, "c2",
+ RestConstants.CARTRIDGES_NAME);
assertEquals(removedC2, true);
- boolean removedC3 = cartridgeTest.removeCartridge("c3",
- restClient);
+ boolean removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, "c3",
+ RestConstants.CARTRIDGES_NAME);
assertEquals(removedC3, true);
- removedAuto = autoscalingPolicyTest.removeAutoscalingPolicy("autoscaling-policy-1",
- restClient);
+ removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+ autoscalingPolicyId, RestConstants.AUTOSCALING_POLICIES_NAME);
assertEquals(removedAuto, true);
- removedDep = deploymentPolicyTest.removeDeploymentPolicy("deployment-policy-1",
- restClient);
+ removedDep = restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+ "deployment-policy-1", RestConstants.DEPLOYMENT_POLICIES_NAME);
assertEquals(removedDep, true);
- //Remove network partition used by application policy
- removedNet = networkPartitionTest.removeNetworkPartition("network-partition-1",
- restClient);
+ removedNet = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+ "network-partition-1", RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(removedNet, false);
- boolean removedN2 = networkPartitionTest.removeNetworkPartition("network-partition-2",
- restClient);
+ boolean removedN2 = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+ "network-partition-2", RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(removedN2, false);
- boolean removeAppPolicy = applicationPolicyTest.removeApplicationPolicy("application-policy-1",
- restClient);
+ boolean removeAppPolicy = restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
+ "application-policy-1", RestConstants.APPLICATION_POLICIES_NAME);
assertEquals(removeAppPolicy, true);
- removedNet = networkPartitionTest.removeNetworkPartition("network-partition-1",
- restClient);
+ removedNet = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+ "network-partition-1", RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(removedNet, true);
- removedN2 = networkPartitionTest.removeNetworkPartition("network-partition-2",
- restClient);
+ removedN2 = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+ "network-partition-2", RestConstants.NETWORK_PARTITIONS_NAME);
assertEquals(removedN2, true);
log.info("Ended application deploy/undeploy test case**************************************");
@@ -580,604 +420,5 @@ public class SampleApplicationsTest extends StratosTestServerManager {
}
}
- @Test
- public void testNetworkPartition() {
- try {
- log.info("Started network partition test case**************************************");
-
- boolean added = networkPartitionTest.addNetworkPartition("network-partition-1.json",
- restClient);
- assertEquals(added, true);
- NetworkPartitionBean bean = networkPartitionTest.getNetworkPartition("network-partition-1",
- restClient);
- assertEquals(bean.getId(), "network-partition-1");
- assertEquals(bean.getPartitions().size(), 1);
- assertEquals(bean.getPartitions().get(0).getId(), "partition-1");
- assertEquals(bean.getPartitions().get(0).getProperty().get(0).getName(), "region");
- assertEquals(bean.getPartitions().get(0).getProperty().get(0).getValue(), "default");
-
- boolean updated = networkPartitionTest.updateNetworkPartition("network-partition-1.json",
- restClient);
- assertEquals(updated, true);
- NetworkPartitionBean updatedBean = networkPartitionTest.getNetworkPartition("network-partition-1",
- restClient);
- assertEquals(updatedBean.getId(), "network-partition-1");
- assertEquals(updatedBean.getPartitions().size(), 2);
- assertEquals(updatedBean.getPartitions().get(1).getId(), "partition-2");
- assertEquals(updatedBean.getPartitions().get(1).getProperty().get(0).getName(), "region");
- assertEquals(updatedBean.getPartitions().get(1).getProperty().get(0).getValue(), "default1");
- assertEquals(updatedBean.getPartitions().get(1).getProperty().get(1).getName(), "zone");
- assertEquals(updatedBean.getPartitions().get(1).getProperty().get(1).getValue(), "z1");
-
- boolean removed = networkPartitionTest.removeNetworkPartition("network-partition-1",
- restClient);
- assertEquals(removed, true);
-
- NetworkPartitionBean beanRemoved = networkPartitionTest.getNetworkPartition("network-partition-1",
- restClient);
- assertEquals(beanRemoved, null);
-
- log.info("Ended network partition test case**************************************");
- } catch (Exception e) {
- log.error("An error occurred while handling network partitions",e);
- assertTrue("An error occurred while handling network partitions", false);
- }
- }
-
- @Test
- public void testDeploymentPolicy() {
- try {
- log.info("Started deployment policy test case**************************************");
-
- boolean addedN1 = networkPartitionTest.addNetworkPartition("network-partition-1.json",
- restClient);
- assertEquals(addedN1, true);
-
- boolean addedN2 = networkPartitionTest.addNetworkPartition("network-partition-2.json",
- restClient);
- assertEquals(addedN2, true);
-
- boolean addedDep = deploymentPolicyTest.addDeploymentPolicy("deployment-policy-1.json",
- restClient);
- assertEquals(addedDep, true);
-
- DeploymentPolicyBean bean = deploymentPolicyTest.getDeploymentPolicy(
- "deployment-policy-1", restClient);
- assertEquals(bean.getId(), "deployment-policy-1");
- assertEquals(bean.getNetworkPartitions().size(), 2);
- assertEquals(bean.getNetworkPartitions().get(0).getId(), "network-partition-1");
- assertEquals(bean.getNetworkPartitions().get(0).getPartitionAlgo(), "one-after-another");
- assertEquals(bean.getNetworkPartitions().get(0).getPartitions().size(), 1);
- assertEquals(bean.getNetworkPartitions().get(0).getPartitions().get(0).getId(), "partition-1");
- assertEquals(bean.getNetworkPartitions().get(0).getPartitions().get(0).getPartitionMax(), 20);
-
- assertEquals(bean.getNetworkPartitions().get(1).getId(), "network-partition-2");
- assertEquals(bean.getNetworkPartitions().get(1).getPartitionAlgo(), "round-robin");
- assertEquals(bean.getNetworkPartitions().get(1).getPartitions().size(), 2);
- assertEquals(bean.getNetworkPartitions().get(1).getPartitions().get(0).getId(),
- "network-partition-2-partition-1");
- assertEquals(bean.getNetworkPartitions().get(1).getPartitions().get(0).getPartitionMax(), 10);
- assertEquals(bean.getNetworkPartitions().get(1).getPartitions().get(1).getId(),
- "network-partition-2-partition-2");
- assertEquals(bean.getNetworkPartitions().get(1).getPartitions().get(1).getPartitionMax(), 9);
-
- //update network partition
- boolean updated = networkPartitionTest.updateNetworkPartition("network-partition-1.json",
- restClient);
- assertEquals(updated, true);
-
- //update deployment policy with new partition and max values
- boolean updatedDep = deploymentPolicyTest.updateDeploymentPolicy("deployment-policy-1.json",
- restClient);
- assertEquals(updatedDep, true);
-
- DeploymentPolicyBean updatedBean = deploymentPolicyTest.getDeploymentPolicy(
- "deployment-policy-1", restClient);
- assertEquals(updatedBean.getId(), "deployment-policy-1");
- assertEquals(updatedBean.getNetworkPartitions().size(), 2);
- assertEquals(updatedBean.getNetworkPartitions().get(0).getId(), "network-partition-1");
- assertEquals(updatedBean.getNetworkPartitions().get(0).getPartitionAlgo(), "one-after-another");
- assertEquals(updatedBean.getNetworkPartitions().get(0).getPartitions().size(), 2);
- assertEquals(updatedBean.getNetworkPartitions().get(0).getPartitions().get(0).getId(), "partition-1");
- assertEquals(updatedBean.getNetworkPartitions().get(0).getPartitions().get(0).getPartitionMax(), 25);
- assertEquals(updatedBean.getNetworkPartitions().get(0).getPartitions().get(1).getId(), "partition-2");
- assertEquals(updatedBean.getNetworkPartitions().get(0).getPartitions().get(1).getPartitionMax(), 20);
-
- assertEquals(updatedBean.getNetworkPartitions().get(1).getId(), "network-partition-2");
- assertEquals(updatedBean.getNetworkPartitions().get(1).getPartitionAlgo(), "round-robin");
- assertEquals(updatedBean.getNetworkPartitions().get(1).getPartitions().size(), 2);
- assertEquals(updatedBean.getNetworkPartitions().get(1).getPartitions().get(0).getId(),
- "network-partition-2-partition-1");
- assertEquals(updatedBean.getNetworkPartitions().get(1).getPartitions().get(0).getPartitionMax(), 15);
- assertEquals(updatedBean.getNetworkPartitions().get(1).getPartitions().get(1).getId(),
- "network-partition-2-partition-2");
- assertEquals(updatedBean.getNetworkPartitions().get(1).getPartitions().get(1).getPartitionMax(), 5);
-
- boolean removedNet = networkPartitionTest.removeNetworkPartition("network-partition-1",
- restClient);
- //Trying to remove the used network partition
- assertEquals(removedNet, false);
-
- boolean removedDep = deploymentPolicyTest.removeDeploymentPolicy("deployment-policy-1",
- restClient);
- assertEquals(removedDep, true);
-
- DeploymentPolicyBean beanRemovedDep = deploymentPolicyTest.getDeploymentPolicy("deployment-policy-1",
- restClient);
- assertEquals(beanRemovedDep, null);
-
- boolean removedN1 = networkPartitionTest.removeNetworkPartition("network-partition-1",
- restClient);
- assertEquals(removedN1, true);
-
- NetworkPartitionBean beanRemovedN1 = networkPartitionTest.getNetworkPartition("network-partition-1",
- restClient);
- assertEquals(beanRemovedN1, null);
-
- boolean removedN2 = networkPartitionTest.removeNetworkPartition("network-partition-2",
- restClient);
- assertEquals(removedN2, true);
-
- NetworkPartitionBean beanRemovedN2 = networkPartitionTest.getNetworkPartition("network-partition-2",
- restClient);
- assertEquals(beanRemovedN2, null);
-
- log.info("Ended deployment policy test case**************************************");
-
- } catch (Exception e) {
- log.error("An error occurred while handling deployment policy", e);
- assertTrue("An error occurred while handling deployment policy", false);
- }
- }
-
- @Test
- public void testCartridge() {
- log.info("Started Cartridge test case**************************************");
-
- try {
- boolean added = cartridgeTest.addCartridge("c0.json", restClient);
- assertEquals(added, true);
- CartridgeBean bean = cartridgeTest.getCartridge("c0", restClient);
- assertEquals(bean.getType(), "c0");
- assertEquals(bean.getCategory(), "Application");
- assertEquals(bean.getHost(), "qmog.cisco.com");
- for (PropertyBean property : bean.getProperty()) {
- if (property.getName().equals("payload_parameter.CEP_IP")) {
- assertEquals(property.getValue(), "octl.qmog.cisco.com");
- } else if (property.getName().equals("payload_parameter.CEP_ADMIN_PASSWORD")) {
- assertEquals(property.getValue(), "admin");
- } else if (property.getName().equals("payload_parameter.MONITORING_SERVER_IP")) {
- assertEquals(property.getValue(), "octl.qmog.cisco.com");
- } else if (property.getName().equals("payload_parameter.QTCM_NETWORK_COUNT")) {
- assertEquals(property.getValue(), "1");
- } else if (property.getName().equals("payload_parameter.MONITORING_SERVER_ADMIN_PASSWORD")) {
- assertEquals(property.getValue(), "admin");
- } else if (property.getName().equals("payload_parameter.QTCM_DNS_SEGMENT")) {
- assertEquals(property.getValue(), "test");
- } else if (property.getName().equals("payload_parameter.MONITORING_SERVER_SECURE_PORT")) {
- assertEquals(property.getValue(), "7711");
- } else if (property.getName().equals("payload_parameter.MONITORING_SERVER_PORT")) {
- assertEquals(property.getValue(), "7611");
- } else if (property.getName().equals("payload_parameter.CEP_PORT")) {
- assertEquals(property.getValue(), "7611");
- } else if (property.getName().equals("payload_parameter.MB_PORT")) {
- assertEquals(property.getValue(), "61616");
- }
- }
-
- boolean updated = cartridgeTest.updateCartridge("c0.json",
- restClient);
- assertEquals(updated, true);
- CartridgeBean updatedBean = cartridgeTest.getCartridge("c0",
- restClient);
- assertEquals(updatedBean.getType(), "c0");
- assertEquals(updatedBean.getCategory(), "Data");
- assertEquals(updatedBean.getHost(), "qmog.cisco.com12");
- for (PropertyBean property : updatedBean.getProperty()) {
- if (property.getName().equals("payload_parameter.CEP_IP")) {
- assertEquals(property.getValue(), "octl.qmog.cisco.com123");
- } else if (property.getName().equals("payload_parameter.CEP_ADMIN_PASSWORD")) {
- assertEquals(property.getValue(), "admin123");
- } else if (property.getName().equals("payload_parameter.MONITORING_SERVER_IP")) {
- assertEquals(property.getValue(), "octl.qmog.cisco.com123");
- } else if (property.getName().equals("payload_parameter.QTCM_NETWORK_COUNT")) {
- assertEquals(property.getValue(), "3");
- } else if (property.getName().equals("payload_parameter.MONITORING_SERVER_ADMIN_PASSWORD")) {
- assertEquals(property.getValue(), "admin123");
- } else if (property.getName().equals("payload_parameter.QTCM_DNS_SEGMENT")) {
- assertEquals(property.getValue(), "test123");
- } else if (property.getName().equals("payload_parameter.MONITORING_SERVER_SECURE_PORT")) {
- assertEquals(property.getValue(), "7712");
- } else if (property.getName().equals("payload_parameter.MONITORING_SERVER_PORT")) {
- assertEquals(property.getValue(), "7612");
- } else if (property.getName().equals("payload_parameter.CEP_PORT")) {
- assertEquals(property.getValue(), "7612");
- } else if (property.getName().equals("payload_parameter.MB_PORT")) {
- assertEquals(property.getValue(), "61617");
- }
- }
-
- boolean removed = cartridgeTest.removeCartridge("c0",
- restClient);
- assertEquals(removed, true);
-
- CartridgeBean beanRemoved = cartridgeTest.getCartridge("c0",
- restClient);
- assertEquals(beanRemoved, null);
-
- log.info("Ended Cartridge test case**************************************");
- } catch (Exception e) {
- log.error("An error occurred while handling cartridges", e);
- assertTrue("An error occurred while handling cartridges", false);
- }
- }
-
-
- private void runApplicationTest(String applicationId) {
- runApplicationTest(applicationId, applicationId);
- }
-
- private void runApplicationTest(String applicationFolderName, String applicationId) {
- executeCommand(getApplicationsPath() + "/" + applicationFolderName + "/scripts/mock/deploy.sh");
- assertApplicationActivation(applicationId);
- executeCommand(getApplicationsPath() + "/" + applicationFolderName + "/scripts/mock/undeploy.sh");
- assertApplicationNotExists(applicationId);
- }
-
- /**
- * Initialize application event receiver
- */
- private void initializeApplicationEventReceiver() {
- if (applicationsEventReceiver == null) {
- applicationsEventReceiver = new ApplicationsEventReceiver();
- ExecutorService executorService = StratosThreadPool.getExecutorService("STRATOS_TEST_SERVER", 1);
- applicationsEventReceiver.setExecutorService(executorService);
- applicationsEventReceiver.execute();
- }
- }
-
- /**
- * Initialize Topology event receiver
- */
- private void initializeTopologyEventReceiver() {
- if (topologyEventReceiver == null) {
- topologyEventReceiver = new TopologyEventReceiver();
- ExecutorService executorService = StratosThreadPool.getExecutorService("STRATOS_TEST_SERVER1", 1);
- topologyEventReceiver.setExecutorService(executorService);
- topologyEventReceiver.execute();
- }
- }
-
- /**
- * Execute shell command
- *
- * @param commandText
- */
- private void executeCommand(String commandText) {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- try {
- CommandLine commandline = CommandLine.parse(commandText);
- DefaultExecutor exec = new DefaultExecutor();
- PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream);
- exec.setStreamHandler(streamHandler);
- exec.execute(commandline);
- log.info(outputStream.toString());
- } catch (Exception e) {
- log.error(outputStream.toString(), e);
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Assert application Topology initialization
- *
- */
- private void assertApplicationTopologyInitialized() {
- long startTime = System.currentTimeMillis();
- boolean applicationTopologyInitialized = ApplicationManager.getApplications().isInitialized();
- while (!applicationTopologyInitialized) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- applicationTopologyInitialized = ApplicationManager.getApplications().isInitialized();
- if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
- break;
- }
- }
- assertEquals(String.format("Application Topology didn't get initialized "), applicationTopologyInitialized, true);
- }
-
- /**
- * Assert Topology initialization
- *
- */
- private void assertTopologyInitialized() {
- long startTime = System.currentTimeMillis();
- boolean topologyInitialized = TopologyManager.getTopology().isInitialized();
- while (!topologyInitialized) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- topologyInitialized = TopologyManager.getTopology().isInitialized();
- if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
- break;
- }
- }
- assertEquals(String.format("Topology didn't get initialized "), topologyInitialized, true);
- }
-
- /**
- * Assert application activation
- *
- * @param applicationName
- */
- private void assertApplicationActivation(String applicationName) {
- long startTime = System.currentTimeMillis();
- Application application = ApplicationManager.getApplications().getApplication(applicationName);
- while (!((application != null) && (application.getStatus() == ApplicationStatus.Active))) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- application = ApplicationManager.getApplications().getApplication(applicationName);
- if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
- break;
- }
- }
- assertNotNull(String.format("Application is not found: [application-id] %s", applicationName), application);
- assertEquals(String.format("Application status did not change to active: [application-id] %s", applicationName),
- ApplicationStatus.Active, application.getStatus());
- }
-
- /**
- * Assert application activation
- *
- * @param applicationName
- */
- private void assertGroupActivation(String applicationName) {
- Application application = ApplicationManager.getApplications().getApplication(applicationName);
- assertNotNull(String.format("Application is not found: [application-id] %s",
- applicationName), application);
-
- Collection<Group> groups = application.getAllGroupsRecursively();
- for (Group group : groups) {
- assertEquals(group.getInstanceContextCount() >= group.getGroupMinInstances(), true);
- }
- }
-
- /**
- * Assert application activation
- *
- * @param applicationName
- */
- private void assertClusterActivation(String applicationName) {
- Application application = ApplicationManager.getApplications().getApplication(applicationName);
- assertNotNull(String.format("Application is not found: [application-id] %s",
- applicationName), application);
-
- Set<ClusterDataHolder> clusterDataHolderSet = application.getClusterDataRecursively();
- for (ClusterDataHolder clusterDataHolder : clusterDataHolderSet) {
- String serviceName = clusterDataHolder.getServiceType();
- String clusterId = clusterDataHolder.getClusterId();
- Service service = TopologyManager.getTopology().getService(serviceName);
- assertNotNull(String.format("Service is not found: [application-id] %s [service] %s",
- applicationName, serviceName), service);
-
- Cluster cluster = service.getCluster(clusterId);
- assertNotNull(String.format("Cluster is not found: [application-id] %s [service] %s [cluster-id] %s",
- applicationName, serviceName, clusterId), cluster);
- boolean clusterActive = false;
-
- for (ClusterInstance instance : cluster.getInstanceIdToInstanceContextMap().values()) {
- int activeInstances = 0;
- for (Member member : cluster.getMembers()) {
- if (member.getClusterInstanceId().equals(instance.getInstanceId())) {
- if (member.getStatus().equals(MemberStatus.Active)) {
- activeInstances++;
- }
- }
- }
- clusterActive = activeInstances >= clusterDataHolder.getMinInstances();
-
- if (!clusterActive) {
- break;
- }
- }
- assertEquals(String.format("Cluster status did not change to active: [cluster-id] %s", clusterId),
- clusterActive, true);
- }
-
- }
-
- private void assertClusterMinMemberCount(String applicationName, int minMembers) {
- long startTime = System.currentTimeMillis();
-
- Application application = ApplicationManager.getApplications().getApplication(applicationName);
- assertNotNull(String.format("Application is not found: [application-id] %s",
- applicationName), application);
-
- Set<ClusterDataHolder> clusterDataHolderSet = application.getClusterDataRecursively();
- for (ClusterDataHolder clusterDataHolder : clusterDataHolderSet) {
- String serviceName = clusterDataHolder.getServiceType();
- String clusterId = clusterDataHolder.getClusterId();
- Service service = TopologyManager.getTopology().getService(serviceName);
- assertNotNull(String.format("Service is not found: [application-id] %s [service] %s",
- applicationName, serviceName), service);
-
- Cluster cluster = service.getCluster(clusterId);
- assertNotNull(String.format("Cluster is not found: [application-id] %s [service] %s [cluster-id] %s",
- applicationName, serviceName, clusterId), cluster);
- boolean clusterActive = false;
-
- for (ClusterInstance instance : cluster.getInstanceIdToInstanceContextMap().values()) {
- int activeInstances = 0;
- for (Member member : cluster.getMembers()) {
- if (member.getClusterInstanceId().equals(instance.getInstanceId())) {
- if (member.getStatus().equals(MemberStatus.Active)) {
- activeInstances++;
- }
- }
- }
- clusterActive = activeInstances >= minMembers;
-
- while (!clusterActive) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- service = TopologyManager.getTopology().getService(serviceName);
- assertNotNull(String.format("Service is not found: [application-id] %s [service] %s",
- applicationName, serviceName), service);
-
- cluster = service.getCluster(clusterId);
- activeInstances = 0;
- for (Member member : cluster.getMembers()) {
- if (member.getClusterInstanceId().equals(instance.getInstanceId())) {
- if (member.getStatus().equals(MemberStatus.Active)) {
- activeInstances++;
- }
- }
- }
- clusterActive = activeInstances >= minMembers;
- assertNotNull(String.format("Cluster is not found: [application-id] %s [service] %s [cluster-id] %s",
- applicationName, serviceName, clusterId), cluster);
-
- if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
- break;
- }
- }
- }
- assertEquals(String.format("Cluster status did not change to active: [cluster-id] %s", clusterId),
- clusterActive, true);
- }
-
- }
-
-
- /**
- * Assert application activation
- *
- * @param applicationName
- */
- private void assertApplicationUndeploy(String applicationName) {
- long startTime = System.currentTimeMillis();
- Application application = ApplicationManager.getApplications().getApplication(applicationName);
- ApplicationContext applicationContext = null;
- try {
- applicationContext = AutoscalerServiceClient.getInstance().getApplication(applicationName);
- } catch (RemoteException e) {
- log.error("Error while getting the application context for [application] " + applicationName);
- }
- while (((application != null) && application.getInstanceContextCount() > 0) ||
- (applicationContext == null || applicationContext.getStatus().equals(APPLICATION_STATUS_UNDEPLOYING))) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- application = ApplicationManager.getApplications().getApplication(applicationName);
- try {
- applicationContext = AutoscalerServiceClient.getInstance().getApplication(applicationName);
- } catch (RemoteException e) {
- log.error("Error while getting the application context for [application] " + applicationName);
- }
- if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
- break;
- }
- }
-
- assertNotNull(String.format("Application is not found: [application-id] %s",
- applicationName), application);
- assertNotNull(String.format("Application Context is not found: [application-id] %s",
- applicationName), applicationContext);
-
- //Force undeployment after the graceful deployment
- if (application.getInstanceContextCount() > 0 ||
- applicationContext.getStatus().equals(APPLICATION_STATUS_UNDEPLOYING)) {
- log.info("Force undeployment is going to start for the [application] " + applicationName);
-
- applicationTest.forceUndeployApplication(applicationName, restClient);
- while (application.getInstanceContextCount() > 0 ||
- applicationContext.getStatus().equals(APPLICATION_STATUS_UNDEPLOYING)) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- application = ApplicationManager.getApplications().getApplication(applicationName);
- if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
- break;
- }
- }
- }
- assertEquals(String.format("Application status did not change to Created: [application-id] %s", applicationName),
- APPLICATION_STATUS_CREATED, applicationContext.getStatus());
-
- }
-
- /**
- * Assert application activation
- *
- * @param applicationName
- */
- private void assertGroupInstanceCount(String applicationName, String groupAlias, int count) {
- long startTime = System.currentTimeMillis();
- Application application = ApplicationManager.getApplications().getApplication(applicationName);
- if (application != null) {
- Group group = application.getGroupRecursively(groupAlias);
- while (group.getInstanceContextCount() != count) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
- break;
- }
- }
- for (GroupInstance instance : group.getInstanceIdToInstanceContextMap().values()) {
- while (!instance.getStatus().equals(GroupStatus.Active)) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
- break;
- }
- }
- }
- assertEquals(String.format("Application status did not change to active: [application-id] %s", applicationName),
- group.getInstanceContextCount(), count);
- }
- assertNotNull(String.format("Application is not found: [application-id] %s", applicationName), application);
-
- }
-
- private void assertApplicationNotExists(String applicationName) {
- Application application = ApplicationManager.getApplications().getApplication(applicationName);
- assertNull(String.format("Application is found in the topology : [application-id] %s", applicationName), application);
- }
-
- /**
- * Get applications folder path
- *
- * @return
- */
- private String getApplicationsPath() {
- return getResourcesFolderPath() + "/../../../../../../samples/applications";
- }
-
- /**
- * Get resources folder path
- *
- * @return
- */
- private String getResourcesFolderPath() {
- String path = getClass().getResource("/").getPath();
- return StringUtils.removeEnd(path, File.separator);
- }
-
- private String getArtifactsPath() {
- return getResourcesFolderPath() + "/../../src/test/resources";
- }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java
index 020ce41..5453bbd 100755
--- a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java
@@ -26,6 +26,9 @@ import org.apache.commons.logging.LogFactory;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.stratos.common.test.TestLogAppender;
+import org.apache.stratos.integration.tests.rest.RestClient;
+import org.apache.stratos.messaging.message.receiver.application.ApplicationsEventReceiver;
+import org.apache.stratos.messaging.message.receiver.topology.TopologyEventReceiver;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.wso2.carbon.integration.framework.TestServerManager;
@@ -53,6 +56,8 @@ public class StratosTestServerManager extends TestServerManager {
private static final String MOCK_IAAS_XML_FILE = "mock-iaas.xml";
private static final String JNDI_PROPERTIES_FILE = "jndi.properties";
private static final String JMS_OUTPUT_ADAPTER_FILE = "JMSOutputAdaptor.xml";
+ protected RestClient restClient;
+ private String endpoint = "https://localhost:9443";
private BrokerService broker = new BrokerService();
private TestLogAppender testLogAppender = new TestLogAppender();
@@ -62,6 +67,7 @@ public class StratosTestServerManager extends TestServerManager {
public StratosTestServerManager() {
super(CARBON_ZIP, PORT_OFFSET);
serverUtils = new ServerUtils();
+ restClient = new RestClient(endpoint, "admin", "admin");
}
@Override