henning 2003/06/22 15:41:36 Added: conf/test TorqueTest.properties TurbineAvalonService.properties TurbineComponentService.properties componentTorqueConfiguration.xml roleTorqueConfiguration.xml src/test/org/apache/turbine TorqueLoadTest.java Log: Add a test case for loading the Torque Component in various ways to make sure that Torque is working in all configurations of Turbine Revision Changes Path 1.1 jakarta-turbine-2/conf/test/TorqueTest.properties Index: TorqueTest.properties =================================================================== # ------------------------------------------------------------------------ # # Torque Configuration for Torque Load test cases # # $Id: TorqueTest.properties,v 1.1 2003/06/22 22:41:36 henning Exp $ # # ------------------------------------------------------------------------ torque.applicationRoot = . torque.defaults.pool.defaultMaxActive=30 torque.defaults.pool.testOnBorrow=true torque.defaults.pool.validationQuery=SELECT 1 torque.idbroker.cleverquantity=true torque.idbroker.prefetch=true torque.idbroker.usenewconnection=true 1.1 jakarta-turbine-2/conf/test/TurbineAvalonService.properties Index: TurbineAvalonService.properties =================================================================== # ------------------------------------------------------------------- # $Id: TurbineAvalonService.properties,v 1.1 2003/06/22 22:41:36 henning Exp $ # # This is the configuration file for the Torque Load tests of the # Turbine 2 project. Do not remove! # # ------------------------------------------------------------------- log4j.file = /conf/test/Log4j.properties services.AvalonComponentService.classname=org.apache.turbine.services.avaloncomponent.TurbineAvalonComponentService services.FactoryService.classname=org.apache.turbine.services.factory.TurbineFactoryService services.PoolService.classname=org.apache.turbine.services.pool.TurbinePoolService services.RunDataService.classname=org.apache.turbine.services.rundata.TurbineRunDataService services.ServletService.classname=org.apache.turbine.services.servlet.TurbineServletService services.AssemblerBrokerService.classname=org.apache.turbine.services.assemblerbroker.TurbineAssemblerBrokerService services.GlobalCacheService.classname=org.apache.turbine.services.cache.TurbineGlobalCacheService services.TemplateService.classname=org.apache.turbine.services.template.TurbineTemplateService services.AvalonComponentService.componentConfiguration = conf/test/componentTorqueConfiguration.xml services.AvalonComponentService.componentRoles = conf/test/roleTorqueConfiguration.xml services.AvalonComponentService.lookup = org.apache.torque.avalon.Torque 1.1 jakarta-turbine-2/conf/test/TurbineComponentService.properties Index: TurbineComponentService.properties =================================================================== # ------------------------------------------------------------------- # $Id: TurbineComponentService.properties,v 1.1 2003/06/22 22:41:36 henning Exp $ # # This is the configuration file for the Torque Load tests of the # Turbine 2 project. Do not remove! # # ------------------------------------------------------------------- log4j.file = /conf/test/Log4j.properties services.ComponentService.classname=org.apache.turbine.services.component.TurbineComponentService services.FactoryService.classname=org.apache.turbine.services.factory.TurbineFactoryService services.PoolService.classname=org.apache.turbine.services.pool.TurbinePoolService services.RunDataService.classname=org.apache.turbine.services.rundata.TurbineRunDataService services.ServletService.classname=org.apache.turbine.services.servlet.TurbineServletService services.AssemblerBrokerService.classname=org.apache.turbine.services.assemblerbroker.TurbineAssemblerBrokerService services.GlobalCacheService.classname=org.apache.turbine.services.cache.TurbineGlobalCacheService services.TemplateService.classname=org.apache.turbine.services.template.TurbineTemplateService services.ComponentService.name= torque services.ComponentService.torque.classname= org.apache.torque.Torque services.ComponentService.torque.config= conf/test/TorqueTest.properties 1.1 jakarta-turbine-2/conf/test/componentTorqueConfiguration.xml Index: componentTorqueConfiguration.xml =================================================================== <!-- This configuration file for Avalon components is used for testing the TorqueComponent --> <componentConfig> <torque> <configfile>conf/test/TorqueTest.properties</configfile> </torque> </componentConfig> 1.1 jakarta-turbine-2/conf/test/roleTorqueConfiguration.xml Index: roleTorqueConfiguration.xml =================================================================== <!-- This configuration file for Avalon components is used for testing the TorqueComponent --> <role-list> <role name="org.apache.torque.avalon.Torque" shorthand="torque" default-class="org.apache.torque.avalon.TorqueComponent" /> </role-list> 1.1 jakarta-turbine-2/src/test/org/apache/turbine/TorqueLoadTest.java Index: TorqueLoadTest.java =================================================================== package org.apache.turbine; /* ==================================================================== * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Apache" and "Apache Software Foundation" and * "Apache Turbine" must not be used to endorse or promote products * derived from this software without prior written permission. For * written permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * "Apache Turbine", nor may "Apache" appear in their name, without * prior written permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */ import junit.framework.Test; import junit.framework.TestSuite; import org.apache.turbine.Turbine; import org.apache.turbine.test.BaseTestCase; import org.apache.turbine.util.TurbineConfig; import org.apache.torque.Torque; import org.apache.torque.TorqueSingleton; import org.apache.torque.avalon.TorqueComponent; import org.apache.turbine.services.avaloncomponent.AvalonComponentService; import org.apache.turbine.services.TurbineServices; /** * Can we load and run Torque standalone, from Component and from * AvalonComponent Service? * * @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a> * @version $Id: TorqueLoadTest.java,v 1.1 2003/06/22 22:41:36 henning Exp $ */ public class TorqueLoadTest extends BaseTestCase { public TorqueLoadTest(String name) throws Exception { super(name); } public static Test suite() { return new TestSuite(TorqueLoadTest.class); } /** * An uninitialized Torque must not be initialized. */ public void testTorqueNonInit() throws Exception { assertFalse("Torque should not be initialized!", Torque.isInit()); } /** * Load Torque from a given config file. */ public void testTorqueManualInit() throws Exception { assertFalse("Torque should not be initialized!", Torque.isInit()); Torque.init("conf/test/TorqueTest.properties"); assertTrue("Torque must be initialized!", Torque.isInit()); Torque.shutdown(); // Uncomment once we get a torque 3.1 release post alpha-2 // Everything up to alpha-2 does not shut down Torque properly. // assertFalse("Torque did not shut down properly!", Torque.isInit()); } /** * Load Torque with the ComponentService */ public void testTorqueComponentServiceInit() throws Exception { assertFalse("Torque should not be initialized!", Torque.isInit()); TurbineConfig tc = new TurbineConfig(".", "/conf/test/TurbineComponentService.properties"); try { tc.initialize(); assertTrue("Torque must be initialized!", Torque.isInit()); } catch (Exception e) { throw e; } finally { tc.dispose(); } // Uncomment once we get a torque 3.1 release post alpha-2 // Everything up to alpha-2 does not shut down Torque properly. // assertFalse("Torque did not shut down properly!", Torque.isInit()); } private AvalonComponentService getService() { return (AvalonComponentService) TurbineServices.getInstance() .getService(AvalonComponentService.SERVICE_NAME); } // Uncomment once we get a torque 3.1 release post alpha-2 // The current version of Torque doesn't run right with the AvalonComponentService // // /** // * Load Torque with the AvalonComponentService // */ // public void testTorqueAvalonServiceInit() // throws Exception // { // assertFalse("Torque should not be initialized!", Torque.isInit()); // TurbineConfig tc = new TurbineConfig(".", "/conf/test/TurbineAvalonService.properties"); // try // { // tc.initialize(); // assertTrue("Torque must be initialized!", Torque.isInit()); // TorqueComponent toc = // (TorqueComponent) getService().lookup("org.apache.torque.avalon.Torque"); // assertTrue("TorqueComponent must be initialized!", toc.isInit()); // getService().release(toc); // } // catch (Exception e) // { // throw e; // } // finally // { // tc.dispose(); // } // assertFalse("Torque did not shut down properly!", Torque.isInit()); // } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]