Updated Branches:
  refs/heads/master 2f6d8530e -> 208b730b5

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/PayloadTest.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/PayloadTest.java
 
b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/PayloadTest.java
deleted file mode 100644
index 768592b..0000000
--- 
a/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/PayloadTest.java
+++ /dev/null
@@ -1,196 +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.adc.mgt.test;
-//
-//import junit.framework.TestCase;
-//
-//import org.apache.stratos.adc.mgt.dto.Policy;
-//import org.apache.stratos.adc.mgt.exception.ADCException;
-//import org.apache.stratos.adc.mgt.payload.Payload;
-//import org.apache.stratos.adc.mgt.payload.PayloadArg;
-//import org.apache.stratos.adc.mgt.payload.PayloadFactory;
-//import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
-//import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-//import org.apache.stratos.cloud.controller.pojo.PortMapping;
-//
-//import java.math.BigDecimal;
-//
-//public class PayloadTest extends TestCase {
-//
-//    protected void setUp() throws java.lang.Exception {
-//
-//        System.setProperty(CartridgeConstants.REPO_INFO_EPR, 
"https://sm.stratos.com:9445/repository_info_service";);
-//        System.setProperty(CartridgeConstants.CARTRIDGE_AGENT_EPR, 
"https://sm.stratos.com:9445/cartridge_agent_service";);
-//        System.setProperty(CartridgeConstants.BAM_IP, "10.10.10.10");
-//        System.setProperty(CartridgeConstants.BAM_PORT, "7714");
-//        System.setProperty("carbon.home", "/tmp/dummy-carbon-server");
-//    }
-//
-//    private Payload createPayload (PayloadArg payloadArg, String provider, 
String cartridgeType, String tenantDomain,
-//                                   String cartridgeAlias) {
-//
-//        Payload payload = null;
-//        try {
-//            payload = PayloadFactory.getPayloadDataInstance(provider, 
cartridgeType,
-//                    "/tmp/" + tenantDomain + "-" + cartridgeAlias + ".zip");
-//
-//        } catch (ADCException e) {
-//            throw new RuntimeException(e);
-//        }
-//        payload.populatePayload(payloadArg);
-//        try {
-//            payload.createPayload();
-//
-//        } catch (ADCException e) {
-//            throw new RuntimeException(e);
-//        }
-//
-//        return payload;
-//    }
-//
-//    private PayloadArg createBasePayloadArg (CartridgeInfo cartridgeInfo, 
boolean isMultitenant, String alias,
-//                                             String type) {
-//
-//        PayloadArg payloadArg = new PayloadArg();
-//        payloadArg.setCartridgeInfo(cartridgeInfo);
-//        payloadArg.setMultitenant(isMultitenant);
-//        payloadArg.setTenantId(1);
-//        payloadArg.setTenantDomain("foo.com");
-//        payloadArg.setCartridgeAlias(alias);
-//        payloadArg.setServiceName(type);
-//
-//        return payloadArg;
-//    }
-//
-//    public void testMultitenantCarbonPayload() {
-//
-//        CartridgeInfo cartridgeInfo = new CartridgeInfo();
-//        cartridgeInfo.setMultiTenant(true);
-//        cartridgeInfo.setType("esb");
-//        PayloadArg payloadArg = createBasePayloadArg(cartridgeInfo, true, 
"carbon1", "esb");
-//        payloadArg.setDeployment("default");
-//        payloadArg.setHostName("esb.test.com");
-//        payloadArg.setServiceDomain("esb.domain");
-//        payloadArg.setServiceDomain("__$default");
-//        Payload payload = createPayload(payloadArg, "wso2", "esb", 
"foo.com", "carbon1");
-//        assertNotNull(payload);
-//        //assertTrue(payload.delete());
-//    }
-//
-//    public void testSingleTenantCarbonPayload() {
-//
-//        CartridgeInfo cartridgeInfo = new CartridgeInfo();
-//        cartridgeInfo.setMultiTenant(false);
-//        cartridgeInfo.setType("as");
-//        PayloadArg payloadArg = createBasePayloadArg(cartridgeInfo, false, 
"carbon2", "as");
-//        payloadArg.setDeployment("default");
-//        payloadArg.setHostName("as.test.com");
-//        payloadArg.setServiceDomain("as.domain");
-//        payloadArg.setServiceDomain("__$default");
-//        Payload payload = createPayload(payloadArg, "wso2", "as", "foo.com", 
"carbon2");
-//        assertNotNull(payload);
-//        //assertTrue(payload.delete());
-//    }
-//
-//    public void testNonCarbonPayload() {
-//
-//        CartridgeInfo cartridgeInfo = new CartridgeInfo();
-//        cartridgeInfo.setType("php");
-//        //http port mapping
-//        PortMapping httpPortMapping = new PortMapping();
-//        httpPortMapping.setProtocol("http");
-//        httpPortMapping.setPort("80");
-//        httpPortMapping.setProxyPort("8280");
-//        //https port mapping
-//        PortMapping httpsPortMapping = new PortMapping();
-//        httpsPortMapping.setProtocol("https");
-//        httpsPortMapping.setPort("443");
-//        httpsPortMapping.setProxyPort("8243");
-//
-//        PortMapping[] portMappings = new PortMapping[]{httpPortMapping, 
httpsPortMapping};
-//        cartridgeInfo.setPortMappings(portMappings);
-//
-//        //auto scaling parameters
-//        Policy autoScalePolicy = new Policy();
-//        autoScalePolicy.setMinAppInstances(1);
-//        autoScalePolicy.setMaxAppInstances(2);
-//        autoScalePolicy.setAlarmingLowerRate(BigDecimal.valueOf(0.2));
-//        autoScalePolicy.setAlarmingUpperRate(BigDecimal.valueOf(0.7));
-//        autoScalePolicy.setMaxRequestsPerSecond(5);
-//        autoScalePolicy.setScaleDownFactor(BigDecimal.valueOf(0.25));
-//        autoScalePolicy.setRoundsToAverage(2);
-//
-//        PayloadArg payloadArg = createBasePayloadArg(cartridgeInfo, false, 
"php1", "php");
-//        payloadArg.setPolicy(autoScalePolicy);
-//        payloadArg.setHostName("php.test.com");
-//        payloadArg.setServiceDomain("php.domain");
-//        payloadArg.setServiceDomain("__$default");
-//        Payload payload = createPayload(payloadArg, "php-provider", "php", 
"foo.com", "php1");
-//        assertNotNull(payload);
-//        //assertTrue(payload.delete());
-//    }
-//
-//    public void testDataPayload() {
-//
-//        CartridgeInfo cartridgeInfo = new CartridgeInfo();
-//        cartridgeInfo.setType("php");
-//        //http port mapping
-//        PortMapping httpPortMapping = new PortMapping();
-//        httpPortMapping.setProtocol("http");
-//        httpPortMapping.setPort("80");
-//        httpPortMapping.setProxyPort("8280");
-//        //https port mapping
-//        PortMapping httpsPortMapping = new PortMapping();
-//        httpsPortMapping.setProtocol("https");
-//        httpsPortMapping.setPort("443");
-//        httpsPortMapping.setProxyPort("8243");
-//
-//        PortMapping[] portMappings = new PortMapping[]{httpPortMapping, 
httpsPortMapping};
-//        cartridgeInfo.setPortMappings(portMappings);
-//
-//        //auto scaling parameters
-//        Policy autoScalePolicy = new Policy();
-//        autoScalePolicy.setMinAppInstances(1);
-//        autoScalePolicy.setMaxAppInstances(2);
-//        autoScalePolicy.setAlarmingLowerRate(BigDecimal.valueOf(0.2));
-//        autoScalePolicy.setAlarmingUpperRate(BigDecimal.valueOf(0.7));
-//        autoScalePolicy.setMaxRequestsPerSecond(5);
-//        autoScalePolicy.setScaleDownFactor(BigDecimal.valueOf(0.25));
-//        autoScalePolicy.setRoundsToAverage(2);
-//
-//        PayloadArg payloadArg = createBasePayloadArg(cartridgeInfo, false, 
"mysql1", "mysql");
-//        payloadArg.setPolicy(autoScalePolicy);
-//        payloadArg.setHostName("mysql.test.com");
-//        payloadArg.setServiceDomain("mysql.domain");
-//        payloadArg.setServiceDomain("__$default");
-//        Payload payload = createPayload(payloadArg, "mysql-provider", 
"mysql", "foo.com", "mysql1");
-//        assertNotNull(payload);
-//        //assertTrue(payload.delete());
-//    }
-//
-//    protected void tearDown() throws java.lang.Exception {
-//
-//        System.clearProperty(CartridgeConstants.REPO_INFO_EPR);
-//        System.clearProperty(CartridgeConstants.CARTRIDGE_AGENT_EPR);
-//        System.clearProperty(CartridgeConstants.BAM_IP);
-//        System.clearProperty(CartridgeConstants.BAM_PORT);
-//        System.clearProperty("carbon.home");
-//    }
-//}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/PolicyHolderTest.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/PolicyHolderTest.java
 
