| /* |
| * 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.axis2.deployment; |
| |
| import junit.framework.TestCase; |
| import org.apache.axis2.AbstractTestCase; |
| import org.apache.axis2.AxisFault; |
| import org.apache.axis2.context.ConfigurationContextFactory; |
| import org.apache.axis2.description.AxisModule; |
| import org.apache.axis2.engine.AxisConfiguration; |
| import org.apache.axis2.util.Utils; |
| |
| import java.util.Iterator; |
| |
| public class ModuleversionTest extends TestCase { |
| |
| public void testDefautModuleVersion() throws AxisFault { |
| String filename = AbstractTestCase.basedir + |
| "/test-resources/deployment/moduleVersion/Test1/axis2.xml"; |
| AxisConfiguration ac = |
| ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, filename) |
| .getAxisConfiguration(); |
| assertNotNull(ac); |
| assertEquals(ac.getDefaultModuleVersion("abc"), "1.23"); |
| assertEquals(ac.getDefaultModuleVersion("foo"), "0.89"); |
| } |
| |
| public void testCalculateDefaultModuleVersions() throws AxisFault { |
| AxisConfiguration axisConfiguration = new AxisConfiguration(); |
| AxisModule module1 = new AxisModule(); |
| module1.setArchiveName("Module1"); |
| axisConfiguration.addModule(module1); |
| |
| AxisModule module2 = new AxisModule(); |
| module2.setArchiveName("Module2-0.94"); |
| axisConfiguration.addModule(module2); |
| |
| AxisModule module3 = new AxisModule(); |
| module3.setArchiveName("Module2-0.95"); |
| axisConfiguration.addModule(module3); |
| |
| AxisModule module4 = new AxisModule(); |
| module4.setArchiveName("Module2-0.93"); |
| axisConfiguration.addModule(module4); |
| |
| AxisModule module5 = new AxisModule(); |
| module5.setArchiveName("testModule-1.93"); |
| axisConfiguration.addModule(module5); |
| |
| Utils.calculateDefaultModuleVersion(axisConfiguration.getModules(), axisConfiguration); |
| assertEquals(module1, axisConfiguration.getDefaultModule("Module1")); |
| assertEquals(module3, axisConfiguration.getDefaultModule("Module2")); |
| assertEquals(module5, axisConfiguration.getDefaultModule("testModule")); |
| axisConfiguration.engageModule("Module2"); |
| axisConfiguration.engageModule("Module1"); |
| axisConfiguration.engageModule("testModule", "1.93"); |
| |
| Iterator engageModules = axisConfiguration.getEngagedModules().iterator(); |
| boolean found1 = false; |
| boolean found2 = false; |
| boolean found3 = false; |
| while (engageModules.hasNext()) { |
| String name = ((AxisModule)engageModules.next()).getArchiveName(); |
| if (name.equals("Module2-0.95")) { |
| found1 = true; |
| } |
| if (name.equals("Module1")) { |
| found2 = true; |
| } |
| if (name.equals("testModule-1.93")) { |
| found3 = true; |
| } |
| } |
| |
| if (!found1) { |
| fail("Didn't find Module2-0.95"); |
| } |
| if (!found2) { |
| fail("Didn't find Module1"); |
| } |
| if (!found3) { |
| fail("Didn't find testModule-1.93"); |
| } |
| } |
| |
| public void testModuleWithSNAPSHOT() throws AxisFault { |
| AxisConfiguration axisConfiguration = new AxisConfiguration(); |
| AxisModule module1 = new AxisModule(); |
| module1.setArchiveName("Module1"); |
| axisConfiguration.addModule(module1); |
| |
| AxisModule module2 = new AxisModule(); |
| module2.setArchiveName("Module1-SNAPSHOT"); |
| axisConfiguration.addModule(module2); |
| |
| AxisModule module3 = new AxisModule(); |
| module3.setArchiveName("Module1-0.95"); |
| axisConfiguration.addModule(module3); |
| Utils.calculateDefaultModuleVersion(axisConfiguration.getModules(), axisConfiguration); |
| assertEquals(module2, axisConfiguration.getDefaultModule("Module1")); |
| } |
| |
| |
| public void testModuleWithSNAPSHOT2() throws AxisFault { |
| AxisConfiguration axisConfiguration = new AxisConfiguration(); |
| AxisModule module1 = new AxisModule(); |
| module1.setArchiveName("Module1-a"); |
| axisConfiguration.addModule(module1); |
| |
| AxisModule module2 = new AxisModule(); |
| module2.setArchiveName("Module1-a-SNAPSHOT"); |
| axisConfiguration.addModule(module2); |
| |
| AxisModule module3 = new AxisModule(); |
| module3.setArchiveName("Module1-a-0.95"); |
| axisConfiguration.addModule(module3); |
| Utils.calculateDefaultModuleVersion(axisConfiguration.getModules(), axisConfiguration); |
| Utils.calculateDefaultModuleVersion(axisConfiguration.getModules(), axisConfiguration); |
| assertEquals(module2, axisConfiguration.getDefaultModule("Module1-a")); |
| } |
| } |