http://git-wip-us.apache.org/repos/asf/stratos/blob/1afe6ae4/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
index 3cc4ebd..475ddd4 100644
--- 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
+++ 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
@@ -26,6 +26,7 @@ import 
org.apache.stratos.common.beans.policy.deployment.ApplicationPolicyBean;
 import org.apache.stratos.integration.tests.RestConstants;
 import org.apache.stratos.integration.tests.StratosTestServerManager;
 import org.apache.stratos.integration.tests.TopologyHandler;
+import org.apache.stratos.messaging.domain.application.Application;
 import org.apache.stratos.messaging.domain.application.ApplicationStatus;
 import org.testng.annotations.Test;
 
@@ -41,7 +42,7 @@ import static junit.framework.Assert.*;
 public class GroupTerminationBehaviorTest extends StratosTestServerManager {
     private static final Log log = 
LogFactory.getLog(GroupTerminationBehaviorTest.class);
     private static final String RESOURCES_PATH = 
"/group-termination-behavior-test";
-    private static final int GROUP_INACTIVE_TIMEOUT = 180000;
+    private static final int GROUP_INACTIVE_TIMEOUT = 300000;
 
     @Test
     public void testTerminationBehavior() {
@@ -51,62 +52,62 @@ public class GroupTerminationBehaviorTest extends 
StratosTestServerManager {
             String autoscalingPolicyId = 
"autoscaling-policy-group-termination-behavior-test";
             TopologyHandler topologyHandler = TopologyHandler.getInstance();
 
-            boolean addedScalingPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
+            boolean addedScalingPolicy = 
restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
                             + "/" + autoscalingPolicyId + ".json",
                     RestConstants.AUTOSCALING_POLICIES, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertTrue(addedScalingPolicy);
 
-            boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c1-group-termination-behavior-test.json",
+            boolean addedC1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c1-group-termination-behavior-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertTrue(addedC1);
 
-            boolean addedC2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c2-group-termination-behavior-test.json",
+            boolean addedC2 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c2-group-termination-behavior-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertTrue(addedC2);
 
-            boolean addedC3 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c3-group-termination-behavior-test.json",
+            boolean addedC3 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c3-group-termination-behavior-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertTrue(addedC3);
 
-            boolean addedC4 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c4-group-termination-behavior-test.json",
+            boolean addedC4 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c4-group-termination-behavior-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertTrue(addedC4);
 
-            boolean addedG1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
+            boolean addedG1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
                             "/" + 
"cartridge-groups-group-termination-behavior-test.json", 
RestConstants.CARTRIDGE_GROUPS,
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertTrue(addedG1);
 
-            CartridgeGroupBean beanG1 = (CartridgeGroupBean) restClient.
+            CartridgeGroupBean beanG1 = (CartridgeGroupBean) restClientTenant1.
                     getEntity(RestConstants.CARTRIDGE_GROUPS, 
"g-sc-G4-group-termination-behavior-test",
                             CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(beanG1.getName(), 
"g-sc-G4-group-termination-behavior-test");
 
-            boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+            boolean addedN1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
                             
"network-partition-group-termination-behavior-test-1.json",
                     RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertTrue(addedN1);
 
-            boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
+            boolean addedDep = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
                             
"deployment-policy-group-termination-behavior-test.json",
                     RestConstants.DEPLOYMENT_POLICIES, 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertTrue(addedDep);
 
-            boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
+            boolean added = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
                             "group-termination-behavior-test.json", 
RestConstants.APPLICATIONS,
                     RestConstants.APPLICATIONS_NAME);
             assertTrue(added);
 
-            ApplicationBean bean = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean bean = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "group-termination-behavior-test", ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
             assertEquals(bean.getApplicationId(), 
"group-termination-behavior-test");
 
-            boolean addAppPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
+            boolean addAppPolicy = restClientTenant1.addEntity(RESOURCES_PATH 
+ RestConstants.APPLICATION_POLICIES_PATH + "/" +
                             
"application-policy-group-termination-behavior-test.json", 
RestConstants.APPLICATION_POLICIES,
                     RestConstants.APPLICATION_POLICIES_NAME);
             assertTrue(addAppPolicy);
 
-            ApplicationPolicyBean policyBean = (ApplicationPolicyBean) 
restClient.getEntity(
+            ApplicationPolicyBean policyBean = (ApplicationPolicyBean) 
restClientTenant1.getEntity(
                     RestConstants.APPLICATION_POLICIES,
                     "application-policy-group-termination-behavior-test", 
ApplicationPolicyBean.class,
                     RestConstants.APPLICATION_POLICIES_NAME);
@@ -114,86 +115,82 @@ public class GroupTerminationBehaviorTest extends 
StratosTestServerManager {
             //deploy the application
             String resourcePath = RestConstants.APPLICATIONS + "/" + 
"group-termination-behavior-test" +
                     RestConstants.APPLICATIONS_DEPLOY + "/" + 
"application-policy-group-termination-behavior-test";
-            boolean deployed = restClient.deployEntity(resourcePath,
+            boolean deployed = restClientTenant1.deployEntity(resourcePath,
                     RestConstants.APPLICATIONS_NAME);
             assertTrue(deployed);
 
-            String groupId = 
topologyHandler.generateId(bean.getApplicationId(),
-                    "g-G1-1x0-group-termination-behavior-test", 
bean.getApplicationId() + "-1");
+            //Application active handling
+            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
+                    ApplicationStatus.Active,tenant1Id);
+
+            Application depApplication= 
topologyHandler.getApplication(bean.getApplicationId(), tenant1Id);
+            String groupId = 
topologyHandler.generateId(depApplication.getUniqueIdentifier(),
+                    "g-G1-1x0-group-termination-behavior-test", 
depApplication.getUniqueIdentifier() + "-1");
 
             String clusterIdC3 = topologyHandler.
                     getClusterIdFromAlias(bean.getApplicationId(),
-                            "c3-1x0-group-termination-behavior-test");
+                            
"c3-1x0-group-termination-behavior-test",tenant1Id);
 
             String clusterIdC4 = topologyHandler.
                     getClusterIdFromAlias(bean.getApplicationId(),
-                            "c4-1x0-group-termination-behavior-test");
+                            
"c4-1x0-group-termination-behavior-test",tenant1Id);
 
             String clusterIdC2 = topologyHandler.
                     getClusterIdFromAlias(bean.getApplicationId(),
-                            "c2-1x0-group-termination-behavior-test");
+                            
"c2-1x0-group-termination-behavior-test",tenant1Id);
 
             assertCreationOfNodes(groupId, clusterIdC2);
-
             assertCreationOfNodes(clusterIdC3, clusterIdC4);
 
-            //Application active handling
-            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
-                    ApplicationStatus.Active);
 
             //Group active handling
-            topologyHandler.assertGroupActivation(bean.getApplicationId());
+            
topologyHandler.assertGroupActivation(bean.getApplicationId(),tenant1Id);
 
             //Cluster active handling
-            topologyHandler.assertClusterActivation(bean.getApplicationId());
+            
topologyHandler.assertClusterActivation(bean.getApplicationId(),tenant1Id);
 
             //Terminate one member in the cluster
             TopologyHandler.getInstance().terminateMemberFromCluster(
                     "c3-group-termination-behavior-test",
                     bean.getApplicationId(),
-                    mockIaasApiClient);
+                    mockIaasApiClient,tenant1Id);
 
             List<String> clusterIds = new ArrayList<String>();
             clusterIds.add(clusterIdC3);
             clusterIds.add(clusterIdC4);
             clusterIds.add(clusterIdC2);
 