b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/PolicyHolderTest.java
deleted file mode 100644
index 9dac84a..0000000
--- 
a/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/PolicyHolderTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.stratos.adc.mgt.test;
-/*
- *
- * 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.
- *
-*/
-
-
-import java.io.File;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.TestCase;
-
-import org.apache.stratos.adc.mgt.utils.PolicyHolder;
-
-public class PolicyHolderTest extends TestCase {
-
-       private PolicyHolder getPolicyHolder(String policiesXMLFile) {
-               File policiesXmlSchema = new 
File("src/main/resources/policies.xsd");
-               String dir = "src/test/resources/";
-
-               Class<PolicyHolder> clazz = PolicyHolder.class;
-
-               Constructor<PolicyHolder> c;
-               try {
-                       c = clazz.getDeclaredConstructor(File.class, 
File.class);
-                       c.setAccessible(true);
-               } catch (NoSuchMethodException e) {
-                       throw new RuntimeException(e);
-               } catch (SecurityException e) {
-                       throw new RuntimeException(e);
-               }
-               PolicyHolder policyHolder;
-               try {
-                       policyHolder = c.newInstance(policiesXmlSchema, new 
File(dir, policiesXMLFile));
-               } catch (InstantiationException e) {
-                       throw new RuntimeException(e);
-               } catch (IllegalAccessException e) {
-                       throw new RuntimeException(e);
-               } catch (IllegalArgumentException e) {
-                       throw new RuntimeException(e);
-               } catch (InvocationTargetException e) {
-                       throw new RuntimeException(e);
-               }
-               return policyHolder;
-       }
-
-       public void testDefaultPolicy() {
-               PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
-               assertNotNull(policyHolder);
-               assertNotNull(policyHolder.getDefaultPolicy());
-       }
-       
-       
-       public void testSinglePolicy() {
-               PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
-               assertNotNull(policyHolder);
-               assertNotNull(policyHolder.getPolicy("single"));
-               assertEquals("single", 
policyHolder.getPolicy("single").getName());
-       }
-       
-       public void testElasticPolicy() {
-               PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
-               assertNotNull(policyHolder);
-               assertNotNull(policyHolder.getPolicy("elastic"));
-               assertEquals("elastic", 
policyHolder.getPolicy("elastic").getName());
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/CartridgeSubscriptionTest.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/CartridgeSubscriptionTest.java
 
b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/CartridgeSubscriptionTest.java
new file mode 100644
index 0000000..e25c0f8
--- /dev/null
+++ 
b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/CartridgeSubscriptionTest.java
@@ -0,0 +1,85 @@
+/*
+ * 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.manager.test;
+
+import junit.framework.TestCase;
+import org.apache.stratos.manager.exception.ADCException;
+import org.apache.stratos.manager.subscription.CartridgeSubscription;
+import 
org.apache.stratos.manager.subscription.factory.CartridgeSubscriptionFactory;
+import 
org.apache.stratos.manager.subscription.tenancy.SubscriptionMultiTenantBehaviour;
+import 
org.apache.stratos.manager.subscription.tenancy.SubscriptionSingleTenantBehaviour;
+import 
org.apache.stratos.manager.subscription.tenancy.SubscriptionTenancyBehaviour;
+import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
+
+public class CartridgeSubscriptionTest extends TestCase {
+
+    private CartridgeSubscription getCartridgeInstance (CartridgeInfo 
cartridgeInfo) {
+
+        SubscriptionTenancyBehaviour tenancyBehaviour;
+        if(cartridgeInfo.getMultiTenant()) {
+            tenancyBehaviour = new SubscriptionMultiTenantBehaviour();
+        } else {
+            tenancyBehaviour = new SubscriptionSingleTenantBehaviour();
+        }
+
+        try {
+            return 
CartridgeSubscriptionFactory.getCartridgeSubscriptionInstance(cartridgeInfo, 
tenancyBehaviour);
+
+        } catch (ADCException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void testCarbonCartridge () {
+
+        CartridgeInfo cartridgeInfo = new CartridgeInfo();
+        cartridgeInfo.setProvider("carbon");
+        cartridgeInfo.setMultiTenant(true);
+        cartridgeInfo.setType("esb");
+        assertNotNull(getCartridgeInstance(cartridgeInfo));
+    }
+
+    public void testPhpCartridgeInstance () {
+
+        CartridgeInfo cartridgeInfo = new CartridgeInfo();
+        cartridgeInfo.setProvider("php-provider");
+        cartridgeInfo.setMultiTenant(false);
+        cartridgeInfo.setType("php");
+        assertNotNull(getCartridgeInstance(cartridgeInfo));
+    }
+
+    public void testMySqlCartridgeInstance () {
+
+        CartridgeInfo cartridgeInfo = new CartridgeInfo();
+        cartridgeInfo.setProvider("data");
+        cartridgeInfo.setMultiTenant(false);
+        cartridgeInfo.setType("mysql");
+        assertNotNull(getCartridgeInstance(cartridgeInfo));
+    }
+
+    public void testTomcatCartridgeInstance () {
+
+        CartridgeInfo cartridgeInfo = new CartridgeInfo();
+        cartridgeInfo.setProvider("tomcat-provider");
+        cartridgeInfo.setMultiTenant(false);
+        cartridgeInfo.setType("tomcat");
+        assertNotNull(getCartridgeInstance(cartridgeInfo));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/PayloadTest.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/PayloadTest.java
 
b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/PayloadTest.java
new file mode 100644
index 0000000..cf4a2ab
--- /dev/null
+++ 
b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/PayloadTest.java
@@ -0,0 +1,196 @@
+///*
+// * 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.adc.mgt.test;
+//
+//import junit.framework.TestCase;
+//
+//import org.apache.stratos.manager.dto.Policy;
+//import org.apache.stratos.manager.exception.ADCException;
+//import org.apache.stratos.manager.payload.Payload;
+//import org.apache.stratos.manager.payload.PayloadArg;
+//import org.apache.stratos.manager.payload.PayloadFactory;
+//import org.apache.stratos.manager.utils.CartridgeConstants;
+//import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
+//import org.apache.stratos.cloud.controller.pojo.PortMapping;
+//
+//import java.math.BigDecimal;
+//
+//public class PayloadTest extends TestCase {
+//
+//    protected void setUp() throws java.lang.Exception {
+//
+//        System.setProperty(CartridgeConstants.REPO_INFO_EPR, 
"https://sm.stratos.com:9445/repository_info_service";);
+//        System.setProperty(CartridgeConstants.CARTRIDGE_AGENT_EPR, 
"https://sm.stratos.com:9445/cartridge_agent_service";);
+//        System.setProperty(CartridgeConstants.BAM_IP, "10.10.10.10");
+//        System.setProperty(CartridgeConstants.BAM_PORT, "7714");
+//        System.setProperty("carbon.home", "/tmp/dummy-carbon-server");
+//    }
+//
+//    private Payload createPayload (PayloadArg payloadArg, String provider, 
String cartridgeType, String tenantDomain,
+//                                   String cartridgeAlias) {
+//
+//        Payload payload = null;
+//        try {
+//            payload = PayloadFactory.getPayloadDataInstance(provider, 
cartridgeType,
+//                    "/tmp/" + tenantDomain + "-" + cartridgeAlias + ".zip");
+//
+//        } catch (ADCException e) {
+//            throw new RuntimeException(e);
+//        }
+//        payload.populatePayload(payloadArg);
+//        try {
+//            payload.createPayload();
+//
+//        } catch (ADCException e) {
+//            throw new RuntimeException(e);
+//        }
+//
+//        return payload;
+//    }
+//
+//    private PayloadArg createBasePayloadArg (CartridgeInfo cartridgeInfo, 
boolean isMultitenant, String alias,
+//                                             String type) {
+//
+//        PayloadArg payloadArg = new PayloadArg();
+//        payloadArg.setCartridgeInfo(cartridgeInfo);
+//        payloadArg.setMultitenant(isMultitenant);
+//        payloadArg.setTenantId(1);
+//        payloadArg.setTenantDomain("foo.com");
+//        payloadArg.setCartridgeAlias(alias);
+//        payloadArg.setServiceName(type);
+//
+//        return payloadArg;
+//    }
+//
+//    public void testMultitenantCarbonPayload() {
+//
+//        CartridgeInfo cartridgeInfo = new CartridgeInfo();
+//        cartridgeInfo.setMultiTenant(true);
+//        cartridgeInfo.setType("esb");
+//        PayloadArg payloadArg = createBasePayloadArg(cartridgeInfo, true, 
"carbon1", "esb");
+//        payloadArg.setDeployment("default");
+//        payloadArg.setHostName("esb.test.com");
+//        payloadArg.setServiceDomain("esb.domain");
+//        payloadArg.setServiceDomain("__$default");
+//        Payload payload = createPayload(payloadArg, "wso2", "esb", 
"foo.com", "carbon1");
+//        assertNotNull(payload);
+//        //assertTrue(payload.delete());
+//    }
+//
+//    public void testSingleTenantCarbonPayload() {
+//
+//        CartridgeInfo cartridgeInfo = new CartridgeInfo();
+//        cartridgeInfo.setMultiTenant(false);
+//        cartridgeInfo.setType("as");
+//        PayloadArg payloadArg = createBasePayloadArg(cartridgeInfo, false, 
"carbon2", "as");
+//        payloadArg.setDeployment("default");
+//        payloadArg.setHostName("as.test.com");
+//        payloadArg.setServiceDomain("as.domain");
+//        payloadArg.setServiceDomain("__$default");
+//        Payload payload = createPayload(payloadArg, "wso2", "as", "foo.com", 
"carbon2");
+//        assertNotNull(payload);
+//        //assertTrue(payload.delete());
+//    }
+//
+//    public void testNonCarbonPayload() {
+//
+//        CartridgeInfo cartridgeInfo = new CartridgeInfo();
+//        cartridgeInfo.setType("php");
+//        //http port mapping
+//        PortMapping httpPortMapping = new PortMapping();
+//        httpPortMapping.setProtocol("http");
+//        httpPortMapping.setPort("80");
+//        httpPortMapping.setProxyPort("8280");
+//        //https port mapping
+//        PortMapping httpsPortMapping = new PortMapping();
+//        httpsPortMapping.setProtocol("https");
+//        httpsPortMapping.setPort("443");
+//        httpsPortMapping.setProxyPort("8243");
+//
+//        PortMapping[] portMappings = new PortMapping[]{httpPortMapping, 
httpsPortMapping};
+//        cartridgeInfo.setPortMappings(portMappings);
+//
+//        //auto scaling parameters
+//        Policy autoScalePolicy = new Policy();
+//        autoScalePolicy.setMinAppInstances(1);
+//        autoScalePolicy.setMaxAppInstances(2);
+//        autoScalePolicy.setAlarmingLowerRate(BigDecimal.valueOf(0.2));
+//        autoScalePolicy.setAlarmingUpperRate(BigDecimal.valueOf(0.7));
+//        autoScalePolicy.setMaxRequestsPerSecond(5);
+//        autoScalePolicy.setScaleDownFactor(BigDecimal.valueOf(0.25));
+//        autoScalePolicy.setRoundsToAverage(2);
+//
+//        PayloadArg payloadArg = createBasePayloadArg(cartridgeInfo, false, 
"php1", "php");
+//        payloadArg.setPolicy(autoScalePolicy);
+//        payloadArg.setHostName("php.test.com");
+//        payloadArg.setServiceDomain("php.domain");
+//        payloadArg.setServiceDomain("__$default");
+//        Payload payload = createPayload(payloadArg, "php-provider", "php", 
"foo.com", "php1");
+//        assertNotNull(payload);
+//        //assertTrue(payload.delete());
+//    }
+//
+//    public void testDataPayload() {
+//
+//        CartridgeInfo cartridgeInfo = new CartridgeInfo();
+//        cartridgeInfo.setType("php");
+//        //http port mapping
+//        PortMapping httpPortMapping = new PortMapping();
+//        httpPortMapping.setProtocol("http");
+//        httpPortMapping.setPort("80");
+//        httpPortMapping.setProxyPort("8280");
+//        //https port mapping
+//        PortMapping httpsPortMapping = new PortMapping();
+//        httpsPortMapping.setProtocol("https");
+//        httpsPortMapping.setPort("443");
+//        httpsPortMapping.setProxyPort("8243");
+//
+//        PortMapping[] portMappings = new PortMapping[]{httpPortMapping, 
httpsPortMapping};
+//        cartridgeInfo.setPortMappings(portMappings);
+//
+//        //auto scaling parameters
+//        Policy autoScalePolicy = new Policy();
+//        autoScalePolicy.setMinAppInstances(1);
+//        autoScalePolicy.setMaxAppInstances(2);
+//        autoScalePolicy.setAlarmingLowerRate(BigDecimal.valueOf(0.2));
+//        autoScalePolicy.setAlarmingUpperRate(BigDecimal.valueOf(0.7));
+//        autoScalePolicy.setMaxRequestsPerSecond(5);
+//        autoScalePolicy.setScaleDownFactor(BigDecimal.valueOf(0.25));
+//        autoScalePolicy.setRoundsToAverage(2);
+//
+//        PayloadArg payloadArg = createBasePayloadArg(cartridgeInfo, false, 
"mysql1", "mysql");
+//        payloadArg.setPolicy(autoScalePolicy);
+//        payloadArg.setHostName("mysql.test.com");
+//        payloadArg.setServiceDomain("mysql.domain");
+//        payloadArg.setServiceDomain("__$default");
+//        Payload payload = createPayload(payloadArg, "mysql-provider", 
"mysql", "foo.com", "mysql1");
+//        assertNotNull(payload);
+//        //assertTrue(payload.delete());
+//    }
+//
+//    protected void tearDown() throws java.lang.Exception {
+//
+//        System.clearProperty(CartridgeConstants.REPO_INFO_EPR);
+//        System.clearProperty(CartridgeConstants.CARTRIDGE_AGENT_EPR);
+//        System.clearProperty(CartridgeConstants.BAM_IP);
+//        System.clearProperty(CartridgeConstants.BAM_PORT);
+//        System.clearProperty("carbon.home");
+//    }
+//}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/PolicyHolderTest.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/PolicyHolderTest.java
 
b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/PolicyHolderTest.java
new file mode 100644
index 0000000..1aa94f1
--- /dev/null
+++ 
b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/manager/test/PolicyHolderTest.java
@@ -0,0 +1,84 @@
+package org.apache.stratos.manager.test;
+/*
+ *
+ * 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.
+ *
+*/
+
+
+import java.io.File;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import junit.framework.TestCase;
+
+import org.apache.stratos.manager.utils.PolicyHolder;
+
+public class PolicyHolderTest extends TestCase {
+
+       private PolicyHolder getPolicyHolder(String policiesXMLFile) {
+               File policiesXmlSchema = new 
File("src/main/resources/policies.xsd");
+               String dir = "src/test/resources/";
+
+               Class<PolicyHolder> clazz = PolicyHolder.class;
+
+               Constructor<PolicyHolder> c;
+               try {
+                       c = clazz.getDeclaredConstructor(File.class, 
File.class);
+                       c.setAccessible(true);
+               } catch (NoSuchMethodException e) {
+                       throw new RuntimeException(e);
+               } catch (SecurityException e) {
+                       throw new RuntimeException(e);
+               }
+               PolicyHolder policyHolder;
+               try {
+                       policyHolder = c.newInstance(policiesXmlSchema, new 
File(dir, policiesXMLFile));
+               } catch (InstantiationException e) {
+                       throw new RuntimeException(e);
+               } catch (IllegalAccessException e) {
+                       throw new RuntimeException(e);
+               } catch (IllegalArgumentException e) {
+                       throw new RuntimeException(e);
+               } catch (InvocationTargetException e) {
+                       throw new RuntimeException(e);
+               }
+               return policyHolder;
+       }
+
+       public void testDefaultPolicy() {
+               PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
+               assertNotNull(policyHolder);
+               assertNotNull(policyHolder.getDefaultPolicy());
+       }
+       
+       
+       public void testSinglePolicy() {
+               PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
+               assertNotNull(policyHolder);
+               assertNotNull(policyHolder.getPolicy("single"));
+               assertEquals("single", 
policyHolder.getPolicy("single").getName());
+       }
+       
+       public void testElasticPolicy() {
+               PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
+               assertNotNull(policyHolder);
+               assertNotNull(policyHolder.getPolicy("elastic"));
+               assertEquals("elastic", 
policyHolder.getPolicy("elastic").getName());
+       }
+}

Reply via email to