http://git-wip-us.apache.org/repos/asf/stratos/blob/1803972c/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTest.java
 
b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTest.java
deleted file mode 100644
index cf4e995..0000000
--- 
a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTest.java
+++ /dev/null
@@ -1,272 +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.group;
-
-import com.google.gson.reflect.TypeToken;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.beans.cartridge.CartridgeGroupBean;
-import org.apache.stratos.integration.common.RestConstants;
-import org.apache.stratos.integration.tests.StratosIntegrationTest;
-import org.testng.annotations.Test;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.AssertJUnit.*;
-
-/**
- * Test to handle Cartridge group CRUD operations
- */
-public class CartridgeGroupTest extends StratosIntegrationTest {
-    private static final Log log = LogFactory.getLog(CartridgeGroupTest.class);
-    private static final String RESOURCES_PATH = "/cartridge-group-test";
-
-    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.cartridge.deployment", "smoke"})
-    public void testCartridgeGroup() {
-        try {
-            log.info("-------------------------Started Cartridge group test 
case-------------------------");
-
-            boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
-                            "/" + "c4-cartridge-group-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(String.format("Cartridge did not added: 
[cartridge-name] %s",
-                    "c4-cartridge-group-test"), addedC1);
-
-            boolean addedC2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
-                            "/" + "c5-cartridge-group-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(String.format("Cartridge did not added: 
[cartridge-name] %s",
-                    "c5-cartridge-group-test"), addedC2);
-
-            boolean addedC3 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
-                            "/" + "c6-cartridge-group-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(String.format("Cartridge did not added: 
[cartridge-name] %s",
-                    "c6-cartridge-group-test"), addedC3);
-
-            boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
-                            "/" + "g4-g5-g6-cartridge-group-test.json", 
RestConstants.CARTRIDGE_GROUPS,
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge Group did not added: 
[cartridge-group-name] %s",
-                    "g4-g5-g6-cartridge-group-test"), added);
-
-            CartridgeGroupBean bean = (CartridgeGroupBean) restClient.
-                    getEntity(RestConstants.CARTRIDGE_GROUPS, 
"G4-cartridge-group-test",
-                            CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertEquals(bean.getName(), "G4-cartridge-group-test",
-                    String.format("Cartridge Group name did not match: 
[cartridge-group-name] %s",
-                            "g4-g5-g6-cartridge-group-test.json"));
-
-            boolean updated = restClient.updateEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
-                            "/" + "g4-g5-g6-cartridge-group-test-v1.json",
-                    RestConstants.CARTRIDGE_GROUPS, 
RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge Group did not updated: 
[cartridge-group-name] %s",
-                    "g4-g5-g6-cartridge-group-test"), updated);
-
-            CartridgeGroupBean updatedBean = (CartridgeGroupBean) restClient.
-                    getEntity(RestConstants.CARTRIDGE_GROUPS, 
"G4-cartridge-group-test",
-                            CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertEquals(updatedBean.getName(), "G4-cartridge-group-test",
-                    String.format("Updated Cartridge Group didn't match: 
[cartridge-group-name] %s",
-                            "g4-g5-g6-cartridge-group-test"));
-
-            boolean removedC1 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c4-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertFalse(String.format("Cartridge can be removed while it is 
used in " +
-                    "cartridge group: [cartridge-name] %s", 
"c4-cartridge-group-test"), removedC1);
-
-            boolean removedC2 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c5-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertFalse(String.format("Cartridge can be removed while it is 
used in " +
-                            "cartridge group: [cartridge-name] %s",
-                    "c5-cartridge-group-test"), removedC2);
-
-            boolean removedC3 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c6-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertFalse(String.format("Cartridge can be removed while it is 
used in " +
-                            "cartridge group: [cartridge-name] %s",
-                    "c6-cartridge-group-test"), removedC3);
-
-            boolean removed = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
"G4-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge Group did not removed: 
[cartridge-group-name] %s",
-                    "g4-g5-g6-cartridge-group-test"), removed);
-
-            CartridgeGroupBean beanRemoved = (CartridgeGroupBean) restClient.
-                    getEntity(RestConstants.CARTRIDGE_GROUPS, 
"G4-cartridge-group-test",
-                            CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertEquals(beanRemoved, null,
-                    String.format("Cartridge Group did not removed completely: 
[cartridge-group-name] %s",
-                            "g4-g5-g6-cartridge-group-test"));
-
-            removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c4-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
-                    "c4-cartridge-group-test"), removedC1);
-
-            removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c5-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
-                    "c5-cartridge-group-test"), removedC2);
-
-            removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c6-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
-                    "c6-cartridge-group-test"), removedC3);
-
-            log.info("-------------------------Ended Cartridge group test 
case-------------------------");
-
-        }
-        catch (Exception e) {
-            log.error("An error occurred while handling Cartridge group test 
case", e);
-            assertFalse("An error occurred while handling Cartridge group test 
case", false);
-        }
-    }
-
-    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.cartridge.deployment", "smoke"})
-    public void testCartridgeGroupList() {
-        try {
-            log.info("-------------------------Started Cartridge group list 
test case-------------------------");
-
-            boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
-                            "/" + "c4-cartridge-group-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(String.format("Cartridge did not added: 
[cartridge-name] %s",
-                    "c4-cartridge-group-test"), addedC1);
-
-            boolean addedC2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
-                            "/" + "c5-cartridge-group-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(String.format("Cartridge did not added: 
[cartridge-name] %s",
-                    "c5-cartridge-group-test"), addedC2);
-
-            boolean addedC3 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
-                            "/" + "c6-cartridge-group-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(String.format("Cartridge did not added: 
[cartridge-name] %s",
-                    "c6-cartridge-group-test"), addedC3);
-
-            String group1 = "group-1-cartridge-group-test";
-            String group2 = "group-2-cartridge-group-test";
-
-            boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
-                            "/" + group1 + ".json", 
RestConstants.CARTRIDGE_GROUPS,
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge Group did not added: 
[cartridge-group-name] %s",
-                    group1), added);
-
-            added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
-                            "/" + group2 + ".json", 
RestConstants.CARTRIDGE_GROUPS,
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge Group did not added: 
[cartridge-group-name] %s",
-                    group1), added);
-
-            Type listType = new TypeToken<ArrayList<CartridgeGroupBean>>() {
-            }.getType();
-
-            List<CartridgeGroupBean> cartridgeGroupList = 
(List<CartridgeGroupBean>) restClient.
-                    listEntity(RestConstants.CARTRIDGE_GROUPS,
-                            listType, RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(cartridgeGroupList.size() >= 2);
-
-            CartridgeGroupBean bean1 = null;
-            for (CartridgeGroupBean cartridgeGroupBean : cartridgeGroupList) {
-                if (cartridgeGroupBean.getName().equals(group1)) {
-                    bean1 = cartridgeGroupBean;
-                }
-            }
-            assertNotNull(bean1);
-
-            CartridgeGroupBean bean2 = null;
-            for (CartridgeGroupBean cartridgeGroupBean : cartridgeGroupList) {
-                if (cartridgeGroupBean.getName().equals(group2)) {
-                    bean2 = cartridgeGroupBean;
-                }
-            }
-            assertNotNull(bean2);
-
-            boolean removed = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, group1,
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge Group did not removed: 
[cartridge-group-name] %s",
-                    group1), removed);
-
-            CartridgeGroupBean beanRemoved = (CartridgeGroupBean) restClient.
-                    getEntity(RestConstants.CARTRIDGE_GROUPS, group1,
-                            CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertNull(String.format("Cartridge Group did not removed 
completely: " +
-                            "[cartridge-group-name] %s",
-                    group1), beanRemoved);
-
-            boolean removedC1 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c4-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertFalse(String.format("Cartridge can be removed while it is 
used in " +
-                    "cartridge group: [cartridge-name] %s", 
"c4-cartridge-group-test"), removedC1);
-
-            boolean removedC2 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c5-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertFalse(String.format("Cartridge can be removed while it is 
used in " +
-                            "cartridge group: [cartridge-name] %s",
-                    "c5-cartridge-group-test"), removedC2);
-
-            boolean removedC3 = 
restClient.removeEntity(RestConstants.CARTRIDGES, "c6-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertFalse(String.format("Cartridge can be removed while it is 
used in " +
-                            "cartridge group: [cartridge-name] %s",
-                    "c6-cartridge-group-test"), removedC3);
-
-            removed = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
group2,
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge Group did not removed: 
[cartridge-group-name] %s",
-                    group2), removed);
-
-            beanRemoved = (CartridgeGroupBean) restClient.
-                    getEntity(RestConstants.CARTRIDGE_GROUPS, group2,
-                            CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertNull(String.format("Cartridge Group did not removed 
completely: " +
-                            "[cartridge-group-name] %s",
-                    group2), beanRemoved);
-
-            removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c4-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
-                    "c4-cartridge-group-test"), removedC1);
-
-            removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c5-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
-                    "c5-cartridge-group-test"), removedC2);
-
-            removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c6-cartridge-group-test",
-                    RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
-                    "c6-cartridge-group-test"), removedC3);
-
-            log.info("-------------------------Ended Cartridge group list test 
case-------------------------");
-        }
-        catch (Exception e) {
-            log.error("An error occurred while handling Cartridge list group 
test case", e);
-            assertFalse("An error occurred while handling Cartridge list group 
test case", false);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/1803972c/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTestCase.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTestCase.java
 
b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTestCase.java
new file mode 100644
index 0000000..38e440f
--- /dev/null
+++ 
b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTestCase.java
@@ -0,0 +1,251 @@
+/*
+ * 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.group;
+
+import com.google.gson.reflect.TypeToken;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.common.beans.cartridge.CartridgeGroupBean;
+import org.apache.stratos.integration.common.RestConstants;
+import org.apache.stratos.integration.tests.StratosIntegrationTest;
+import org.testng.annotations.Test;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.AssertJUnit.*;
+
+/**
+ * Test to handle Cartridge group CRUD operations
+ */
+public class CartridgeGroupTestCase extends StratosIntegrationTest {
+    private static final Log log = 
LogFactory.getLog(CartridgeGroupTestCase.class);
+    private static final String RESOURCES_PATH = "/cartridge-group-test";
+
+    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.cartridge.deployment", "smoke"})
+    public void testCartridgeGroup() throws Exception {
+        boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
+                        "/" + "c4-cartridge-group-test.json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(String.format("Cartridge did not added: [cartridge-name] 
%s",
+                "c4-cartridge-group-test"), addedC1);
+
+        boolean addedC2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
+                        "/" + "c5-cartridge-group-test.json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(String.format("Cartridge did not added: [cartridge-name] 
%s",
+                "c5-cartridge-group-test"), addedC2);
+
+        boolean addedC3 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
+                        "/" + "c6-cartridge-group-test.json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(String.format("Cartridge did not added: [cartridge-name] 
%s",
+                "c6-cartridge-group-test"), addedC3);
+
+        boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
+                        "/" + "g4-g5-g6-cartridge-group-test.json", 
RestConstants.CARTRIDGE_GROUPS,
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge Group did not added: 
[cartridge-group-name] %s",
+                "g4-g5-g6-cartridge-group-test"), added);
+
+        CartridgeGroupBean bean = (CartridgeGroupBean) restClient.
+                getEntity(RestConstants.CARTRIDGE_GROUPS, 
"G4-cartridge-group-test",
+                        CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertEquals(bean.getName(), "G4-cartridge-group-test",
+                String.format("Cartridge Group name did not match: 
[cartridge-group-name] %s",
+                        "g4-g5-g6-cartridge-group-test.json"));
+
+        boolean updated = restClient.updateEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
+                        "/" + "g4-g5-g6-cartridge-group-test-v1.json",
+                RestConstants.CARTRIDGE_GROUPS, 
RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge Group did not updated: 
[cartridge-group-name] %s",
+                "g4-g5-g6-cartridge-group-test"), updated);
+
+        CartridgeGroupBean updatedBean = (CartridgeGroupBean) restClient.
+                getEntity(RestConstants.CARTRIDGE_GROUPS, 
"G4-cartridge-group-test",
+                        CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertEquals(updatedBean.getName(), "G4-cartridge-group-test",
+                String.format("Updated Cartridge Group didn't match: 
[cartridge-group-name] %s",
+                        "g4-g5-g6-cartridge-group-test"));
+
+        boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c4-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertFalse(String.format("Cartridge can be removed while it is used 
in " +
+                "cartridge group: [cartridge-name] %s", 
"c4-cartridge-group-test"), removedC1);
+
+        boolean removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c5-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertFalse(String.format("Cartridge can be removed while it is used 
in " +
+                        "cartridge group: [cartridge-name] %s",
+                "c5-cartridge-group-test"), removedC2);
+
+        boolean removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c6-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertFalse(String.format("Cartridge can be removed while it is used 
in " +
+                        "cartridge group: [cartridge-name] %s",
+                "c6-cartridge-group-test"), removedC3);
+
+        boolean removed = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
"G4-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge Group did not removed: 
[cartridge-group-name] %s",
+                "g4-g5-g6-cartridge-group-test"), removed);
+
+        CartridgeGroupBean beanRemoved = (CartridgeGroupBean) restClient.
+                getEntity(RestConstants.CARTRIDGE_GROUPS, 
"G4-cartridge-group-test",
+                        CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertEquals(beanRemoved, null,
+                String.format("Cartridge Group did not removed completely: 
[cartridge-group-name] %s",
+                        "g4-g5-g6-cartridge-group-test"));
+
+        removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c4-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
+                "c4-cartridge-group-test"), removedC1);
+
+        removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c5-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
+                "c5-cartridge-group-test"), removedC2);
+
+        removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c6-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
+                "c6-cartridge-group-test"), removedC3);
+    }
+
+    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.cartridge.deployment", "smoke"})
+    public void testCartridgeGroupList() throws Exception {
+        boolean addedC1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
+                        "/" + "c4-cartridge-group-test.json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(String.format("Cartridge did not added: [cartridge-name] 
%s",
+                "c4-cartridge-group-test"), addedC1);
+
+        boolean addedC2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
+                        "/" + "c5-cartridge-group-test.json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(String.format("Cartridge did not added: [cartridge-name] 
%s",
+                "c5-cartridge-group-test"), addedC2);
+
+        boolean addedC3 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH +
+                        "/" + "c6-cartridge-group-test.json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(String.format("Cartridge did not added: [cartridge-name] 
%s",
+                "c6-cartridge-group-test"), addedC3);
+
+        String group1 = "group-1-cartridge-group-test";
+        String group2 = "group-2-cartridge-group-test";
+
+        boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
+                        "/" + group1 + ".json", RestConstants.CARTRIDGE_GROUPS,
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge Group did not added: 
[cartridge-group-name] %s",
+                group1), added);
+
+        added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
+                        "/" + group2 + ".json", RestConstants.CARTRIDGE_GROUPS,
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge Group did not added: 
[cartridge-group-name] %s",
+                group1), added);
+
+        Type listType = new TypeToken<ArrayList<CartridgeGroupBean>>() {
+        }.getType();
+
+        List<CartridgeGroupBean> cartridgeGroupList = 
(List<CartridgeGroupBean>) restClient.
+                listEntity(RestConstants.CARTRIDGE_GROUPS,
+                        listType, RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(cartridgeGroupList.size() >= 2);
+
+        CartridgeGroupBean bean1 = null;
+        for (CartridgeGroupBean cartridgeGroupBean : cartridgeGroupList) {
+            if (cartridgeGroupBean.getName().equals(group1)) {
+                bean1 = cartridgeGroupBean;
+            }
+        }
+        assertNotNull(bean1);
+
+        CartridgeGroupBean bean2 = null;
+        for (CartridgeGroupBean cartridgeGroupBean : cartridgeGroupList) {
+            if (cartridgeGroupBean.getName().equals(group2)) {
+                bean2 = cartridgeGroupBean;
+            }
+        }
+        assertNotNull(bean2);
+
+        boolean removed = 
restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, group1,
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge Group did not removed: 
[cartridge-group-name] %s",
+                group1), removed);
+
+        CartridgeGroupBean beanRemoved = (CartridgeGroupBean) restClient.
+                getEntity(RestConstants.CARTRIDGE_GROUPS, group1,
+                        CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertNull(String.format("Cartridge Group did not removed completely: 
" +
+                        "[cartridge-group-name] %s",
+                group1), beanRemoved);
+
+        boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c4-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertFalse(String.format("Cartridge can be removed while it is used 
in " +
+                "cartridge group: [cartridge-name] %s", 
"c4-cartridge-group-test"), removedC1);
+
+        boolean removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c5-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertFalse(String.format("Cartridge can be removed while it is used 
in " +
+                        "cartridge group: [cartridge-name] %s",
+                "c5-cartridge-group-test"), removedC2);
+
+        boolean removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c6-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertFalse(String.format("Cartridge can be removed while it is used 
in " +
+                        "cartridge group: [cartridge-name] %s",
+                "c6-cartridge-group-test"), removedC3);
+
+        removed = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, 
group2,
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge Group did not removed: 
[cartridge-group-name] %s",
+                group2), removed);
+
+        beanRemoved = (CartridgeGroupBean) restClient.
+                getEntity(RestConstants.CARTRIDGE_GROUPS, group2,
+                        CartridgeGroupBean.class, 
RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertNull(String.format("Cartridge Group did not removed completely: 
" +
+                        "[cartridge-group-name] %s",
+                group2), beanRemoved);
+
+        removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c4-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
+                "c4-cartridge-group-test"), removedC1);
+
+        removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c5-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
+                "c5-cartridge-group-test"), removedC2);
+
+        removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, 
"c6-cartridge-group-test",
+                RestConstants.CARTRIDGE_GROUPS_NAME);
+        assertTrue(String.format("Cartridge can not be removed : 
[cartridge-name] %s",
+                "c6-cartridge-group-test"), removedC3);
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/1803972c/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeTest.java
 