-            assertGroupInactive(groupId, clusterIdC3);
 
-            assertTerminatingOfNodes(groupId, clusterIds);
-
-            assertTerminationOfNodes(groupId, clusterIds);
+            //Application active handling
+            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
+                    ApplicationStatus.Active,tenant1Id);
 
             assertCreationOfNodes(groupId, clusterIdC2);
 
             assertCreationOfNodes(clusterIdC3, clusterIdC4);
 
-            //Application active handling
-            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
-                    ApplicationStatus.Active);
-
             //Group active handling
-            topologyHandler.assertGroupActivation(bean.getApplicationId());
+            
topologyHandler.assertGroupActivation(bean.getApplicationId(),tenant1Id);
 
             //Cluster active handling
-            topologyHandler.assertClusterActivation(bean.getApplicationId());
+            
topologyHandler.assertClusterActivation(bean.getApplicationId(),tenant1Id);
 
-            boolean removedGroup = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS,
+            boolean removedGroup = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGE_GROUPS,
                     "g-sc-G4-group-termination-behavior-test",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertFalse(removedGroup);
 
-            boolean removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            boolean removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertFalse(removedAuto);
 
-            boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            boolean removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-group-termination-behavior-test-1",
                     RestConstants.NETWORK_PARTITIONS_NAME);
             //Trying to remove the used network partition
             assertFalse(removedNet);
 
-            boolean removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            boolean removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-group-termination-behavior-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertFalse(removedDep);
 
