Author: tv
Date: Sun Jan 8 12:00:03 2006
New Revision: 367079
URL: http://svn.apache.org/viewcvs?rev=367079&view=rev
Log:
- Added tests for managers and caching.
- Made CopyTest, BeanTest and ManagerTest conditional
depending on the settings in project.properties
Note: For the ManagerTest to succeed you need to add
"torque.manager.useCache = true" to your Torque.properties.
Added:
db/torque/test/trunk/profile/tv/
db/torque/test/trunk/profile/tv/Torque.properties
db/torque/test/trunk/profile/tv/project.properties
db/torque/test/trunk/profile/tv/project.xml
db/torque/test/trunk/test-project/src/java/cache.ccf
db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTestConditional.java
- copied, changed from r367053,
db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTest.java
db/torque/test/trunk/test-project/src/java/org/apache/torque/ManagerTestConditional.java
db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTestConditional.java
- copied, changed from r367053,
db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTest.java
Removed:
db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTest.java
db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTest.java
Modified:
db/torque/test/trunk/test-project/maven.xml
db/torque/test/trunk/test-project/src/logging/log4j.properties
Added: db/torque/test/trunk/profile/tv/Torque.properties
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/profile/tv/Torque.properties?rev=367079&view=auto
==============================================================================
--- db/torque/test/trunk/profile/tv/Torque.properties (added)
+++ db/torque/test/trunk/profile/tv/Torque.properties Sun Jan 8 12:00:03 2006
@@ -0,0 +1,36 @@
+# Copyright 2005 The Apache Software Foundation.
+#
+# Licensed 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.
+
+#
+# Runtime settings for the mysql test profile
+#
+# $Id: Torque.properties 279964 2005-09-10 07:07:23Z tfischer $
+#
+
+torque.database.default = bookstore
+torque.database.bookstore.adapter = mysql
+
+#Using commons-dbcp
+torque.dsfactory.bookstore.factory =
org.apache.torque.dsfactory.SharedPoolDataSourceFactory
+torque.dsfactory.bookstore.connection.driver = org.gjt.mm.mysql.Driver
+torque.dsfactory.bookstore.connection.url =
jdbc:mysql://gatekeeper.home.lan:3306/bookstore
+torque.dsfactory.bookstore.connection.user = torque
+torque.dsfactory.bookstore.connection.password = torque
+
+torque.dsfactory.bookstore.pool.validationQuery = SELECT 1
+
+# Determines whether the managers cache instances of the business objects.
+# And also whether the MethodResultCache will really cache results.
+
+torque.manager.useCache = true
Added: db/torque/test/trunk/profile/tv/project.properties
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/profile/tv/project.properties?rev=367079&view=auto
==============================================================================
--- db/torque/test/trunk/profile/tv/project.properties (added)
+++ db/torque/test/trunk/profile/tv/project.properties Sun Jan 8 12:00:03 2006
@@ -0,0 +1,36 @@
+# Copyright 2005 The Apache Software Foundation.
+#
+# Licensed 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.
+
+#
+# Generator and build settings for the mysql test profile
+#
+# $Id: project.properties 359291 2005-12-27 21:45:04Z tfischer $
+#
+
+#build settings for replacing tokens in the schema files
+torque.test.base.idMethod = idbroker
+
+#settings for the generator
+torque.generateBeans = true
+torque.useManagers = true
+
+torque.database = mysql
+torque.database.createUrl = jdbc:mysql://gatekeeper.home.lan:3306/mysql
+torque.database.buildUrl = jdbc:mysql://gatekeeper.home.lan:3306/bookstore
+torque.database.driver = org.gjt.mm.mysql.Driver
+torque.database.user = torque
+torque.database.password = torque
+
+#settings for the datadump and jdbc task
+torque.database.url = jdbc:mysql://gatekeeper.home.lan:3306/bookstore
\ No newline at end of file
Added: db/torque/test/trunk/profile/tv/project.xml
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/profile/tv/project.xml?rev=367079&view=auto
==============================================================================
--- db/torque/test/trunk/profile/tv/project.xml (added)
+++ db/torque/test/trunk/profile/tv/project.xml Sun Jan 8 12:00:03 2006
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2001-2005 The Apache Software Foundation.
+
+ Licensed 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.
+
+ ===========================================================================
+
+ project descriptor for the mysql test profile
+ $Id: project.xml 359291 2005-12-27 21:45:04Z tfischer $
+
+-->
+
+<project>
+ <extend>../../../runtime/project.xml</extend>
+ <artifactId>torque-mysql-test</artifactId>
+ <name>Torque-mysql-test</name>
+ <dependencies>
+ <dependency>
+ <artifactId>mysql-connector-java</artifactId>
+ <groupId>mm.mysql</groupId>
+ <version>3.1.12-bin</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Modified: db/torque/test/trunk/test-project/maven.xml
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/test-project/maven.xml?rev=367079&r1=367078&r2=367079&view=diff
==============================================================================
--- db/torque/test/trunk/test-project/maven.xml (original)
+++ db/torque/test/trunk/test-project/maven.xml Sun Jan 8 12:00:03 2006
@@ -85,6 +85,23 @@
destdir="${torque.test.compile.dir}"
optimize="${torque.compile.optimize}"
srcdir="${torque.test.junit.src.dir}">
+ <include name="**/*Test.java" />
+
+ <j:set var="managers" value="${torque.useManagers}"/>
+ <j:if test="${managers == 'true'}">
+ <include name="**/ManagerTestConditional.java"/>
+ </j:if>
+ <j:set var="beans" value="${torque.generateBeans}"/>
+ <j:if test="${beans == 'true'}">
+ <include name="**/BeanTestConditional.java"/>
+ </j:if>
+ <j:set var="complex" value="${torque.complexObjectModel}"/>
+ <j:if test="${complex == 'true'}">
+ <j:set var="caching" value="${torque.objectIsCaching}"/>
+ <j:if test="${caching == 'true'}">
+ <include name="**/CopyTestConditional.java"/>
+ </j:if>
+ </j:if>
<classpath>
<pathelement location="${torque.test.compile.dir}"/>
<path refid="maven.dependency.classpath"/>
@@ -92,6 +109,22 @@
</javac>
</goal>
+ <postGoal name="torque-test:pre-test">
+ <j:set var="managers" value="${torque.useManagers}"/>
+ <j:if test="${managers == 'true'}">
+ <copy todir="${torque.test.compile.dir}">
+ <fileset dir="${torque.test.junit.src.dir}">
+ <include name="cache.ccf"/>
+ </fileset>
+ </copy>
+ </j:if>
+
+ <copy todir="${torque.test.compile.dir}">
+ <fileset dir="src/logging">
+ <include name="*"/>
+ </fileset>
+ </copy>
+ </postGoal>
<goal name="torque-test:test"
prereqs="torque-test:pre-test"
@@ -102,6 +135,12 @@
<mkdir dir="${torque.test.log.dir}" />
<mkdir dir="${torque.test.junit.report.dir}" />
+
+ <echo>UseManagers is ${torque.useManagers}</echo>
+ <echo>GenerateBeans is ${torque.generateBeans}</echo>
+ <echo>ComplexObjectModel is ${torque.complexObjectModel}</echo>
+ <echo>ObjectIsCaching is ${torque.objectIsCaching}</echo>
+
<junit printsummary="no" haltonfailure="yes" fork="true">
<sysproperty
key="torque.configuration.file"
@@ -116,6 +155,21 @@
<batchtest todir="${torque.test.junit.report.dir}">
<fileset dir="${torque.test.junit.src.dir}">
+ <j:set var="managers" value="${torque.useManagers}"/>
+ <j:if test="${managers == 'true'}">
+ <include name="**/ManagerTestConditional.java"/>
+ </j:if>
+ <j:set var="beans" value="${torque.generateBeans}"/>
+ <j:if test="${beans == 'true'}">
+ <include name="**/BeanTestConditional.java"/>
+ </j:if>
+ <j:set var="complex" value="${torque.complexObjectModel}"/>
+ <j:if test="${complex == 'true'}">
+ <j:set var="caching" value="${torque.objectIsCaching}"/>
+ <j:if test="${caching == 'true'}">
+ <include name="**/CopyTestConditional.java"/>
+ </j:if>
+ </j:if>
<include name="**/*Test.java"/>
<exclude name="**/test/**/*.java"/>
</fileset>
Added: db/torque/test/trunk/test-project/src/java/cache.ccf
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/test-project/src/java/cache.ccf?rev=367079&view=auto
==============================================================================
--- db/torque/test/trunk/test-project/src/java/cache.ccf (added)
+++ db/torque/test/trunk/test-project/src/java/cache.ccf Sun Jan 8 12:00:03
2006
@@ -0,0 +1,16 @@
+# Java Caching System configuration
+
+jcs.default=
+jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
+jcs.default.cacheattributes.MaxObjects=100
+jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
+
+jcs.region.aloe_om_Author=
+jcs.region.aloe_om_Author.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
+jcs.region.aloe_om_Author.cacheattributes.MaxObjects=100
+jcs.region.aloe_om_Author.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
+
+jcs.region.aloe_om_Book=
+jcs.region.aloe_om_Book.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
+jcs.region.aloe_om_Book.cacheattributes.MaxObjects=100
+jcs.region.aloe_om_Book.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
Copied:
db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTestConditional.java
(from r367053,
db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTest.java)
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTestConditional.java?p2=db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTestConditional.java&p1=db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTest.java&r1=367053&r2=367079&rev=367079&view=diff
==============================================================================
--- db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTest.java
(original)
+++
db/torque/test/trunk/test-project/src/java/org/apache/torque/BeanTestConditional.java
Sun Jan 8 12:00:03 2006
@@ -37,7 +37,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Thomas Fischer</a>
* @version $Id$
*/
-public class BeanTest extends BaseRuntimeTestCase
+public class BeanTestConditional extends BaseRuntimeTestCase
{
public static final String AUTHOR_1_NAME = "Joshua Bloch";
@@ -54,7 +54,7 @@
/**
* Creates a new instance.
*/
- public BeanTest(String name)
+ public BeanTestConditional(String name)
{
super(name);
}
Added:
db/torque/test/trunk/test-project/src/java/org/apache/torque/ManagerTestConditional.java
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/test-project/src/java/org/apache/torque/ManagerTestConditional.java?rev=367079&view=auto
==============================================================================
---
db/torque/test/trunk/test-project/src/java/org/apache/torque/ManagerTestConditional.java
(added)
+++
db/torque/test/trunk/test-project/src/java/org/apache/torque/ManagerTestConditional.java
Sun Jan 8 12:00:03 2006
@@ -0,0 +1,98 @@
+package org.apache.torque;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed 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 org.apache.torque.test.Author;
+import org.apache.torque.test.AuthorManager;
+import org.apache.torque.test.AuthorPeer;
+import org.apache.torque.test.Book;
+import org.apache.torque.test.BookManager;
+import org.apache.torque.test.BookPeer;
+import org.apache.torque.util.Criteria;
+
+/**
+ * Runtime tests for managers and caching.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+public class ManagerTestConditional extends BaseRuntimeTestCase
+{
+ /**
+ * Creates a new instance.
+ */
+ public ManagerTestConditional(String name)
+ {
+ super(name);
+ }
+
+ public void setUp()
+ {
+ super.setUp();
+ }
+
+
+ /**
+ * Tests whether managers and caching work
+ * @throws Exception if the test fails
+ */
+ public void testManagers() throws Exception
+ {
+ cleanBookstore();
+ AuthorManager.getManager().setRegion("test_om_Author");
+ BookManager.getManager().setRegion("test_om_Book");
+
+ Author author1 = new Author();
+ author1.setName("author1");
+ author1.save();
+ Author author2 = new Author();
+ author2.setName("author2");
+ author2.save();
+
+ Author myauthor =
AuthorManager.getCachedInstance(author1.getPrimaryKey());
+ assertNotNull("Primary key of Author1 should not be null",
author1.getPrimaryKey());
+ assertNotNull("MyAuthor should not be null", myauthor);
+ assertTrue("Author1 and MyAuthor should point to the same cache
instance", author1 == myauthor);
+
+ Book book = new Book();
+ book.setAuthor(author1);
+ book.setTitle("Book 1");
+ book.setIsbn("unknown");
+ book.save();
+
+ Book mybook = BookManager.getInstance(book.getPrimaryKey());
+ assertTrue("Author1 and the author of MyBook should point to the same
cache instance", author1 == mybook.getAuthor());
+ }
+
+
+ /**
+ * Deletes all authors and books in the bookstore tables
+ * @throws Exception if the bookstore could not be cleaned
+ */
+ protected void cleanBookstore() throws Exception
+ {
+ Criteria criteria = new Criteria();
+ criteria.add(BookPeer.BOOK_ID, (Long) null, Criteria.NOT_EQUAL);
+ BookPeer.doDelete(criteria);
+
+ criteria.clear();
+ criteria.add(
+ AuthorPeer.AUTHOR_ID,
+ (Long) null, Criteria.NOT_EQUAL);
+ AuthorPeer.doDelete(criteria);
+ }
+}
Copied:
db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTestConditional.java
(from r367053,
db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTest.java)
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTestConditional.java?p2=db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTestConditional.java&p1=db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTest.java&r1=367053&r2=367079&rev=367079&view=diff
==============================================================================
---
db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTest.java
(original)
+++
db/torque/test/trunk/test-project/src/java/org/apache/torque/util/CopyTestConditional.java
Sun Jan 8 12:00:03 2006
@@ -27,12 +27,12 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Rafal Maczewski</a>
* @version $Id$
*/
-public class CopyTest extends BaseRuntimeTestCase
+public class CopyTestConditional extends BaseRuntimeTestCase
{
/**
* Creates a new instance.
*/
- public CopyTest(String name)
+ public CopyTestConditional(String name)
{
super(name);
}
Modified: db/torque/test/trunk/test-project/src/logging/log4j.properties
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/test-project/src/logging/log4j.properties?rev=367079&r1=367078&r2=367079&view=diff
==============================================================================
--- db/torque/test/trunk/test-project/src/logging/log4j.properties (original)
+++ db/torque/test/trunk/test-project/src/logging/log4j.properties Sun Jan 8
12:00:03 2006
@@ -22,8 +22,14 @@
log4j.rootLogger = DEBUG, torque
+log4j.logger.org.apache.torque = DEBUG, torque
+log4j.additivity.org.apache.torque = false
+
+log4j.logger.org.apache.jcs = DEBUG, torque
+log4j.additivity.org.apache.jcs = false
+
log4j.appender.torque = org.apache.log4j.FileAppender
-log4j.appender.torque.file = target/tests/base/target/logs/base-test.log
-log4j.appender.torque.append = false
+log4j.appender.torque.file = target/logs/base-test.log
+log4j.appender.torque.append = true
log4j.appender.torque.layout = org.apache.log4j.PatternLayout
log4j.appender.torque.layout.conversionPattern = %d [%t] %-5p %c - %m%n
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]