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()); + } +}