b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeTest.java
deleted file mode 100644
index 1e72dc5..0000000
--- 
a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeTest.java
+++ /dev/null
@@ -1,203 +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.group;
-
-import com.google.gson.reflect.TypeToken;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.beans.PropertyBean;
-import org.apache.stratos.common.beans.cartridge.CartridgeBean;
-import org.apache.stratos.integration.common.RestConstants;
-import org.apache.stratos.integration.tests.StratosIntegrationTest;
-import org.testng.annotations.Test;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
-import static org.testng.AssertJUnit.assertNotNull;
-import static org.testng.AssertJUnit.assertTrue;
-
-/**
- * Test to handle Cartridge CRUD operations
- */
-public class CartridgeTest extends StratosIntegrationTest {
-    private static final Log log = LogFactory.getLog(CartridgeTest.class);
-    private static final String RESOURCES_PATH = "/cartridge-test";
-
-    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.cartridge.deployment", "smoke"})
-    public void testCartridge() {
-        log.info("--------------------Started Cartridge test 
case-----------------------------");
-
-        try {
-            String cartridgeType = "c0-cartridge-test";
-            boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" +
-                            cartridgeType + ".json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(added);
-            CartridgeBean bean = (CartridgeBean) restClient.
-                    getEntity(RestConstants.CARTRIDGES, cartridgeType,
-                            CartridgeBean.class, 
RestConstants.CARTRIDGES_NAME);
-            assertEquals(bean.getCategory(), "Application");
-            assertEquals(bean.getHost(), "qmog.cisco.com");
-            for (PropertyBean property : bean.getProperty()) {
-                if (property.getName().equals("payload_parameter.CEP_IP")) {
-                    assertEquals(property.getValue(), "octl.qmog.cisco.com");
-                } else if 
(property.getName().equals("payload_parameter.CEP_ADMIN_PASSWORD")) {
-                    assertEquals(property.getValue(), "admin");
-                } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_IP")) {
-                    assertEquals(property.getValue(), "octl.qmog.cisco.com");
-                } else if 
(property.getName().equals("payload_parameter.QTCM_NETWORK_COUNT")) {
-                    assertEquals(property.getValue(), "1");
-                } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_ADMIN_PASSWORD"))
 {
-                    assertEquals(property.getValue(), "admin");
-                } else if 
(property.getName().equals("payload_parameter.QTCM_DNS_SEGMENT")) {
-                    assertEquals(property.getValue(), "test");
-                } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_SECURE_PORT")) {
-                    assertEquals(property.getValue(), "7711");
-                } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_PORT")) {
-                    assertEquals(property.getValue(), "7611");
-                } else if 
(property.getName().equals("payload_parameter.CEP_PORT")) {
-                    assertEquals(property.getValue(), "7611");
-                } else if 
(property.getName().equals("payload_parameter.MB_PORT")) {
-                    assertEquals(property.getValue(), "61616");
-                }
-            }
-
-
-            boolean updated = restClient.updateEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" +
-                            cartridgeType + "-v1.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(updated);
-            CartridgeBean updatedBean = (CartridgeBean) restClient.
-                    getEntity(RestConstants.CARTRIDGES, cartridgeType,
-                            CartridgeBean.class, 
RestConstants.CARTRIDGES_NAME);
-            assertEquals(updatedBean.getType(), "c0-cartridge-test");
-            assertEquals(updatedBean.getCategory(), "Data");
-            assertEquals(updatedBean.getHost(), "qmog.cisco.com12");
-            for (PropertyBean property : updatedBean.getProperty()) {
-                if (property.getName().equals("payload_parameter.CEP_IP")) {
-                    assertEquals(property.getValue(), 
"octl.qmog.cisco.com123");
-                } else if 
(property.getName().equals("payload_parameter.CEP_ADMIN_PASSWORD")) {
-                    assertEquals(property.getValue(), "admin123");
-                } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_IP")) {
-                    assertEquals(property.getValue(), 
"octl.qmog.cisco.com123");
-                } else if 
(property.getName().equals("payload_parameter.QTCM_NETWORK_COUNT")) {
-                    assertEquals(property.getValue(), "3");
-                } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_ADMIN_PASSWORD"))
 {
-                    assertEquals(property.getValue(), "admin123");
-                } else if 
(property.getName().equals("payload_parameter.QTCM_DNS_SEGMENT")) {
-                    assertEquals(property.getValue(), "test123");
-                } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_SECURE_PORT")) {
-                    assertEquals(property.getValue(), "7712");
-                } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_PORT")) {
-                    assertEquals(property.getValue(), "7612");
-                } else if 
(property.getName().equals("payload_parameter.CEP_PORT")) {
-                    assertEquals(property.getValue(), "7612");
-                } else if 
(property.getName().equals("payload_parameter.MB_PORT")) {
-                    assertEquals(property.getValue(), "61617");
-                }
-            }
-
-            boolean removed = 
restClient.removeEntity(RestConstants.CARTRIDGES, cartridgeType,
-                    RestConstants.CARTRIDGES_NAME);
-            assertTrue(removed);
-
-            CartridgeBean beanRemoved = (CartridgeBean) restClient.
-                    getEntity(RestConstants.CARTRIDGES, cartridgeType,
-                            CartridgeBean.class, 
RestConstants.CARTRIDGES_NAME);
-            assertNull(beanRemoved);
-
-            log.info("---------------------------Ended Cartridge test 
case-------------------------");
-        }
-        catch (Exception e) {
-            log.error("An error occurred while handling 
RESTConstants.CARTRIDGES_PATH", e);
-            assertTrue("An error occurred while handling 
RESTConstants.CARTRIDGES_PATH", false);
-        }
-    }
-
-    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.cartridge.deployment", "smoke"})
-    public void testCartridgeList() {
-        log.info("--------------------Started Cartridge list test 
case-----------------------------");
-
-        try {
-            String cartridgeType1 = "c1-cartridge-test";
-            String cartridgeType2 = "c2-cartridge-test";
-            boolean added1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" +
-                            cartridgeType1 + ".json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(added1);
-
-            boolean added2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" +
-                            cartridgeType2 + ".json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(added2);
-
-            Type listType = new TypeToken<ArrayList<CartridgeBean>>() {
-            }.getType();
-
-            List<CartridgeBean> cartridgeList = (List<CartridgeBean>) 
restClient.listEntity(RestConstants.CARTRIDGES,
-                    listType, RestConstants.CARTRIDGES_NAME);
-            assertTrue(cartridgeList.size() >= 2);
-
-            CartridgeBean bean1 = null;
-            for (CartridgeBean cartridgeBean : cartridgeList) {
-                if (cartridgeBean.getType().equals(cartridgeType1)) {
-                    bean1 = cartridgeBean;
-                }
-            }
-            assertNotNull(bean1);
-
-            CartridgeBean bean2 = null;
-            for (CartridgeBean cartridgeBean : cartridgeList) {
-                if (cartridgeBean.getType().equals(cartridgeType1)) {
-                    bean2 = cartridgeBean;
-                }
-            }
-            assertNotNull(bean2);
-
-            boolean removed = 
restClient.removeEntity(RestConstants.CARTRIDGES, cartridgeType1,
-                    RestConstants.CARTRIDGES_NAME);
-            assertTrue(removed);
-
-            CartridgeBean beanRemoved = (CartridgeBean) restClient.
-                    getEntity(RestConstants.CARTRIDGES, cartridgeType1,
-                            CartridgeBean.class, 
RestConstants.CARTRIDGES_NAME);
-            assertEquals(beanRemoved, null);
-
-            removed = restClient.removeEntity(RestConstants.CARTRIDGES, 
cartridgeType2,
-                    RestConstants.CARTRIDGES_NAME);
-            assertTrue(removed);
-
-            beanRemoved = (CartridgeBean) restClient.
-                    getEntity(RestConstants.CARTRIDGES, cartridgeType2,
-                            CartridgeBean.class, 
RestConstants.CARTRIDGES_NAME);
-            assertNull(beanRemoved);
-
-            log.info("---------------------------Ended Cartridge list test 
case-------------------------");
-        }
-        catch (Exception e) {
-            log.error("An error occurred while handling Cartridges list", e);
-            assertTrue("An error occurred while handling Cartridges list", 
false);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1803972c/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeTestCase.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeTestCase.java
 
b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeTestCase.java
new file mode 100644
index 0000000..4e9484a
--- /dev/null
+++ 
b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeTestCase.java
@@ -0,0 +1,183 @@
+/*
+ * 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.group;
+
+import com.google.gson.reflect.TypeToken;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.common.beans.PropertyBean;
+import org.apache.stratos.common.beans.cartridge.CartridgeBean;
+import org.apache.stratos.integration.common.RestConstants;
+import org.apache.stratos.integration.tests.StratosIntegrationTest;
+import org.testng.annotations.Test;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
+/**
+ * Test to handle Cartridge CRUD operations
+ */
+public class CartridgeTestCase extends StratosIntegrationTest {
+    private static final Log log = LogFactory.getLog(CartridgeTestCase.class);
+    private static final String RESOURCES_PATH = "/cartridge-test";
+
+    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.cartridge.deployment", "smoke"})
+    public void testCartridge() throws Exception {
+        String cartridgeType = "c0-cartridge-test";
+        boolean added = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" +
+                        cartridgeType + ".json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(added);
+        CartridgeBean bean = (CartridgeBean) restClient.
+                getEntity(RestConstants.CARTRIDGES, cartridgeType,
+                        CartridgeBean.class, RestConstants.CARTRIDGES_NAME);
+        assertEquals(bean.getCategory(), "Application");
+        assertEquals(bean.getHost(), "qmog.cisco.com");
+        for (PropertyBean property : bean.getProperty()) {
+            if (property.getName().equals("payload_parameter.CEP_IP")) {
+                assertEquals(property.getValue(), "octl.qmog.cisco.com");
+            } else if 
(property.getName().equals("payload_parameter.CEP_ADMIN_PASSWORD")) {
+                assertEquals(property.getValue(), "admin");
+            } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_IP")) {
+                assertEquals(property.getValue(), "octl.qmog.cisco.com");
+            } else if 
(property.getName().equals("payload_parameter.QTCM_NETWORK_COUNT")) {
+                assertEquals(property.getValue(), "1");
+            } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_ADMIN_PASSWORD"))
 {
+                assertEquals(property.getValue(), "admin");
+            } else if 
(property.getName().equals("payload_parameter.QTCM_DNS_SEGMENT")) {
+                assertEquals(property.getValue(), "test");
+            } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_SECURE_PORT")) {
+                assertEquals(property.getValue(), "7711");
+            } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_PORT")) {
+                assertEquals(property.getValue(), "7611");
+            } else if 
(property.getName().equals("payload_parameter.CEP_PORT")) {
+                assertEquals(property.getValue(), "7611");
+            } else if (property.getName().equals("payload_parameter.MB_PORT")) 
{
+                assertEquals(property.getValue(), "61616");
+            }
+        }
+
+
+        boolean updated = restClient.updateEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" +
+                        cartridgeType + "-v1.json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(updated);
+        CartridgeBean updatedBean = (CartridgeBean) restClient.
+                getEntity(RestConstants.CARTRIDGES, cartridgeType,
+                        CartridgeBean.class, RestConstants.CARTRIDGES_NAME);
+        assertEquals(updatedBean.getType(), "c0-cartridge-test");
+        assertEquals(updatedBean.getCategory(), "Data");
+        assertEquals(updatedBean.getHost(), "qmog.cisco.com12");
+        for (PropertyBean property : updatedBean.getProperty()) {
+            if (property.getName().equals("payload_parameter.CEP_IP")) {
+                assertEquals(property.getValue(), "octl.qmog.cisco.com123");
+            } else if 
(property.getName().equals("payload_parameter.CEP_ADMIN_PASSWORD")) {
+                assertEquals(property.getValue(), "admin123");
+            } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_IP")) {
+                assertEquals(property.getValue(), "octl.qmog.cisco.com123");
+            } else if 
(property.getName().equals("payload_parameter.QTCM_NETWORK_COUNT")) {
+                assertEquals(property.getValue(), "3");
+            } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_ADMIN_PASSWORD"))
 {
+                assertEquals(property.getValue(), "admin123");
+            } else if 
(property.getName().equals("payload_parameter.QTCM_DNS_SEGMENT")) {
+                assertEquals(property.getValue(), "test123");
+            } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_SECURE_PORT")) {
+                assertEquals(property.getValue(), "7712");
+            } else if 
(property.getName().equals("payload_parameter.MONITORING_SERVER_PORT")) {
+                assertEquals(property.getValue(), "7612");
+            } else if 
(property.getName().equals("payload_parameter.CEP_PORT")) {
+                assertEquals(property.getValue(), "7612");
+            } else if (property.getName().equals("payload_parameter.MB_PORT")) 
{
+                assertEquals(property.getValue(), "61617");
+            }
+        }
+
+        boolean removed = restClient.removeEntity(RestConstants.CARTRIDGES, 
cartridgeType,
+                RestConstants.CARTRIDGES_NAME);
+        assertTrue(removed);
+
+        CartridgeBean beanRemoved = (CartridgeBean) restClient.
+                getEntity(RestConstants.CARTRIDGES, cartridgeType,
+                        CartridgeBean.class, RestConstants.CARTRIDGES_NAME);
+        assertNull(beanRemoved);
+    }
+
+    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.cartridge.deployment", "smoke"})
+    public void testCartridgeList() throws Exception {
+        String cartridgeType1 = "c1-cartridge-test";
+        String cartridgeType2 = "c2-cartridge-test";
+        boolean added1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" +
+                        cartridgeType1 + ".json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(added1);
+
+        boolean added2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" +
+                        cartridgeType2 + ".json",
+                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        assertTrue(added2);
+
+        Type listType = new TypeToken<ArrayList<CartridgeBean>>() {
+        }.getType();
+
+        List<CartridgeBean> cartridgeList = (List<CartridgeBean>) 
restClient.listEntity(RestConstants.CARTRIDGES,
+                listType, RestConstants.CARTRIDGES_NAME);
+        assertTrue(cartridgeList.size() >= 2);
+
+        CartridgeBean bean1 = null;
+        for (CartridgeBean cartridgeBean : cartridgeList) {
+            if (cartridgeBean.getType().equals(cartridgeType1)) {
+                bean1 = cartridgeBean;
+            }
+        }
+        assertNotNull(bean1);
+
+        CartridgeBean bean2 = null;
+        for (CartridgeBean cartridgeBean : cartridgeList) {
+            if (cartridgeBean.getType().equals(cartridgeType1)) {
+                bean2 = cartridgeBean;
+            }
+        }
+        assertNotNull(bean2);
+
+        boolean removed = restClient.removeEntity(RestConstants.CARTRIDGES, 
cartridgeType1,
+                RestConstants.CARTRIDGES_NAME);
+        assertTrue(removed);
+
+        CartridgeBean beanRemoved = (CartridgeBean) restClient.
+                getEntity(RestConstants.CARTRIDGES, cartridgeType1,
+                        CartridgeBean.class, RestConstants.CARTRIDGES_NAME);
+        assertEquals(beanRemoved, null);
+
+        removed = restClient.removeEntity(RestConstants.CARTRIDGES, 
cartridgeType2,
+                RestConstants.CARTRIDGES_NAME);
+        assertTrue(removed);
+
+        beanRemoved = (CartridgeBean) restClient.
+                getEntity(RestConstants.CARTRIDGES, cartridgeType2,
+                        CartridgeBean.class, RestConstants.CARTRIDGES_NAME);
+        assertNull(beanRemoved);
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/1803972c/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/policies/ApplicationPolicyTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/policies/ApplicationPolicyTest.java
 
b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/policies/ApplicationPolicyTest.java
deleted file mode 100644
index 5df6f4f..0000000
--- 
a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/policies/ApplicationPolicyTest.java
+++ /dev/null
@@ -1,243 +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.policies;
-
-import com.google.gson.reflect.TypeToken;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.beans.PropertyBean;
-import org.apache.stratos.common.beans.partition.NetworkPartitionBean;
-import org.apache.stratos.common.beans.policy.deployment.ApplicationPolicyBean;
-import org.apache.stratos.integration.common.RestConstants;
-import org.apache.stratos.integration.tests.StratosIntegrationTest;
-import org.testng.annotations.Test;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.testng.Assert.*;
-import static org.testng.AssertJUnit.assertFalse;
-import static org.testng.AssertJUnit.assertTrue;
-
-/**
- * Test to handle Network partition CRUD operations
- */
-public class ApplicationPolicyTest extends StratosIntegrationTest {
-    private static final Log log = 
LogFactory.getLog(ApplicationPolicyTest.class);
-    private static final String RESOURCES_PATH = "/application-policy-test";
-
-    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.policy.management", "smoke"})
-    public void testApplicationPolicy() {
-        try {
-            String applicationPolicyId = 
"application-policy-application-policy-test";
-            log.info("-------------------------Started Application policy test 
case-------------------------");
-
-            boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
-                            "network-partition-application-policy-test-1" + 
".json",
-                    RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertTrue(addedN1);
-
-            boolean addedN2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
-                            "network-partition-application-policy-test-2" + 
".json",
-                    RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertTrue(addedN2);
-
-            boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
-                            applicationPolicyId + ".json",
-                    RestConstants.APPLICATION_POLICIES, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertTrue(addedDep);
-
-            ApplicationPolicyBean bean = (ApplicationPolicyBean) restClient.
-                    getEntity(RestConstants.APPLICATION_POLICIES, 
applicationPolicyId,
-                            ApplicationPolicyBean.class, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertEquals(bean.getId(), applicationPolicyId);
-            assertEquals(bean.getAlgorithm(), "one-after-another",
-                    String.format("The expected algorithm %s is not found in 
%s", "one-after-another",
-                            applicationPolicyId));
-            assertEquals(bean.getId(), applicationPolicyId,
-                    String.format("The expected id %s is not found", 
applicationPolicyId));
-            assertEquals(bean.getNetworkPartitions().length, 2,
-                    String.format("The expected networkpartitions size %s is 
not found in %s", 2, applicationPolicyId));
-            assertEquals(bean.getNetworkPartitions()[0], 
"network-partition-application-policy-test-1",
-                    String.format("The first network partition is not %s in 
%s",
-                            "network-partition-application-policy-test-1", 
applicationPolicyId));
-            assertEquals(bean.getNetworkPartitions()[1], 
"network-partition-application-policy-test-2",
-                    String.format("The Second network partition is not %s in 
%s",
-                            "network-partition-application-policy-test-2", 
applicationPolicyId));
-            boolean algoFound = false;
-            for (PropertyBean propertyBean : bean.getProperties()) {
-                if (propertyBean.getName().equals("networkPartitionGroups")) {
-                    assertEquals(propertyBean.getValue(),
-                            
"network-partition-application-policy-test-1,network-partition-application-policy-test-2",
-                            String.format("The networkPartitionGroups 
algorithm %s is not found in %s",
-                                    
"network-partition-application-policy-test-1, 
network-partition-application-policy-test-2",
-                                    applicationPolicyId));
-                    algoFound = true;
-
-                }
-            }
-            if (!algoFound) {
-                assertNull(String.format("The networkPartitionGroups property 
is not found in %s",
-                        applicationPolicyId));
-            }
-
-            boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
-                    "network-partition-application-policy-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
-            //Trying to remove the used network partition
-            assertFalse(removedNet);
-
-            boolean removedDep = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
-                    applicationPolicyId, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertTrue(removedDep);
-
-            ApplicationPolicyBean beanRemovedDep = (ApplicationPolicyBean) 
restClient.
-                    getEntity(RestConstants.APPLICATION_POLICIES, 
applicationPolicyId,
-                            ApplicationPolicyBean.class, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertNull(beanRemovedDep);
-
-            boolean removedN1 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
-                    "network-partition-application-policy-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertTrue(removedN1);
-
-            NetworkPartitionBean beanRemovedN1 = (NetworkPartitionBean) 
restClient.
-                    getEntity(RestConstants.NETWORK_PARTITIONS, 
"network-partition-application-policy-test-1",
-                            NetworkPartitionBean.class, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertNull(beanRemovedN1);
-
-            boolean removedN2 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
-                    "network-partition-application-policy-test-2", 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertTrue(removedN2);
-
-            NetworkPartitionBean beanRemovedN2 = (NetworkPartitionBean) 
restClient.
-                    getEntity(RestConstants.NETWORK_PARTITIONS, 
"network-partition-application-policy-test-2",
-                            NetworkPartitionBean.class, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertNull(beanRemovedN2);
-
-            log.info("-------------------------Ended deployment policy test 
case-------------------------");
-
-        }
-        catch (Exception e) {
-            log.error("An error occurred while handling deployment policy", e);
-            assertTrue("An error occurred while handling deployment policy", 
false);
-        }
-    }
-
-    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.policy.management", "smoke"})
-    public void testApplicationPolicyList() {
-        try {
-            String applicationPolicyId1 = 
"application-policy-application-policy-test-1";
-            String applicationPolicyId2 = 
"application-policy-application-policy-test-2";
-            log.info("-------------------------Started Application policy list 
test case-------------------------");
-
-            boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
-                            "network-partition-application-policy-test-1" + 
".json",
-                    RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertTrue(addedN1);
-
-            boolean addedN2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
-                            "network-partition-application-policy-test-2" + 
".json",
-                    RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertTrue(addedN2);
-
-            boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
-                            applicationPolicyId1 + ".json",
-                    RestConstants.APPLICATION_POLICIES, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertTrue(addedDep);
-
-            addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
-                            applicationPolicyId2 + ".json",
-                    RestConstants.APPLICATION_POLICIES, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertTrue(addedDep);
-
-            Type listType = new TypeToken<ArrayList<ApplicationPolicyBean>>() {
-            }.getType();
-
-            List<ApplicationPolicyBean> applicationPolicyList = 
(List<ApplicationPolicyBean>) restClient.
-                    listEntity(RestConstants.APPLICATION_POLICIES,
-                            listType, RestConstants.APPLICATION_POLICIES_NAME);
-            assertTrue(applicationPolicyList.size() >= 2);
-
-            ApplicationPolicyBean bean1 = null;
-            for (ApplicationPolicyBean applicationPolicyBean : 
applicationPolicyList) {
-                if 
(applicationPolicyBean.getId().equals(applicationPolicyId1)) {
-                    bean1 = applicationPolicyBean;
-                }
-            }
-            assertNotNull(bean1);
-
-            ApplicationPolicyBean bean2 = null;
-            for (ApplicationPolicyBean applicationPolicyBean : 
applicationPolicyList) {
-                if 
(applicationPolicyBean.getId().equals(applicationPolicyId2)) {
-                    bean2 = applicationPolicyBean;
-                }
-            }
-            assertNotNull(bean2);
-
-            boolean removedDep = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
-                    applicationPolicyId1, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertTrue(removedDep);
-
-            ApplicationPolicyBean beanRemovedDep = (ApplicationPolicyBean) 
restClient.
-                    getEntity(RestConstants.APPLICATION_POLICIES, 
applicationPolicyId1,
-                            ApplicationPolicyBean.class, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertNull(beanRemovedDep);
-
-            boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
-                    "network-partition-application-policy-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
-            //Trying to remove the used network partition
-            assertFalse(removedNet);
-
-            removedDep = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
-                    applicationPolicyId2, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertTrue(removedDep);
-
-            beanRemovedDep = (ApplicationPolicyBean) restClient.
-                    getEntity(RestConstants.APPLICATION_POLICIES, 
applicationPolicyId2,
-                            ApplicationPolicyBean.class, 
RestConstants.APPLICATION_POLICIES_NAME);
-            assertNull(beanRemovedDep);
-
-            boolean removedN1 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
-                    "network-partition-application-policy-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertTrue(removedN1);
-
-            NetworkPartitionBean beanRemovedN1 = (NetworkPartitionBean) 
restClient.
-                    getEntity(RestConstants.NETWORK_PARTITIONS, 
"network-partition-application-policy-test-1",
-                            NetworkPartitionBean.class, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertNull(beanRemovedN1);
-
-            boolean removedN2 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
-                    "network-partition-application-policy-test-2", 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertTrue(removedN2);
-
-            NetworkPartitionBean beanRemovedN2 = (NetworkPartitionBean) 
restClient.
-                    getEntity(RestConstants.NETWORK_PARTITIONS, 
"network-partition-application-policy-test-2",
-                            NetworkPartitionBean.class, 
RestConstants.NETWORK_PARTITIONS_NAME);
-            assertNull(beanRemovedN2);
-
-            log.info("-------------------------Ended deployment policy test 
case-------------------------");
-
-        }
-        catch (Exception e) {
-            log.error("An error occurred while handling deployment policy", e);
-            assertTrue("An error occurred while handling deployment policy", 
false);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/1803972c/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/policies/ApplicationPolicyTestCase.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/policies/ApplicationPolicyTestCase.java
 
b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/policies/ApplicationPolicyTestCase.java
new file mode 100644
index 0000000..2ae3207
--- /dev/null
+++ 
b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/policies/ApplicationPolicyTestCase.java
@@ -0,0 +1,222 @@
+/*
+ * 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.policies;
+
+import com.google.gson.reflect.TypeToken;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.common.beans.PropertyBean;
+import org.apache.stratos.common.beans.partition.NetworkPartitionBean;
+import org.apache.stratos.common.beans.policy.deployment.ApplicationPolicyBean;
+import org.apache.stratos.integration.common.RestConstants;
+import org.apache.stratos.integration.tests.StratosIntegrationTest;
+import org.testng.annotations.Test;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.testng.Assert.*;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
+
+/**
+ * Test to handle Network partition CRUD operations
+ */
+public class ApplicationPolicyTestCase extends StratosIntegrationTest {
+    private static final Log log = 
LogFactory.getLog(ApplicationPolicyTestCase.class);
+    private static final String RESOURCES_PATH = "/application-policy-test";
+
+    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.policy.management", "smoke"})
+    public void testApplicationPolicy() throws Exception {
+        String applicationPolicyId = 
"application-policy-application-policy-test";
+        boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+                        "network-partition-application-policy-test-1" + 
".json",
+                RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(addedN1);
+
+        boolean addedN2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+                        "network-partition-application-policy-test-2" + 
".json",
+                RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(addedN2);
+
+        boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
+                        applicationPolicyId + ".json",
+                RestConstants.APPLICATION_POLICIES, 
RestConstants.APPLICATION_POLICIES_NAME);
+        assertTrue(addedDep);
+
+        ApplicationPolicyBean bean = (ApplicationPolicyBean) restClient.
+                getEntity(RestConstants.APPLICATION_POLICIES, 
applicationPolicyId,
+                        ApplicationPolicyBean.class, 
RestConstants.APPLICATION_POLICIES_NAME);
+        assertEquals(bean.getId(), applicationPolicyId);
+        assertEquals(bean.getAlgorithm(), "one-after-another",
+                String.format("The expected algorithm %s is not found in %s", 
"one-after-another",
+                        applicationPolicyId));
+        assertEquals(bean.getId(), applicationPolicyId,
+                String.format("The expected id %s is not found", 
applicationPolicyId));
+        assertEquals(bean.getNetworkPartitions().length, 2,
+                String.format("The expected networkpartitions size %s is not 
found in %s", 2, applicationPolicyId));
+        assertEquals(bean.getNetworkPartitions()[0], 
"network-partition-application-policy-test-1",
+                String.format("The first network partition is not %s in %s",
+                        "network-partition-application-policy-test-1", 
applicationPolicyId));
+        assertEquals(bean.getNetworkPartitions()[1], 
"network-partition-application-policy-test-2",
+                String.format("The Second network partition is not %s in %s",
+                        "network-partition-application-policy-test-2", 
applicationPolicyId));
+        boolean algoFound = false;
+        for (PropertyBean propertyBean : bean.getProperties()) {
+            if (propertyBean.getName().equals("networkPartitionGroups")) {
+                assertEquals(propertyBean.getValue(),
+                        
"network-partition-application-policy-test-1,network-partition-application-policy-test-2",
+                        String.format("The networkPartitionGroups algorithm %s 
is not found in %s",
+                                "network-partition-application-policy-test-1, 
network-partition-application-policy-test-2",
+                                applicationPolicyId));
+                algoFound = true;
+
+            }
+        }
+        if (!algoFound) {
+            assertNull(String.format("The networkPartitionGroups property is 
not found in %s",
+                    applicationPolicyId));
+        }
+
+        boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+                "network-partition-application-policy-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
+        //Trying to remove the used network partition
+        assertFalse(removedNet);
+
+        boolean removedDep = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
+                applicationPolicyId, RestConstants.APPLICATION_POLICIES_NAME);
+        assertTrue(removedDep);
+
+        ApplicationPolicyBean beanRemovedDep = (ApplicationPolicyBean) 
restClient.
+                getEntity(RestConstants.APPLICATION_POLICIES, 
applicationPolicyId,
+                        ApplicationPolicyBean.class, 
RestConstants.APPLICATION_POLICIES_NAME);
+        assertNull(beanRemovedDep);
+
+        boolean removedN1 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+                "network-partition-application-policy-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(removedN1);
+
+        NetworkPartitionBean beanRemovedN1 = (NetworkPartitionBean) restClient.
+                getEntity(RestConstants.NETWORK_PARTITIONS, 
"network-partition-application-policy-test-1",
+                        NetworkPartitionBean.class, 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertNull(beanRemovedN1);
+
+        boolean removedN2 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+                "network-partition-application-policy-test-2", 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(removedN2);
+
+        NetworkPartitionBean beanRemovedN2 = (NetworkPartitionBean) restClient.
+                getEntity(RestConstants.NETWORK_PARTITIONS, 
"network-partition-application-policy-test-2",
+                        NetworkPartitionBean.class, 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertNull(beanRemovedN2);
+    }
+
+    @Test(timeOut = GLOBAL_TEST_TIMEOUT, groups = 
{"stratos.policy.management", "smoke"})
+    public void testApplicationPolicyList() throws Exception {
+        String applicationPolicyId1 = 
"application-policy-application-policy-test-1";
+        String applicationPolicyId2 = 
"application-policy-application-policy-test-2";
+
+        boolean addedN1 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+                        "network-partition-application-policy-test-1" + 
".json",
+                RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(addedN1);
+
+        boolean addedN2 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.NETWORK_PARTITIONS_PATH + "/" +
+                        "network-partition-application-policy-test-2" + 
".json",
+                RestConstants.NETWORK_PARTITIONS, 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(addedN2);
+
+        boolean addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
+                        applicationPolicyId1 + ".json",
+                RestConstants.APPLICATION_POLICIES, 
RestConstants.APPLICATION_POLICIES_NAME);
+        assertTrue(addedDep);
+
+        addedDep = restClient.addEntity(RESOURCES_PATH + 
RestConstants.APPLICATION_POLICIES_PATH + "/" +
+                        applicationPolicyId2 + ".json",
+                RestConstants.APPLICATION_POLICIES, 
RestConstants.APPLICATION_POLICIES_NAME);
+        assertTrue(addedDep);
+
+        Type listType = new TypeToken<ArrayList<ApplicationPolicyBean>>() {
+        }.getType();
+
+        List<ApplicationPolicyBean> applicationPolicyList = 
(List<ApplicationPolicyBean>) restClient.
+                listEntity(RestConstants.APPLICATION_POLICIES,
+                        listType, RestConstants.APPLICATION_POLICIES_NAME);
+        assertTrue(applicationPolicyList.size() >= 2);
+
+        ApplicationPolicyBean bean1 = null;
+        for (ApplicationPolicyBean applicationPolicyBean : 
applicationPolicyList) {
+            if (applicationPolicyBean.getId().equals(applicationPolicyId1)) {
+                bean1 = applicationPolicyBean;
+            }
+        }
+        assertNotNull(bean1);
+
+        ApplicationPolicyBean bean2 = null;
+        for (ApplicationPolicyBean applicationPolicyBean : 
applicationPolicyList) {
+            if (applicationPolicyBean.getId().equals(applicationPolicyId2)) {
+                bean2 = applicationPolicyBean;
+            }
+        }
+        assertNotNull(bean2);
+
+        boolean removedDep = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
+                applicationPolicyId1, RestConstants.APPLICATION_POLICIES_NAME);
+        assertTrue(removedDep);
+
+        ApplicationPolicyBean beanRemovedDep = (ApplicationPolicyBean) 
restClient.
+                getEntity(RestConstants.APPLICATION_POLICIES, 
applicationPolicyId1,
+                        ApplicationPolicyBean.class, 
RestConstants.APPLICATION_POLICIES_NAME);
+        assertNull(beanRemovedDep);
+
+        boolean removedNet = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+                "network-partition-application-policy-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
+        //Trying to remove the used network partition
+        assertFalse(removedNet);
+
+        removedDep = 
restClient.removeEntity(RestConstants.APPLICATION_POLICIES,
+                applicationPolicyId2, RestConstants.APPLICATION_POLICIES_NAME);
+        assertTrue(removedDep);
+
+        beanRemovedDep = (ApplicationPolicyBean) restClient.
+                getEntity(RestConstants.APPLICATION_POLICIES, 
applicationPolicyId2,
+                        ApplicationPolicyBean.class, 
RestConstants.APPLICATION_POLICIES_NAME);
+        assertNull(beanRemovedDep);
+
+        boolean removedN1 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+                "network-partition-application-policy-test-1", 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(removedN1);
+
+        NetworkPartitionBean beanRemovedN1 = (NetworkPartitionBean) restClient.
+                getEntity(RestConstants.NETWORK_PARTITIONS, 
"network-partition-application-policy-test-1",
+                        NetworkPartitionBean.class, 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertNull(beanRemovedN1);
+
+        boolean removedN2 = 
restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+                "network-partition-application-policy-test-2", 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertTrue(removedN2);
+
+        NetworkPartitionBean beanRemovedN2 = (NetworkPartitionBean) restClient.
+                getEntity(RestConstants.NETWORK_PARTITIONS, 
"network-partition-application-policy-test-2",
+                        NetworkPartitionBean.class, 
RestConstants.NETWORK_PARTITIONS_NAME);
+        assertNull(beanRemovedN2);
+    }
+}
\ No newline at end of file

Reply via email to