@@ -201,70 +198,70 @@ public class GroupTerminationBehaviorTest extends 
StratosTestServerManager {
             String resourcePathUndeploy = RestConstants.APPLICATIONS + "/" + 
"group-termination-behavior-test" +
                     RestConstants.APPLICATIONS_UNDEPLOY;
 
-            boolean unDeployed = 
restClient.undeployEntity(resourcePathUndeploy,
+            boolean unDeployed = 
restClientTenant1.undeployEntity(resourcePathUndeploy,
                     RestConstants.APPLICATIONS_NAME);
             assertTrue(unDeployed);
 
-            boolean undeploy = 
topologyHandler.assertApplicationUndeploy("group-termination-behavior-test");
+            boolean undeploy = 
topologyHandler.assertApplicationUndeploy("group-termination-behavior-test",tenant1Id);
             if (!undeploy) {
                 //Need to forcefully undeploy the application
                 log.info("Force undeployment is going to start for the 
[application] " + "group-termination-behavior-test");
 
-                restClient.undeployEntity(RestConstants.APPLICATIONS + "/" + 
"group-termination-behavior-test" +
+                restClientTenant1.undeployEntity(RestConstants.APPLICATIONS + 
"/" + "group-termination-behavior-test" +
                         RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", 
RestConstants.APPLICATIONS);
 
-                boolean forceUndeployed = 
topologyHandler.assertApplicationUndeploy("group-termination-behavior-test");
+                boolean forceUndeployed = 
topologyHandler.assertApplicationUndeploy("group-termination-behavior-test",tenant1Id);
                 assertTrue(String.format("Forceful undeployment failed for the 
application %s",
                         "group-termination-behavior-test"), forceUndeployed);
 
             }
 
-            boolean removed = 
restClient.removeEntity(RestConstants.APPLICATIONS, 
"group-termination-behavior-test",
+            boolean removed = 
restClientTenant1.removeEntity(RestConstants.APPLICATIONS, 
"group-termination-behavior-test",
                     RestConstants.APPLICATIONS_NAME);
             assertTrue(removed);
 
-            ApplicationBean beanRemoved = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean beanRemoved = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "group-termination-behavior-test", ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
             assertNull(beanRemoved);
 
-            removedGroup = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS,
+            removedGroup = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGE_GROUPS,
                     "g-sc-G4-group-termination-behavior-test",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertTrue(removedGroup);
 
-            boolean removedC1 = 
restClient.removeEntity(RestConstants.CARTRIDGES, 
"c1-group-termination-behavior-test",
+            boolean removedC1 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, 
"c1-group-termination-behavior-test",
                     RestConstants.CARTRIDGES_NAME);
             assertTrue(removedC1);
 
-            boolean removedC2 = 
restClient.removeEntity(RestConstants.CARTRIDGES, 
"c2-group-termination-behavior-test",
+            boolean removedC2 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, 
"c2-group-termination-behavior-test",
                     RestConstants.CARTRIDGES_NAME);
             assertTrue(removedC2);
 
-            boolean removedC3 = 
restClient.removeEntity(RestConstants.CARTRIDGES, 
"c3-group-termination-behavior-test",
+            boolean removedC3 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, 
"c3-group-termination-behavior-test",
                     RestConstants.CARTRIDGES_NAME);
             assertTrue(removedC3);
 
-            boolean removedC4 = 
restClient.removeEntity(RestConstants.CARTRIDGES, 
"c4-group-termination-behavior-test",
+            boolean removedC4 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, 
"c4-group-termination-behavior-test",
                     RestConstants.CARTRIDGES_NAME);
             assertTrue(removedC4);
 
-            removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertTrue(removedAuto);
 
-            removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-group-termination-behavior-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertTrue(removedDep);
 
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-group-termination-behavior-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertFalse(removedNet);
 
-            boolean removeAppPolicy = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
+            boolean removeAppPolicy = 
restClientTenant1.removeEntity(RestConstants.APPLICATION_POLICIES,
                     "application-policy-group-termination-behavior-test", 
RestConstants.APPLICATION_POLICIES_NAME);
             assertTrue(removeAppPolicy);
 
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-group-termination-behavior-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertTrue(removedNet);
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/1afe6ae4/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionOneAfterAnotherClusterTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionOneAfterAnotherClusterTest.java
 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionOneAfterAnotherClusterTest.java
index 1e8324e..427db7d 100644
--- 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionOneAfterAnotherClusterTest.java
+++ 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionOneAfterAnotherClusterTest.java
@@ -52,43 +52,43 @@ public class PartitionOneAfterAnotherClusterTest extends 
StratosTestServerManage
     public void testDeployApplication() {
         try {
             log.info("-------------------------------Started Partition One 
after another test case-------------------------------");
-            TopologyHandler topologyHandler = TopologyHandler.getInstance();
+
             String autoscalingPolicyId = "autoscaling-policy-3";
 
-            boolean addedScalingPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
+            boolean addedScalingPolicy = 
restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
                             + "/" + autoscalingPolicyId + ".json",
                     RestConstants.AUTOSCALING_POLICIES, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(addedScalingPolicy, true);
 
-            boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c7.json",
+            boolean addedC1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c7.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertEquals(addedC1, true);
 
-            boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+            boolean addedN1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
                             "network-partition-11.json",
                     RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(addedN1, true);
 
-            boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
+            boolean addedDep = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
                             "deployment-policy-5.json",
                     RestConstants.DEPLOYMENT_POLICIES, 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(addedDep, true);
 
-            boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
+            boolean added = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
                             "single-cluster-scaling-test.json", 
RestConstants.APPLICATIONS,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(added, true);
 
-            ApplicationBean bean = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean bean = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "single-cluster-scaling-test", ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
             assertEquals(bean.getApplicationId(), 
"single-cluster-scaling-test");
 
-            boolean addAppPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
+            boolean addAppPolicy = restClientTenant1.addEntity(RESOURCES_PATH 
+ RestConstants.APPLICATION_POLICIES_PATH + "/" +
                             "application-policy-4.json", 
RestConstants.APPLICATION_POLICIES,
                     RestConstants.APPLICATION_POLICIES_NAME);
             assertEquals(addAppPolicy, true);
 
-            ApplicationPolicyBean policyBean = (ApplicationPolicyBean) 
restClient.getEntity(
+            ApplicationPolicyBean policyBean = (ApplicationPolicyBean) 
restClientTenant1.getEntity(
                     RestConstants.APPLICATION_POLICIES,
                     "application-policy-4", ApplicationPolicyBean.class,
                     RestConstants.APPLICATION_POLICIES_NAME);
@@ -96,16 +96,16 @@ public class PartitionOneAfterAnotherClusterTest extends 
StratosTestServerManage
             //deploy the application
             String resourcePath = RestConstants.APPLICATIONS + "/" + 
"single-cluster-scaling-test" +
                     RestConstants.APPLICATIONS_DEPLOY + "/" + 
"application-policy-4";
-            boolean deployed = restClient.deployEntity(resourcePath,
+            boolean deployed = restClientTenant1.deployEntity(resourcePath,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(deployed, true);
 
             //Application active handling
-            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
-                    ApplicationStatus.Active);
+            
TopologyHandler.getInstance().assertApplicationStatus(bean.getApplicationId(),
+                    ApplicationStatus.Active, tenant1Id);
 
             //Cluster active handling
-            topologyHandler.assertClusterActivation(bean.getApplicationId());
+            
TopologyHandler.getInstance().assertClusterActivation(bean.getApplicationId(), 
tenant1Id);
 
             //Verifying whether members got created using round robin algorithm
             assertClusterWithRoundRobinAlgorithm(bean.getApplicationId());
@@ -113,17 +113,17 @@ public class PartitionOneAfterAnotherClusterTest extends 
StratosTestServerManage
             //Removing one member from cluster and check for auto healing
 
 
-            boolean removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            boolean removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(removedAuto, false);
 
-            boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            boolean removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-11",
                     RestConstants.NETWORK_PARTITIONS_NAME);
             //Trying to remove the used network partition
             assertEquals(removedNet, false);
 
-            boolean removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            boolean removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-5", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(removedDep, false);
 
@@ -131,55 +131,55 @@ public class PartitionOneAfterAnotherClusterTest extends 
StratosTestServerManage
             String resourcePathUndeploy = RestConstants.APPLICATIONS + "/" + 
"single-cluster-scaling-test" +
                     RestConstants.APPLICATIONS_UNDEPLOY;
 
-            boolean unDeployed = 
restClient.undeployEntity(resourcePathUndeploy,
+            boolean unDeployed = 
restClientTenant1.undeployEntity(resourcePathUndeploy,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(unDeployed, true);
 
-            boolean undeploy = 
topologyHandler.assertApplicationUndeploy("single-cluster-scaling-test");
+            boolean undeploy = 
TopologyHandler.getInstance().assertApplicationUndeploy("single-cluster-scaling-test",
 tenant1Id);
             if (!undeploy) {
                 //Need to forcefully undeploy the application
                 log.info("Force undeployment is going to start for the 
[application] " + "single-cluster-scaling-test");
 
-                restClient.undeployEntity(RestConstants.APPLICATIONS + "/" + 
"single-cluster-scaling-test" +
+                restClientTenant1.undeployEntity(RestConstants.APPLICATIONS + 
"/" + "single-cluster-scaling-test" +
                         RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", 
RestConstants.APPLICATIONS);
 
-                boolean forceUndeployed = 
topologyHandler.assertApplicationUndeploy("single-cluster-scaling-test");
+                boolean forceUndeployed = 
TopologyHandler.getInstance().assertApplicationUndeploy("single-cluster-scaling-test",
 tenant1Id);
                 assertEquals(String.format("Forceful undeployment failed for 
the application %s",
                         "single-cluster-scaling-test"), forceUndeployed, true);
 
             }
 
-            boolean removed = 
restClient.removeEntity(RestConstants.APPLICATIONS, 
"single-cluster-scaling-test",
+            boolean removed = 
restClientTenant1.removeEntity(RestConstants.APPLICATIONS, 
"single-cluster-scaling-test",
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(removed, true);
 
-            ApplicationBean beanRemoved = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean beanRemoved = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "single-cluster-scaling-test", ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
             assertEquals(beanRemoved, null);
 
-            boolean removedC1 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c7",
+            boolean removedC1 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, "c7",
                     RestConstants.CARTRIDGES_NAME);
             assertEquals(removedC1, true);
 
 
-            removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(removedAuto, true);
 
-            removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-5", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(removedDep, true);
 
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-11", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(removedNet, false);
 
 
-            boolean removeAppPolicy = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
+            boolean removeAppPolicy = 
restClientTenant1.removeEntity(RestConstants.APPLICATION_POLICIES,
                     "application-policy-4", 
RestConstants.APPLICATION_POLICIES_NAME);
             assertEquals(removeAppPolicy, true);
 
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-11", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(removedNet, true);
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/1afe6ae4/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionRoundRobinClusterTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionRoundRobinClusterTest.java
 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionRoundRobinClusterTest.java
index 3c0cee1..7f4bd23 100644
--- 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionRoundRobinClusterTest.java
+++ 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/PartitionRoundRobinClusterTest.java
@@ -21,7 +21,6 @@ package org.apache.stratos.integration.tests.application;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.common.beans.application.ApplicationBean;
-import org.apache.stratos.common.beans.policy.deployment.ApplicationPolicyBean;
 import org.apache.stratos.integration.tests.RestConstants;
 import org.apache.stratos.integration.tests.StratosTestServerManager;
 import org.apache.stratos.integration.tests.TopologyHandler;
@@ -52,38 +51,38 @@ public class PartitionRoundRobinClusterTest extends 
StratosTestServerManager {
     public void testDeployApplication() {
         try {
             log.info("-------------------------------Started application 
Bursting test case-------------------------------");
-            TopologyHandler topologyHandler = TopologyHandler.getInstance();
+
             String autoscalingPolicyId = 
"autoscaling-policy-partition-round-robin-test";
 
-            boolean addedScalingPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
+            boolean addedScalingPolicy = 
restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
                             + "/" + autoscalingPolicyId + ".json",
                     RestConstants.AUTOSCALING_POLICIES, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(addedScalingPolicy, true);
 
-            boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c7-partition-round-robin-test.json",
+            boolean addedC1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c7-partition-round-robin-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertEquals(addedC1, true);
 
-            boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+            boolean addedN1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
                             
"network-partition-partition-round-robin-test.json",
                     RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(addedN1, true);
 
-            boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
+            boolean addedDep = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
                             
"deployment-policy-partition-round-robin-test.json",
                     RestConstants.DEPLOYMENT_POLICIES, 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(addedDep, true);
 
-            boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
+            boolean added = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
                             "partition-round-robin-test.json", 
RestConstants.APPLICATIONS,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(added, true);
 
-            ApplicationBean bean = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean bean = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "partition-round-robin-test", ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
             assertEquals(bean.getApplicationId(), 
"partition-round-robin-test");
 
-            boolean addAppPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
+            boolean addAppPolicy = restClientTenant1.addEntity(RESOURCES_PATH 
+ RestConstants.APPLICATION_POLICIES_PATH + "/" +
                             
"application-policy-partition-round-robin-test.json", 
RestConstants.APPLICATION_POLICIES,
                     RestConstants.APPLICATION_POLICIES_NAME);
             assertEquals(addAppPolicy, true);
@@ -91,45 +90,45 @@ public class PartitionRoundRobinClusterTest extends 
StratosTestServerManager {
             //deploy the application
             String resourcePath = RestConstants.APPLICATIONS + "/" + 
"partition-round-robin-test" +
                     RestConstants.APPLICATIONS_DEPLOY + "/" + 
"application-policy-partition-round-robin-test";
-            boolean deployed = restClient.deployEntity(resourcePath,
+            boolean deployed = restClientTenant1.deployEntity(resourcePath,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(deployed, true);
 
 
             //Application active handling
-            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
-                    ApplicationStatus.Active);
+            
TopologyHandler.getInstance().assertApplicationStatus(bean.getApplicationId(),
+                    ApplicationStatus.Active, tenant1Id);
 
             //Cluster active handling
-            topologyHandler.assertClusterActivation(bean.getApplicationId());
+            
TopologyHandler.getInstance().assertClusterActivation(bean.getApplicationId(), 
tenant1Id);
 
             //Verifying whether members got created using round robin algorithm
-            assertClusterWithRoundRobinAlgorithm(bean.getApplicationId());
+           /* assertClusterWithRoundRobinAlgorithm(bean.getApplicationId());
 
             //Application in-active handling
             log.info("Waiting for the faulty member detection from " +
                     "CEP as the statistics are stopped...");
-            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
-                    ApplicationStatus.Inactive);
+            
TopologyHandler.getInstance().assertApplicationStatus(bean.getApplicationId(),
+                    ApplicationStatus.Inactive,tenant1Id);       */
 
             //Application active handling after application becomes active 
again
-            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
-                    ApplicationStatus.Active);
+            
TopologyHandler.getInstance().assertApplicationStatus(bean.getApplicationId(),
+                    ApplicationStatus.Active,tenant1Id);
 
             //Cluster active handling
-            topologyHandler.assertClusterActivation(bean.getApplicationId());
+            
TopologyHandler.getInstance().assertClusterActivation(bean.getApplicationId(),tenant1Id);
 
-            boolean removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            boolean removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(removedAuto, false);
 
-            boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            boolean removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-partition-round-robin-test",
                     RestConstants.NETWORK_PARTITIONS_NAME);
             //Trying to remove the used network partition
             assertEquals(removedNet, false);
 
-            boolean removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            boolean removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-partition-round-robin-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(removedDep, false);
 
@@ -137,55 +136,55 @@ public class PartitionRoundRobinClusterTest extends 
StratosTestServerManager {
             String resourcePathUndeploy = RestConstants.APPLICATIONS + "/" + 
"partition-round-robin-test" +
                     RestConstants.APPLICATIONS_UNDEPLOY;
 
-            boolean unDeployed = 
restClient.undeployEntity(resourcePathUndeploy,
+            boolean unDeployed = 
restClientTenant1.undeployEntity(resourcePathUndeploy,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(unDeployed, true);
 
-            boolean undeploy = 
topologyHandler.assertApplicationUndeploy("partition-round-robin-test");
+            boolean undeploy = 
TopologyHandler.getInstance().assertApplicationUndeploy("partition-round-robin-test",
 tenant1Id);
             if (!undeploy) {
                 //Need to forcefully undeploy the application
                 log.info("Force undeployment is going to start for the 
[application] " + "partition-round-robin-test");
 
-                restClient.undeployEntity(RestConstants.APPLICATIONS + "/" + 
"partition-round-robin-test" +
+                restClientTenant1.undeployEntity(RestConstants.APPLICATIONS + 
"/" + "partition-round-robin-test" +
                         RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", 
RestConstants.APPLICATIONS);
 
-                boolean forceUndeployed = 
topologyHandler.assertApplicationUndeploy("partition-round-robin-test");
+                boolean forceUndeployed = 
TopologyHandler.getInstance().assertApplicationUndeploy("partition-round-robin-test",
 tenant1Id);
                 assertEquals(String.format("Forceful undeployment failed for 
the application %s",
                         "partition-round-robin-test"), forceUndeployed, true);
 
             }
 
-            boolean removed = 
restClient.removeEntity(RestConstants.APPLICATIONS, 
"partition-round-robin-test",
+            boolean removed = 
restClientTenant1.removeEntity(RestConstants.APPLICATIONS, 
"partition-round-robin-test",
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(removed, true);
 
-            ApplicationBean beanRemoved = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean beanRemoved = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "partition-round-robin-test", ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
             assertEquals(beanRemoved, null);
 
-            boolean removedC1 = 
restClient.removeEntity(RestConstants.CARTRIDGES, 
"c7-partition-round-robin-test",
+            boolean removedC1 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, 
"c7-partition-round-robin-test",
                     RestConstants.CARTRIDGES_NAME);
             assertEquals(removedC1, true);
 
 
-            removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(removedAuto, true);
 
-            removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-partition-round-robin-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(removedDep, true);
 
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-partition-round-robin-test", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(removedNet, false);
 
 
-            boolean removeAppPolicy = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
+            boolean removeAppPolicy = 
restClientTenant1.removeEntity(RestConstants.APPLICATION_POLICIES,
                     "application-policy-partition-round-robin-test", 
RestConstants.APPLICATION_POLICIES_NAME);
             assertEquals(removeAppPolicy, true);
 
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-partition-round-robin-test", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(removedNet, true);
 
@@ -203,27 +202,35 @@ public class PartitionRoundRobinClusterTest extends 
StratosTestServerManager {
      * @param applicationName
      */
     private void assertClusterWithRoundRobinAlgorithm(String applicationName) {
-        Application application = 
ApplicationManager.getApplications().getApplication(applicationName);
+        Application application = 
ApplicationManager.getApplications().getApplicationByTenant(applicationName, 
tenant1Id);
         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 serviceUUid = clusterDataHolder.getServiceUuid();
             String clusterId = clusterDataHolder.getClusterId();
-            Service service = 
TopologyManager.getTopology().getService(serviceName);
+            Service service = 
TopologyManager.getTopology().getService(serviceUUid);
             assertNotNull(String.format("Service is not found: 
[application-id] %s [service] %s",
-                    applicationName, serviceName), service);
+                    applicationName, serviceUUid), 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);
+                    applicationName, serviceUUid, clusterId), cluster);
 
             for (ClusterInstance instance : 
cluster.getInstanceIdToInstanceContextMap().values()) {
                 List<String> partitionsUsedInMembers = new ArrayList<String>();
                 Map<String, List<Long>> partitionIdToMembersMap = new 
HashMap<String, List<Long>>();
+                String p1 = "network-partition-11-partition-1";
+                String p2 = "network-partition-11-partition-2";
                 for (Member member : cluster.getMembers()) {
                     String partitionId = member.getPartitionId();
+                    if(p1.equals("network-partition-11-partition-1")) {
+                        p1 = partitionId;
+                    }
+                    else 
if(!p1.equals(partitionId)&&p2.equals("network-partition-11-partition-2")){
+                        p2 = partitionId;
+                    }
                     if (!partitionIdToMembersMap.containsKey(partitionId)) {
                         List<Long> members = new ArrayList<Long>();
                         members.add(member.getInitTime());
@@ -235,8 +242,7 @@ public class PartitionRoundRobinClusterTest extends 
StratosTestServerManager {
                         partitionsUsedInMembers.add(partitionId);
                     }
                 }
-                String p1 = "network-partition-11-partition-1";
-                String p2 = "network-partition-11-partition-2";
+
                 List<Long> p1InitTime = partitionIdToMembersMap.get(p1);
                 Collections.sort(p1InitTime);
 
@@ -265,7 +271,7 @@ public class PartitionRoundRobinClusterTest extends 
StratosTestServerManager {
                         p2Index++;
                         previousPartition = p2;
                         assertEquals("Partition-2 doesn't not contain correct 
values in current " +
-                                "iteration", allInitTime.get(i), 
p2InitTime.get(p2Index));
+                                "iteration", 
allInitTime.get(allInitTime.size()-1), p2InitTime.get(p2Index));
                         if (p1Index >= 0) {
                             assertEquals("Partition-1 doesn't not contain 
correct values in the " +
                                     "previous iteration", allInitTime.get(i - 
1), p1InitTime.get(p1Index));

http://git-wip-us.apache.org/repos/asf/stratos/blob/1afe6ae4/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java
 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java
index e50806b..dea1f8a 100644
--- 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java
+++ 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java
@@ -19,7 +19,6 @@
 
 package org.apache.stratos.integration.tests.application;
 
-import com.google.gson.reflect.TypeToken;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.common.beans.application.ApplicationBean;
@@ -30,10 +29,6 @@ import org.apache.stratos.integration.tests.RestConstants;
 import org.apache.stratos.integration.tests.StratosTestServerManager;
 import org.testng.annotations.Test;
 
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-
 import static junit.framework.Assert.*;
 
 /**
@@ -49,54 +44,54 @@ public class SampleApplicationsTest extends 
StratosTestServerManager {
         try {
             String autoscalingPolicyId = 
"autoscaling-policy-sample-applications-test";
 
-            boolean addedScalingPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
+            boolean addedScalingPolicy = 
restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
                             + "/" + autoscalingPolicyId + ".json",
                     RestConstants.AUTOSCALING_POLICIES, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(addedScalingPolicy, true);
 
-            boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c1-sample-applications-test.json",
+            boolean addedC1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c1-sample-applications-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertEquals(addedC1, true);
 
-            boolean addedC2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c2-sample-applications-test.json",
+            boolean addedC2 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c2-sample-applications-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertEquals(addedC2, true);
 
-            boolean addedC3 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c3-sample-applications-test.json",
+            boolean addedC3 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c3-sample-applications-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertEquals(addedC3, true);
 
-            boolean addedG1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
+            boolean addedG1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
                             "/" + 
"cartrdige-nested-sample-applications-test.json", 
RestConstants.CARTRIDGE_GROUPS,
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(addedG1, true);
 
-            CartridgeGroupBean beanG1 = (CartridgeGroupBean) restClient.
+            CartridgeGroupBean beanG1 = (CartridgeGroupBean) restClientTenant1.
                     getEntity(RestConstants.CARTRIDGE_GROUPS, 
"G1-sample-applications-test",
                             CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(beanG1.getName(), "G1-sample-applications-test");
 
-            boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+            boolean addedN1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
                             
"network-partition-sample-applications-test-1.json",
                     RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(addedN1, true);
 
-            boolean addedN2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+            boolean addedN2 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
                             
"network-partition-sample-applications-test-2.json",
                     RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(addedN2, true);
 
-            boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
+            boolean addedDep = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
                             "deployment-policy-sample-applications-test.json",
                     RestConstants.DEPLOYMENT_POLICIES, 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(addedDep, true);
 
-            boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
+            boolean added = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
                             "g-sc-G123-1-sample-applications-test.json", 
RestConstants.APPLICATIONS,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(added, true);
 
-            ApplicationBean bean = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean bean = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "g-sc-G123-1-sample-applications-test", 
ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
             assertEquals(bean.getApplicationId(), 
"g-sc-G123-1-sample-applications-test");
 
@@ -134,15 +129,20 @@ public class SampleApplicationsTest extends 
StratosTestServerManager {
             assertEquals(c3.getCartridgeMin(), 1);
             assertEquals(c3.getCartridgeMax(), 2);
 
-            boolean updated = restClient.updateEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH +
+            bean = (ApplicationBean) 
restClientTenant2.getEntity(RestConstants.APPLICATIONS,
+                    "g-sc-G123-1-sample-applications-test", 
ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
+
+            assertNull("Application found in tenant 2",bean);
+
+            boolean updated = restClientTenant1.updateEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH +
                             "/g-sc-G123-1-sample-applications-test-v1.json",
                     RestConstants.APPLICATIONS, 
RestConstants.APPLICATIONS_NAME);
             assertEquals(updated, true);
 
-            ApplicationBean updatedBean = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean updatedBean = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "g-sc-G123-1-sample-applications-test", 
ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
 
-            assertEquals(bean.getApplicationId(), 
"g-sc-G123-1-sample-applications-test");
+            assertEquals(updatedBean.getApplicationId(), 
"g-sc-G123-1-sample-applications-test");
 
             group1 = updatedBean.getComponents().getGroups().get(0);
             group2 = group1.getGroups().get(0);
@@ -178,226 +178,69 @@ public class SampleApplicationsTest extends 
StratosTestServerManager {
             assertEquals(c3.getCartridgeMin(), 2);
             assertEquals(c3.getCartridgeMax(), 3);
 
-
-            boolean removedGroup = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
"G1-sample-applications-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertFalse(removedGroup);
-
-            boolean removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
-                    autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
-            assertFalse(removedAuto);
-
-            boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
-                    "network-partition-sample-applications-test-1",
-                    RestConstants.NETWORK_PARTITIONS_NAME);
-            //Trying to remove the used network partition
-            assertFalse(removedNet);
-
-            boolean removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
-                    "deployment-policy-sample-applications-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
-            assertFalse(removedDep);
-
-            boolean removed = 
restClient.removeEntity(RestConstants.APPLICATIONS, 
"g-sc-G123-1-sample-applications-test",
-                    RestConstants.APPLICATIONS_NAME);
-            assertTrue(removed);
-
-            ApplicationBean beanRemoved = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            updatedBean = (ApplicationBean) 
restClientTenant2.getEntity(RestConstants.APPLICATIONS,
                     "g-sc-G123-1-sample-applications-test", 
ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
-            assertNull(beanRemoved);
-
-            removedGroup = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
"G1-sample-applications-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertEquals(removedGroup, true);
-
-            boolean removedC1 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c1-sample-applications-test",
-                    RestConstants.CARTRIDGES_NAME);
-            assertEquals(removedC1, true);
-
-            boolean removedC2 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c2-sample-applications-test",
-                    RestConstants.CARTRIDGES_NAME);
-            assertEquals(removedC2, true);
-
-            boolean removedC3 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c3-sample-applications-test",
-                    RestConstants.CARTRIDGES_NAME);
-            assertEquals(removedC3, true);
-
-            removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
-                    autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
-            assertEquals(removedAuto, true);
-
-            removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
-                    "deployment-policy-sample-applications-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
-            assertEquals(removedDep, true);
-
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
-                    "network-partition-sample-applications-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertEquals(removedNet, true);
-
-            boolean removedN2 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
-                    "network-partition-sample-applications-test-2", 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertEquals(String.format("[Network partition] 
network-partition-sample-applications-test-2 " +
-                    "could not be removed for [application] 
g-sc-G123-1-sample-applications-test"), removedN2, true);
-
-            log.info("-------------------------------Ended application test 
case-------------------------------");
-
-        } catch (Exception e) {
-            log.error("An error occurred while handling application test 
case", e);
-            assertTrue("An error occurred while handling application test 
case", false);
-        }
-    }
-
-    @Test
-    public void testApplicationList() {
-        log.info("-------------------------------Started application listtest 
case-------------------------------");
-        try {
-            String autoscalingPolicyId = 
"autoscaling-policy-sample-applications-test";
-
-            boolean addedScalingPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
-                            + "/" + autoscalingPolicyId + ".json",
-                    RestConstants.AUTOSCALING_POLICIES, 
RestConstants.AUTOSCALING_POLICIES_NAME);
-            assertEquals(addedScalingPolicy, true);
-
-            boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c1-sample-applications-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertEquals(addedC1, true);
-
-            boolean addedC2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c2-sample-applications-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertEquals(addedC2, true);
-
-            boolean addedC3 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c3-sample-applications-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertEquals(addedC3, true);
-
-            boolean addedG1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
-                            "/" + 
"cartrdige-nested-sample-applications-test.json", 
RestConstants.CARTRIDGE_GROUPS,
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertEquals(addedG1, true);
-
-            CartridgeGroupBean beanG1 = (CartridgeGroupBean) restClient.
-                    getEntity(RestConstants.CARTRIDGE_GROUPS, 
"G1-sample-applications-test",
-                            CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertEquals(beanG1.getName(), "G1-sample-applications-test");
-
-            boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
-                            
"network-partition-sample-applications-test-1.json",
-                    RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertEquals(addedN1, true);
-
-            boolean addedN2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
-                            
"network-partition-sample-applications-test-2.json",
-                    RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertEquals(addedN2, true);
 
-            boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
-                            "deployment-policy-sample-applications-test.json",
-                    RestConstants.DEPLOYMENT_POLICIES, 
RestConstants.DEPLOYMENT_POLICIES_NAME);
-            assertEquals(addedDep, true);
+            assertNull("Application found in tenant 2",updatedBean);
 
-            String app1 = "sample-applications-test-1";
-            String app2 = "sample-applications-test-2";
-            boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
-                            app1 + ".json", RestConstants.APPLICATIONS,
-                    RestConstants.APPLICATIONS_NAME);
-            assertEquals(added, true);
-
-            added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
-                            app2 + ".json", RestConstants.APPLICATIONS,
-                    RestConstants.APPLICATIONS_NAME);
-            assertEquals(added, true);
-
-            Type listType = new TypeToken<ArrayList<ApplicationBean>>() {
-            }.getType();
-
-            List<ApplicationBean> applicationList = (List<ApplicationBean>) 
restClient.
-                    listEntity(RestConstants.APPLICATIONS,
-                            listType, RestConstants.APPLICATIONS_NAME);
-            assertTrue(applicationList.size() >= 2);
-
-
-            ApplicationBean bean1 = null;
-            for (ApplicationBean applicationBean : applicationList) {
-                if (applicationBean.getApplicationId().equals(app1)) {
-                    bean1 = applicationBean;
-                }
-            }
-            assertNotNull(bean1);
-
-            ApplicationBean bean2 = null;
-            for (ApplicationBean applicationBean : applicationList) {
-                if (applicationBean.getApplicationId().equals(app2)) {
-                    bean2 = applicationBean;
-                }
-            }
-            assertNotNull(bean2);
-
-
-            boolean removed = 
restClient.removeEntity(RestConstants.APPLICATIONS, app1,
-                    RestConstants.APPLICATIONS_NAME);
-            assertTrue(removed);
-
-            ApplicationBean beanRemoved = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
-                    app1, ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
-            assertNull(beanRemoved);
-
-            boolean removedGroup = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
"G1-sample-applications-test",
+            boolean removedGroup = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
"G1-sample-applications-test",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertFalse(removedGroup);
 
-            boolean removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            boolean removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertFalse(removedAuto);
 
-            boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            boolean removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-sample-applications-test-1",
                     RestConstants.NETWORK_PARTITIONS_NAME);
             //Trying to remove the used network partition
             assertFalse(removedNet);
 
-            boolean removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            boolean removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-sample-applications-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertFalse(removedDep);
 
-            removed = restClient.removeEntity(RestConstants.APPLICATIONS, app2,
+            boolean removed = 
restClientTenant1.removeEntity(RestConstants.APPLICATIONS, 
"g-sc-G123-1-sample-applications-test",
                     RestConstants.APPLICATIONS_NAME);
             assertTrue(removed);
 
-            beanRemoved = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
-                    app2, ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
-            assertNull(beanRemoved);
+            ApplicationBean beanRemoved = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
+                    "g-sc-G123-1-sample-applications-test", 
ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
+            assertEquals(beanRemoved, null);
 
-            removedGroup = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
"G1-sample-applications-test",
+            removedGroup = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
"G1-sample-applications-test",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(removedGroup, true);
 
-            boolean removedC1 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c1-sample-applications-test",
+            boolean removedC1 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, 
"c1-sample-applications-test",
                     RestConstants.CARTRIDGES_NAME);
             assertEquals(removedC1, true);
 
-            boolean removedC2 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c2-sample-applications-test",
+            boolean removedC2 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, 
"c2-sample-applications-test",
                     RestConstants.CARTRIDGES_NAME);
             assertEquals(removedC2, true);
 
-            boolean removedC3 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c3-sample-applications-test",
+            boolean removedC3 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, 
"c3-sample-applications-test",
                     RestConstants.CARTRIDGES_NAME);
             assertEquals(removedC3, true);
 
-            removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(removedAuto, true);
 
-            removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-sample-applications-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(removedDep, true);
 
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-sample-applications-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(removedNet, true);
 
-            boolean removedN2 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            boolean removedN2 = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-sample-applications-test-2", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(String.format("[Network partition] 
network-partition-sample-applications-test-2 " +
-                    "could not be removed for [application] 
g-sc-G123-1-sample-applications-test"), removedN2, true);
+                    "could not be removed for [application] 
g-sc-G123-1-sample-applications-test"),removedN2, true);
 
             log.info("-------------------------------Ended application test 
case-------------------------------");
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/1afe6ae4/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java
 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java
index 1d4c4ab..46412db 100644
--- 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java
+++ 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java
@@ -56,43 +56,43 @@ public class SingleClusterScalingTest extends 
StratosTestServerManager {
     public void testDeployApplication() {
         try {
             log.info("-------------------------------Started application 
Bursting test case-------------------------------");
-            TopologyHandler topologyHandler = TopologyHandler.getInstance();
+
             String autoscalingPolicyId = 
"autoscaling-policy-single-cluster-scaling-test";
 
-            boolean addedScalingPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
+            boolean addedScalingPolicy = 
restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.AUTOSCALING_POLICIES_PATH
                             + "/" + autoscalingPolicyId + ".json",
                     RestConstants.AUTOSCALING_POLICIES, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(addedScalingPolicy, true);
 
-            boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c7-single-cluster-scaling-test.json",
+            boolean addedC1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "c7-single-cluster-scaling-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertEquals(addedC1, true);
 
-            boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+            boolean addedN1 = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
                             
"network-partition-single-cluster-scaling-test.json",
                     RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(addedN1, true);
 
-            boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
+            boolean addedDep = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
                             
"deployment-policy-single-cluster-scaling-test.json",
                     RestConstants.DEPLOYMENT_POLICIES, 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(addedDep, true);
 
-            boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
+            boolean added = restClientTenant1.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATIONS_PATH + "/" +
                             "single-cluster-scaling-test.json", 
RestConstants.APPLICATIONS,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(added, true);
 
-            ApplicationBean bean = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean bean = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "single-cluster-scaling-test", ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
             assertEquals(bean.getApplicationId(), 
"single-cluster-scaling-test");
 
-            boolean addAppPolicy = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
+            boolean addAppPolicy = restClientTenant1.addEntity(RESOURCES_PATH 
+ RestConstants.APPLICATION_POLICIES_PATH + "/" +
                             
"application-policy-single-cluster-scaling-test.json", 
RestConstants.APPLICATION_POLICIES,
                     RestConstants.APPLICATION_POLICIES_NAME);
             assertEquals(addAppPolicy, true);
 
-            ApplicationPolicyBean policyBean = (ApplicationPolicyBean) 
restClient.getEntity(
+            ApplicationPolicyBean policyBean = (ApplicationPolicyBean) 
restClientTenant1.getEntity(
                     RestConstants.APPLICATION_POLICIES,
                     "application-policy-single-cluster-scaling-test", 
ApplicationPolicyBean.class,
                     RestConstants.APPLICATION_POLICIES_NAME);
@@ -100,37 +100,31 @@ public class SingleClusterScalingTest extends 
StratosTestServerManager {
             //deploy the application
             String resourcePath = RestConstants.APPLICATIONS + "/" + 
"single-cluster-scaling-test" +
                     RestConstants.APPLICATIONS_DEPLOY + "/" + 
"application-policy-single-cluster-scaling-test";
-            boolean deployed = restClient.deployEntity(resourcePath,
+            boolean deployed = restClientTenant1.deployEntity(resourcePath,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(deployed, true);
 
             //Application active handling
-            topologyHandler.assertApplicationStatus(bean.getApplicationId()
-                    , ApplicationStatus.Active);
+            
TopologyHandler.getInstance().assertApplicationStatus(bean.getApplicationId()
+                    , ApplicationStatus.Active, tenant1Id);
 
             //Cluster active handling
-            topologyHandler.assertClusterActivation(bean.getApplicationId());
+            
TopologyHandler.getInstance().assertClusterActivation(bean.getApplicationId(), 
tenant1Id);
 
             //Verifying whether members got created using round robin algorithm
-            assertClusterWithScalingup(bean.getApplicationId());
-
-            //assert scale-down
-            assertClusterWithScaleDown(bean.getApplicationId());
+            assertClusterWithScalingup(bean.getApplicationId(), tenant1Id);
 
-            //Check whether cluster could scale-down upto the minimum
-            assertClusterScaleDownToMinimumCount(bean.getApplicationId());
-
-            boolean removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            boolean removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(removedAuto, false);
 
-            boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            boolean removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-single-cluster-scaling-test",
                     RestConstants.NETWORK_PARTITIONS_NAME);
             //Trying to remove the used network partition
             assertEquals(removedNet, false);
 
-            boolean removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            boolean removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-single-cluster-scaling-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(removedDep, false);
 
@@ -138,55 +132,55 @@ public class SingleClusterScalingTest extends 
StratosTestServerManager {
             String resourcePathUndeploy = RestConstants.APPLICATIONS + "/" + 
"single-cluster-scaling-test" +
                     RestConstants.APPLICATIONS_UNDEPLOY;
 
-            boolean unDeployed = 
restClient.undeployEntity(resourcePathUndeploy,
+            boolean unDeployed = 
restClientTenant1.undeployEntity(resourcePathUndeploy,
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(unDeployed, true);
 
-            boolean undeploy = 
topologyHandler.assertApplicationUndeploy("single-cluster-scaling-test");
+            boolean undeploy = 
TopologyHandler.getInstance().assertApplicationUndeploy("single-cluster-scaling-test",
 tenant1Id);
             if (!undeploy) {
                 //Need to forcefully undeploy the application
                 log.info("Force undeployment is going to start for the 
[application] " + "single-cluster-scaling-test");
 
-                restClient.undeployEntity(RestConstants.APPLICATIONS + "/" + 
"single-cluster-scaling-test" +
+                restClientTenant1.undeployEntity(RestConstants.APPLICATIONS + 
"/" + "single-cluster-scaling-test" +
                         RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", 
RestConstants.APPLICATIONS);
 
-                boolean forceUndeployed = 
topologyHandler.assertApplicationUndeploy("single-cluster-scaling-test");
+                boolean forceUndeployed = 
TopologyHandler.getInstance().assertApplicationUndeploy("single-cluster-scaling-test",
 tenant1Id);
                 assertEquals(String.format("Forceful undeployment failed for 
the application %s",
                         "single-cluster-scaling-test"), forceUndeployed, true);
 
             }
 
-            boolean removed = 
restClient.removeEntity(RestConstants.APPLICATIONS, 
"single-cluster-scaling-test",
+            boolean removed = 
restClientTenant1.removeEntity(RestConstants.APPLICATIONS, 
"single-cluster-scaling-test",
                     RestConstants.APPLICATIONS_NAME);
             assertEquals(removed, true);
 
-            ApplicationBean beanRemoved = (ApplicationBean) 
restClient.getEntity(RestConstants.APPLICATIONS,
+            ApplicationBean beanRemoved = (ApplicationBean) 
restClientTenant1.getEntity(RestConstants.APPLICATIONS,
                     "single-cluster-scaling-test", ApplicationBean.class, 
RestConstants.APPLICATIONS_NAME);
             assertEquals(beanRemoved, null);
 
-            boolean removedC1 = 
restClient.removeEntity(RestConstants.CARTRIDGES, 
"c7-single-cluster-scaling-test",
+            boolean removedC1 = 
restClientTenant1.removeEntity(RestConstants.CARTRIDGES, 
"c7-single-cluster-scaling-test",
                     RestConstants.CARTRIDGES_NAME);
             assertEquals(removedC1, true);
 
 
-            removedAuto = 
restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            removedAuto = 
restClientTenant1.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, 
RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(removedAuto, true);
 
-            removedDep = 
restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            removedDep = 
restClientTenant1.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-single-cluster-scaling-test", 
RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(removedDep, true);
 
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-single-cluster-scaling-test", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(removedNet, false);
 
 
-            boolean removeAppPolicy = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
+            boolean removeAppPolicy = 
restClientTenant1.removeEntity(RestConstants.APPLICATION_POLICIES,
                     "application-policy-single-cluster-scaling-test", 
RestConstants.APPLICATION_POLICIES_NAME);
             assertEquals(removeAppPolicy, true);
 
-            removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = 
restClientTenant1.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-single-cluster-scaling-test", 
RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(removedNet, true);
 
@@ -202,9 +196,10 @@ public class SingleClusterScalingTest extends 
StratosTestServerManager {
      * Assert application activation
      *
      * @param applicationName
+     * @param tenantId
      */
-    private void assertClusterWithScalingup(String applicationName) {
-        Application application = 
ApplicationManager.getApplications().getApplication(applicationName);
+    private void assertClusterWithScalingup(String applicationName, int 
tenantId) {
+        Application application = 
ApplicationManager.getApplications().getApplicationByTenant(applicationName, 
tenantId);
         assertNotNull(String.format("Application is not found: 
[application-id] %s",
                 applicationName), application);
         boolean clusterScaleup = false;
@@ -217,15 +212,15 @@ public class SingleClusterScalingTest extends 
StratosTestServerManager {
             }
             Set<ClusterDataHolder> clusterDataHolderSet = 
application.getClusterDataRecursively();
             for (ClusterDataHolder clusterDataHolder : clusterDataHolderSet) {
-                String serviceName = clusterDataHolder.getServiceType();
+                String serviceUuid = clusterDataHolder.getServiceUuid();
                 clusterId = clusterDataHolder.getClusterId();
-                Service service = 
TopologyManager.getTopology().getService(serviceName);
+                Service service = 
TopologyManager.getTopology().getService(serviceUuid);
                 assertNotNull(String.format("Service is not found: 
[application-id] %s [service] %s",
-                        applicationName, serviceName), service);
+                        applicationName, serviceUuid), 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);
+                        applicationName, serviceUuid, clusterId), cluster);
                 for (ClusterInstance instance : 
cluster.getInstanceIdToInstanceContextMap().values()) {
                     int activeInstances = 0;
                     for (Member member : cluster.getMembers()) {
@@ -235,14 +230,13 @@ public class SingleClusterScalingTest extends 
StratosTestServerManager {
                             }
                         }
                     }
-
-                    clusterScaleup = activeInstances > 
clusterDataHolder.getMinInstances();
+                    clusterScaleup = activeInstances >= 
clusterDataHolder.getMinInstances();
                     if(clusterScaleup) {
                         activeInstancesAfterScaleup = activeInstances;
                         break;
                     }
                 }
-                application = 
ApplicationManager.getApplications().getApplication(applicationName);
+                application = 
ApplicationManager.getApplications().getApplicationByTenant(applicationName, 
tenantId);
                 if ((System.currentTimeMillis() - startTime) > 
CLUSTER_SCALE_UP_TIMEOUT) {
                     break;
                 }
@@ -257,8 +251,8 @@ public class SingleClusterScalingTest extends 
StratosTestServerManager {
      *
      * @param applicationName
      */
-    private void assertClusterWithScaleDown(String applicationName) {
-        Application application = 
ApplicationManager.getApplications().getApplication(applicationName);
+    private void assertClusterWithScaleDown(String applicationName,int 
tenantId) {
+        Application application = 
ApplicationManager.getApplications().getApplicationByTenant(applicationName,tenantId);
         assertNotNull(String.format("Application is not found: 
[application-id] %s",
                 applicationName), application);
         boolean clusterScaleDown = false;
@@ -271,7 +265,7 @@ public class SingleClusterScalingTest extends 
StratosTestServerManager {
             }
             Set<ClusterDataHolder> clusterDataHolderSet = 
application.getClusterDataRecursively();
             for (ClusterDataHolder clusterDataHolder : clusterDataHolderSet) {
-                String serviceName = clusterDataHolder.getServiceType();
+                String serviceName = clusterDataHolder.getServiceUuid();
                 clusterId = clusterDataHolder.getClusterId();
                 Service service = 
TopologyManager.getTopology().getService(serviceName);
                 assertNotNull(String.format("Service is not found: 
[application-id] %s [service] %s",
@@ -301,7 +295,7 @@ public class SingleClusterScalingTest extends 
StratosTestServerManager {
 
                 }
 
-                application = 
ApplicationManager.getApplications().getApplication(applicationName);
+                application = 
ApplicationManager.getApplications().getApplicationByTenant(applicationName,tenantId);
                 if ((System.currentTimeMillis() - startTime) > 
CLUSTER_SCALE_DOWN_TIMEOUT) {
                     break;
                 }

Reply via email to