You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by sa...@apache.org on 2015/11/23 10:22:31 UTC

stratos git commit: Test class renamed

Repository: stratos
Updated Branches:
  refs/heads/stratos-4.1.x 962ce9427 -> 31c46c1f6


Test class renamed


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/31c46c1f
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/31c46c1f
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/31c46c1f

Branch: refs/heads/stratos-4.1.x
Commit: 31c46c1f6dea8725b6c947eb9362a2e7dae3b37d
Parents: 962ce94
Author: Sajith <sa...@wso2.com>
Authored: Mon Nov 23 14:52:01 2015 +0530
Committer: Sajith <sa...@wso2.com>
Committed: Mon Nov 23 14:52:01 2015 +0530

----------------------------------------------------------------------
 .../tests/iaas/IaasProviderAttributeTest.java   | 274 -------------------
 .../iaas/IaasProviderAttributeTestCase.java     | 274 +++++++++++++++++++
 2 files changed, 274 insertions(+), 274 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/31c46c1f/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/iaas/IaasProviderAttributeTest.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/iaas/IaasProviderAttributeTest.java b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/iaas/IaasProviderAttributeTest.java
deleted file mode 100644
index a309284..0000000
--- a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/iaas/IaasProviderAttributeTest.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.integration.tests.iaas;
-
-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.cartridge.CartridgeBean;
-import org.apache.stratos.common.beans.cartridge.IaasProviderBean;
-import org.apache.stratos.integration.common.RestConstants;
-import org.apache.stratos.integration.common.ServerLogClient;
-import org.apache.stratos.integration.common.TopologyHandler;
-import org.apache.stratos.integration.tests.StratosIntegrationTest;
-import org.apache.stratos.messaging.domain.application.ApplicationStatus;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-import org.wso2.carbon.logging.view.stub.types.carbon.LogEvent;
-
-import java.util.List;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-import static org.testng.AssertJUnit.assertTrue;
-
-public class IaasProviderAttributeTest extends StratosIntegrationTest {
-
-    private static final Log log = LogFactory.getLog(IaasProviderAttributeTest.class);
-    private static final String RESOURCES_PATH = "/cartridge-iaas-attribute-test";
-    private static final String AUTOSCALING_POLICY = "autoscaling-policy-iaasprovider-attribute-test";
-    private static final String NETWORK_PARTITION = "network-partition-iaasprovider-attribute-test";
-    private static final String DEPLOYMENT_POLICY = "deployment-policy-iaasprovider-attribute-test";
-    private static final String APPLICATION_POLICY = "application-policy-iaasprovider-attribute-test";
-    private static final String CARTRIDGE = "cartridge-iaasprovider-attribute-test";
-    private static final String UPDATED_CARTRIDGE = "cartridge-iaasprovider-attribute-test-updated";
-    private static final String APPLICATION = "app-iaasprovider-attribute-test";
-    private ServerLogClient serverLogClient;
-
-    @BeforeClass
-    public void setup () throws Exception {
-        serverLogClient = new ServerLogClient(stratosSecuredBackendURL + "/services/", adminUsername, adminPassword);
-    }
-
-    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = {"stratos.cartridge.iaas.attributes", "all"})
-    public void testIaasProviderAttributes () throws Exception {
-
-        // add autoscaling policy
-        log.info("Adding autoscaling policy [autoscale policy id] " + AUTOSCALING_POLICY);
-        boolean addedScalingPolicy = restClient.addEntity(RESOURCES_PATH + RestConstants.
-                        AUTOSCALING_POLICIES_PATH + "/" + AUTOSCALING_POLICY + ".json",
-                RestConstants.AUTOSCALING_POLICIES, RestConstants.AUTOSCALING_POLICIES_NAME);
-        assertTrue(addedScalingPolicy);
-
-        // add network partition
-        log.info("Adding network partition [network partition id] " + NETWORK_PARTITION);
-        boolean addedN1 = restClient.addEntity(RESOURCES_PATH + "/network-partitions" + "/" +
-                        NETWORK_PARTITION + ".json", RestConstants.NETWORK_PARTITIONS,
-                RestConstants.NETWORK_PARTITIONS_NAME);
-        assertTrue(addedN1);
-
-        // add deployment policy
-        log.info("Adding deployment policy [deployment policy id] " + DEPLOYMENT_POLICY);
-        boolean addedDep = restClient.addEntity(RESOURCES_PATH + RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
-                        DEPLOYMENT_POLICY + ".json", RestConstants.DEPLOYMENT_POLICIES,
-                RestConstants.DEPLOYMENT_POLICIES_NAME);
-        assertTrue(addedDep);
-
-        // add application policy
-        log.info("Adding application policy [application policy id] " + APPLICATION_POLICY);
-        boolean addAppPolicy = restClient.addEntity(RESOURCES_PATH + RestConstants.APPLICATION_POLICIES_PATH + "/" +
-                        APPLICATION_POLICY + ".json", RestConstants.APPLICATION_POLICIES,
-                RestConstants.APPLICATION_POLICIES_NAME);
-        assertTrue(addAppPolicy);
-
-        // deploy a default cartridge
-        boolean defaultCartridgeAdded = restClient.addEntity(RESOURCES_PATH + "/cartridges/" + CARTRIDGE + ".json",
-                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-        assertTrue("Default cartridge not deployed properly", defaultCartridgeAdded);
-
-        // deploy application
-        log.info("Adding application [application id] " + APPLICATION);
-        boolean addedApp = restClient.addEntity(RESOURCES_PATH + RestConstants.APPLICATIONS_PATH + "/" +
-                APPLICATION + ".json", RestConstants.APPLICATIONS, RestConstants.APPLICATIONS_NAME);
-        assertEquals(addedApp, true);
-
-        // Test Iaas Provider attributes
-        CartridgeBean defaultCartridgeBean = (CartridgeBean) restClient.getEntity(RestConstants.CARTRIDGES, CARTRIDGE, CartridgeBean.class,
-                RestConstants.CARTRIDGES_NAME);
-
-        assertEquals(CARTRIDGE, defaultCartridgeBean.getType());
-        List<IaasProviderBean> iaasProviders = defaultCartridgeBean.getIaasProvider();
-        assertNotNull(iaasProviders, "No Iaas Providers found in default cartridge definition");
-        IaasProviderBean mockIaasProvider = getMockIaasProvider(iaasProviders);
-        assertNotNull(mockIaasProvider, "Mock Iaas Provider not found in default cartridge definition");
-        assertNotNull(mockIaasProvider.getProperty(), "No properties found in Iaas Provider " +
-                "config of default cartridge definition");
-
-        ///applications/{applicationId}/deploy/{applicationPolicyId}
-        log.info("Deploying application [application id] app-iaasprovider-attribute-test using [application policy id] "
-                + "application-policy-iaasprovider-attribute-test");
-        String resourcePath = RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
-                RestConstants.APPLICATIONS_DEPLOY + "/" + APPLICATION_POLICY;
-        boolean appDeployed = restClient.deployEntity(resourcePath, RestConstants.APPLICATIONS_NAME);
-        assertTrue(appDeployed);
-
-        ApplicationBean applicationBean = (ApplicationBean) restClient
-                .getEntity(RestConstants.APPLICATIONS, APPLICATION, ApplicationBean.class,
-                        RestConstants.APPLICATIONS_NAME);
-        assertEquals(applicationBean.getApplicationId(), APPLICATION);
-
-        TopologyHandler topologyHandler = TopologyHandler.getInstance();
-
-        log.info("Waiting for application status to become ACTIVE...");
-        topologyHandler.assertApplicationStatus(applicationBean.getApplicationId(), ApplicationStatus.Active);
-
-        // create a ServerLogClientInstance and get logs
-        boolean found = false;
-        LogEvent[] logEvents = serverLogClient.getLogLines();
-        if (logEvents.length > 0) {
-            for (LogEvent log : logEvents) {
-                if (!log.getMessage().contains("cartridge_property_value_1") && log.getMessage().contains("cc_property_value_1")) {
-                    found = true;
-                    break;
-                }
-            }
-        }
-
-        assertTrue("Property 'property1' not found | value not equal to 'cc_property_value_1'", found);
-
-        // undeploy application
-        log.info("Un-deploying the application [application id] app-iaasprovider-attribute-test");
-        String resourcePathUndeploy = RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
-                RestConstants.APPLICATIONS_UNDEPLOY;
-
-        boolean undeployedApp = restClient.undeployEntity(resourcePathUndeploy, RestConstants
-                .APPLICATIONS_NAME);
-        assertTrue(undeployedApp);
-        log.info("Undeployed application 'app-iaasprovider-attribute-test'");
-
-        // force undeploy to make sure its undeployed
-        log.info("Force undeployment is going to start for the [application] app-iaasprovider-attribute-test");
-        restClient.undeployEntity(RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
-                RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", RestConstants.APPLICATIONS);
-
-        boolean forceUndeployed = topologyHandler.assertApplicationUndeploy("app-iaasprovider-attribute-test");
-        assertTrue(String.format("Forceful undeployment failed for the application %s",
-                "app-iaasprovider-attribute-test"), forceUndeployed);
-
-        // update cartridge
-        boolean updated = restClient.updateEntity(RESOURCES_PATH + "/cartridges/" + UPDATED_CARTRIDGE + ".json",
-                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-        assertTrue(updated);
-        log.info("Updated cartridge 'cartridge-iaasprovider-attribute-test'");
-
-        // re-deplpoy the application
-        resourcePath = RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
-                RestConstants.APPLICATIONS_DEPLOY + "/" + APPLICATION_POLICY;
-        appDeployed = restClient.deployEntity(resourcePath, RestConstants.APPLICATIONS_NAME);
-        assertTrue(appDeployed);
-        log.info("Re-deployed application 'app-iaasprovider-attribute-test'");
-
-        log.info("Waiting for application status to become ACTIVE...");
-        topologyHandler.assertApplicationStatus(applicationBean.getApplicationId(), ApplicationStatus.Active);
-
-        logEvents = serverLogClient.getLogLines();
-        found = false;
-        if (logEvents.length > 0) {
-            for (LogEvent log : logEvents) {
-                if (log.getMessage().contains("cartridge_property_value_1")) {
-                    found = true;
-                    break;
-                }
-            }
-        }
-
-        assertTrue("Property 'property1' not found | value not equal to 'cartridge_property_value_1'", found);
-    }
-
-    @AfterClass
-    public void tearDown () throws Exception {
-        terminateAndRemoveAllArtifacts();
-    }
-
-    private IaasProviderBean getMockIaasProvider(List<IaasProviderBean> iaasProviders) {
-        for (IaasProviderBean iaasProvider : iaasProviders) {
-            if ("mock".equals(iaasProvider.getType())) {
-                return iaasProvider;
-            }
-        }
-        return null;
-    }
-
-    private void terminateAndRemoveAllArtifacts () throws Exception {
-
-        TopologyHandler topologyHandler = TopologyHandler.getInstance();
-
-        log.info("Un-deploying the application [application id] app-iaasprovider-attribute-test");
-        String resourcePathUndeploy = RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
-                RestConstants.APPLICATIONS_UNDEPLOY;
-
-        boolean unDeployed = restClient.undeployEntity(resourcePathUndeploy, RestConstants.APPLICATIONS_NAME);
-        assertTrue(unDeployed);
-
-        boolean undeploy = topologyHandler.assertApplicationUndeploy("app-iaasprovider-attribute-test");
-        if (!undeploy) {
-            //Need to forcefully undeploy the application
-            log.info("Force undeployment is going to start for the [application] app-iaasprovider-attribute-test");
-
-            restClient.undeployEntity(RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
-                    RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", RestConstants.APPLICATIONS);
-
-            boolean forceUndeployed = topologyHandler.assertApplicationUndeploy("app-iaasprovider-attribute-test");
-            assertTrue(String.format("Forceful undeployment failed for the application %s",
-                    "app-iaasprovider-attribute-test"), forceUndeployed);
-        }
-
-        log.info("Removing the application [application id] app-iaasprovider-attribute-test");
-        boolean removedApp = restClient.removeEntity(RestConstants.APPLICATIONS, "app-iaasprovider-attribute-test",
-                RestConstants.APPLICATIONS_NAME);
-        assertTrue(removedApp);
-
-        ApplicationBean beanRemoved = (ApplicationBean) restClient
-                .getEntity(RestConstants.APPLICATIONS, "app-iaasprovider-attribute-test", ApplicationBean.class,
-                        RestConstants.APPLICATIONS_NAME);
-        assertNull(beanRemoved);
-
-        log.info("Removing the application policy [application policy id] "
-                + "application-policy-iaasprovider-attribute-test");
-        boolean removeAppPolicy = restClient
-                .removeEntity(RestConstants.APPLICATION_POLICIES, "application-policy-iaasprovider-attribute-test",
-                        RestConstants.APPLICATION_POLICIES_NAME);
-        assertTrue(removeAppPolicy);
-
-        log.info("Removing the cartridge [cartridge type] cartridge-iaasprovider-attribute-test");
-        boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, "cartridge-iaasprovider-attribute-test",
-                RestConstants.CARTRIDGES_NAME);
-        assertTrue(removedC1);
-
-        log.info("Removing the autoscaling policy [autoscaling policy id] " + AUTOSCALING_POLICY);
-        boolean removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES, AUTOSCALING_POLICY,
-                RestConstants.AUTOSCALING_POLICIES_NAME);
-        assertTrue(removedAuto);
-
-        log.info("Removing the deployment policy [deployment policy id] deployment-policy-iaasprovider-attribute-test");
-        boolean removedDep = restClient
-                .removeEntity(RestConstants.DEPLOYMENT_POLICIES, "deployment-policy-iaasprovider-attribute-test",
-                        RestConstants.DEPLOYMENT_POLICIES_NAME);
-        assertTrue(removedDep);
-
-        log.info("Removing the network partition [network partition id] network-partition-iaasprovider-attribute-test");
-        boolean removedNet = restClient
-                .removeEntity(RestConstants.NETWORK_PARTITIONS, "network-partition-iaasprovider-attribute-test",
-                        RestConstants.NETWORK_PARTITIONS_NAME);
-        assertTrue(removedNet);
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/31c46c1f/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/iaas/IaasProviderAttributeTestCase.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/iaas/IaasProviderAttributeTestCase.java b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/iaas/IaasProviderAttributeTestCase.java
new file mode 100644
index 0000000..a309284
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/iaas/IaasProviderAttributeTestCase.java
@@ -0,0 +1,274 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.integration.tests.iaas;
+
+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.cartridge.CartridgeBean;
+import org.apache.stratos.common.beans.cartridge.IaasProviderBean;
+import org.apache.stratos.integration.common.RestConstants;
+import org.apache.stratos.integration.common.ServerLogClient;
+import org.apache.stratos.integration.common.TopologyHandler;
+import org.apache.stratos.integration.tests.StratosIntegrationTest;
+import org.apache.stratos.messaging.domain.application.ApplicationStatus;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import org.wso2.carbon.logging.view.stub.types.carbon.LogEvent;
+
+import java.util.List;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.AssertJUnit.assertTrue;
+
+public class IaasProviderAttributeTest extends StratosIntegrationTest {
+
+    private static final Log log = LogFactory.getLog(IaasProviderAttributeTest.class);
+    private static final String RESOURCES_PATH = "/cartridge-iaas-attribute-test";
+    private static final String AUTOSCALING_POLICY = "autoscaling-policy-iaasprovider-attribute-test";
+    private static final String NETWORK_PARTITION = "network-partition-iaasprovider-attribute-test";
+    private static final String DEPLOYMENT_POLICY = "deployment-policy-iaasprovider-attribute-test";
+    private static final String APPLICATION_POLICY = "application-policy-iaasprovider-attribute-test";
+    private static final String CARTRIDGE = "cartridge-iaasprovider-attribute-test";
+    private static final String UPDATED_CARTRIDGE = "cartridge-iaasprovider-attribute-test-updated";
+    private static final String APPLICATION = "app-iaasprovider-attribute-test";
+    private ServerLogClient serverLogClient;
+
+    @BeforeClass
+    public void setup () throws Exception {
+        serverLogClient = new ServerLogClient(stratosSecuredBackendURL + "/services/", adminUsername, adminPassword);
+    }
+
+    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = {"stratos.cartridge.iaas.attributes", "all"})
+    public void testIaasProviderAttributes () throws Exception {
+
+        // add autoscaling policy
+        log.info("Adding autoscaling policy [autoscale policy id] " + AUTOSCALING_POLICY);
+        boolean addedScalingPolicy = restClient.addEntity(RESOURCES_PATH + RestConstants.
+                        AUTOSCALING_POLICIES_PATH + "/" + AUTOSCALING_POLICY + ".json",
+                RestConstants.AUTOSCALING_POLICIES, RestConstants.AUTOSCALING_POLICIES_NAME);
+        assertTrue(addedScalingPolicy);
+
+        // add network partition
+        log.info("Adding network partition [network partition id] " + NETWORK_PARTITION);
+        boolean addedN1 = restClient.addEntity(RESOURCES_PATH + "/network-partitions" + "/" +
+                        NETWORK_PARTITION + ".json", RestConstants.NETWORK_PARTITIONS,
+                RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(addedN1);
+
+        // add deployment policy
+        log.info("Adding deployment policy [deployment policy id] " + DEPLOYMENT_POLICY);
+        boolean addedDep = restClient.addEntity(RESOURCES_PATH + RestConstants.DEPLOYMENT_POLICIES_PATH + "/" +
+                        DEPLOYMENT_POLICY + ".json", RestConstants.DEPLOYMENT_POLICIES,
+                RestConstants.DEPLOYMENT_POLICIES_NAME);
+        assertTrue(addedDep);
+
+        // add application policy
+        log.info("Adding application policy [application policy id] " + APPLICATION_POLICY);
+        boolean addAppPolicy = restClient.addEntity(RESOURCES_PATH + RestConstants.APPLICATION_POLICIES_PATH + "/" +
+                        APPLICATION_POLICY + ".json", RestConstants.APPLICATION_POLICIES,
+                RestConstants.APPLICATION_POLICIES_NAME);
+        assertTrue(addAppPolicy);
+
+        // deploy a default cartridge
+        boolean defaultCartridgeAdded = restClient.addEntity(RESOURCES_PATH + "/cartridges/" + CARTRIDGE + ".json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue("Default cartridge not deployed properly", defaultCartridgeAdded);
+
+        // deploy application
+        log.info("Adding application [application id] " + APPLICATION);
+        boolean addedApp = restClient.addEntity(RESOURCES_PATH + RestConstants.APPLICATIONS_PATH + "/" +
+                APPLICATION + ".json", RestConstants.APPLICATIONS, RestConstants.APPLICATIONS_NAME);
+        assertEquals(addedApp, true);
+
+        // Test Iaas Provider attributes
+        CartridgeBean defaultCartridgeBean = (CartridgeBean) restClient.getEntity(RestConstants.CARTRIDGES, CARTRIDGE, CartridgeBean.class,
+                RestConstants.CARTRIDGES_NAME);
+
+        assertEquals(CARTRIDGE, defaultCartridgeBean.getType());
+        List<IaasProviderBean> iaasProviders = defaultCartridgeBean.getIaasProvider();
+        assertNotNull(iaasProviders, "No Iaas Providers found in default cartridge definition");
+        IaasProviderBean mockIaasProvider = getMockIaasProvider(iaasProviders);
+        assertNotNull(mockIaasProvider, "Mock Iaas Provider not found in default cartridge definition");
+        assertNotNull(mockIaasProvider.getProperty(), "No properties found in Iaas Provider " +
+                "config of default cartridge definition");
+
+        ///applications/{applicationId}/deploy/{applicationPolicyId}
+        log.info("Deploying application [application id] app-iaasprovider-attribute-test using [application policy id] "
+                + "application-policy-iaasprovider-attribute-test");
+        String resourcePath = RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
+                RestConstants.APPLICATIONS_DEPLOY + "/" + APPLICATION_POLICY;
+        boolean appDeployed = restClient.deployEntity(resourcePath, RestConstants.APPLICATIONS_NAME);
+        assertTrue(appDeployed);
+
+        ApplicationBean applicationBean = (ApplicationBean) restClient
+                .getEntity(RestConstants.APPLICATIONS, APPLICATION, ApplicationBean.class,
+                        RestConstants.APPLICATIONS_NAME);
+        assertEquals(applicationBean.getApplicationId(), APPLICATION);
+
+        TopologyHandler topologyHandler = TopologyHandler.getInstance();
+
+        log.info("Waiting for application status to become ACTIVE...");
+        topologyHandler.assertApplicationStatus(applicationBean.getApplicationId(), ApplicationStatus.Active);
+
+        // create a ServerLogClientInstance and get logs
+        boolean found = false;
+        LogEvent[] logEvents = serverLogClient.getLogLines();
+        if (logEvents.length > 0) {
+            for (LogEvent log : logEvents) {
+                if (!log.getMessage().contains("cartridge_property_value_1") && log.getMessage().contains("cc_property_value_1")) {
+                    found = true;
+                    break;
+                }
+            }
+        }
+
+        assertTrue("Property 'property1' not found | value not equal to 'cc_property_value_1'", found);
+
+        // undeploy application
+        log.info("Un-deploying the application [application id] app-iaasprovider-attribute-test");
+        String resourcePathUndeploy = RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
+                RestConstants.APPLICATIONS_UNDEPLOY;
+
+        boolean undeployedApp = restClient.undeployEntity(resourcePathUndeploy, RestConstants
+                .APPLICATIONS_NAME);
+        assertTrue(undeployedApp);
+        log.info("Undeployed application 'app-iaasprovider-attribute-test'");
+
+        // force undeploy to make sure its undeployed
+        log.info("Force undeployment is going to start for the [application] app-iaasprovider-attribute-test");
+        restClient.undeployEntity(RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
+                RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", RestConstants.APPLICATIONS);
+
+        boolean forceUndeployed = topologyHandler.assertApplicationUndeploy("app-iaasprovider-attribute-test");
+        assertTrue(String.format("Forceful undeployment failed for the application %s",
+                "app-iaasprovider-attribute-test"), forceUndeployed);
+
+        // update cartridge
+        boolean updated = restClient.updateEntity(RESOURCES_PATH + "/cartridges/" + UPDATED_CARTRIDGE + ".json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(updated);
+        log.info("Updated cartridge 'cartridge-iaasprovider-attribute-test'");
+
+        // re-deplpoy the application
+        resourcePath = RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
+                RestConstants.APPLICATIONS_DEPLOY + "/" + APPLICATION_POLICY;
+        appDeployed = restClient.deployEntity(resourcePath, RestConstants.APPLICATIONS_NAME);
+        assertTrue(appDeployed);
+        log.info("Re-deployed application 'app-iaasprovider-attribute-test'");
+
+        log.info("Waiting for application status to become ACTIVE...");
+        topologyHandler.assertApplicationStatus(applicationBean.getApplicationId(), ApplicationStatus.Active);
+
+        logEvents = serverLogClient.getLogLines();
+        found = false;
+        if (logEvents.length > 0) {
+            for (LogEvent log : logEvents) {
+                if (log.getMessage().contains("cartridge_property_value_1")) {
+                    found = true;
+                    break;
+                }
+            }
+        }
+
+        assertTrue("Property 'property1' not found | value not equal to 'cartridge_property_value_1'", found);
+    }
+
+    @AfterClass
+    public void tearDown () throws Exception {
+        terminateAndRemoveAllArtifacts();
+    }
+
+    private IaasProviderBean getMockIaasProvider(List<IaasProviderBean> iaasProviders) {
+        for (IaasProviderBean iaasProvider : iaasProviders) {
+            if ("mock".equals(iaasProvider.getType())) {
+                return iaasProvider;
+            }
+        }
+        return null;
+    }
+
+    private void terminateAndRemoveAllArtifacts () throws Exception {
+
+        TopologyHandler topologyHandler = TopologyHandler.getInstance();
+
+        log.info("Un-deploying the application [application id] app-iaasprovider-attribute-test");
+        String resourcePathUndeploy = RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
+                RestConstants.APPLICATIONS_UNDEPLOY;
+
+        boolean unDeployed = restClient.undeployEntity(resourcePathUndeploy, RestConstants.APPLICATIONS_NAME);
+        assertTrue(unDeployed);
+
+        boolean undeploy = topologyHandler.assertApplicationUndeploy("app-iaasprovider-attribute-test");
+        if (!undeploy) {
+            //Need to forcefully undeploy the application
+            log.info("Force undeployment is going to start for the [application] app-iaasprovider-attribute-test");
+
+            restClient.undeployEntity(RestConstants.APPLICATIONS + "/app-iaasprovider-attribute-test" +
+                    RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", RestConstants.APPLICATIONS);
+
+            boolean forceUndeployed = topologyHandler.assertApplicationUndeploy("app-iaasprovider-attribute-test");
+            assertTrue(String.format("Forceful undeployment failed for the application %s",
+                    "app-iaasprovider-attribute-test"), forceUndeployed);
+        }
+
+        log.info("Removing the application [application id] app-iaasprovider-attribute-test");
+        boolean removedApp = restClient.removeEntity(RestConstants.APPLICATIONS, "app-iaasprovider-attribute-test",
+                RestConstants.APPLICATIONS_NAME);
+        assertTrue(removedApp);
+
+        ApplicationBean beanRemoved = (ApplicationBean) restClient
+                .getEntity(RestConstants.APPLICATIONS, "app-iaasprovider-attribute-test", ApplicationBean.class,
+                        RestConstants.APPLICATIONS_NAME);
+        assertNull(beanRemoved);
+
+        log.info("Removing the application policy [application policy id] "
+                + "application-policy-iaasprovider-attribute-test");
+        boolean removeAppPolicy = restClient
+                .removeEntity(RestConstants.APPLICATION_POLICIES, "application-policy-iaasprovider-attribute-test",
+                        RestConstants.APPLICATION_POLICIES_NAME);
+        assertTrue(removeAppPolicy);
+
+        log.info("Removing the cartridge [cartridge type] cartridge-iaasprovider-attribute-test");
+        boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, "cartridge-iaasprovider-attribute-test",
+                RestConstants.CARTRIDGES_NAME);
+        assertTrue(removedC1);
+
+        log.info("Removing the autoscaling policy [autoscaling policy id] " + AUTOSCALING_POLICY);
+        boolean removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES, AUTOSCALING_POLICY,
+                RestConstants.AUTOSCALING_POLICIES_NAME);
+        assertTrue(removedAuto);
+
+        log.info("Removing the deployment policy [deployment policy id] deployment-policy-iaasprovider-attribute-test");
+        boolean removedDep = restClient
+                .removeEntity(RestConstants.DEPLOYMENT_POLICIES, "deployment-policy-iaasprovider-attribute-test",
+                        RestConstants.DEPLOYMENT_POLICIES_NAME);
+        assertTrue(removedDep);
+
+        log.info("Removing the network partition [network partition id] network-partition-iaasprovider-attribute-test");
+        boolean removedNet = restClient
+                .removeEntity(RestConstants.NETWORK_PARTITIONS, "network-partition-iaasprovider-attribute-test",
+                        RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(removedNet);
+    }
+}