Return-Path: X-Original-To: apmail-camel-commits-archive@www.apache.org Delivered-To: apmail-camel-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4BC9EBCAE for ; Sat, 31 Dec 2011 13:43:40 +0000 (UTC) Received: (qmail 74165 invoked by uid 500); 31 Dec 2011 13:43:40 -0000 Delivered-To: apmail-camel-commits-archive@camel.apache.org Received: (qmail 74138 invoked by uid 500); 31 Dec 2011 13:43:40 -0000 Mailing-List: contact commits-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list commits@camel.apache.org Received: (qmail 74131 invoked by uid 99); 31 Dec 2011 13:43:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 31 Dec 2011 13:43:40 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 31 Dec 2011 13:43:33 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 2EC8E23889D7 for ; Sat, 31 Dec 2011 13:43:11 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1226088 - in /camel/trunk/components/camel-sql: ./ src/test/java/org/apache/camel/component/sql/ src/test/java/org/apache/camel/processor/aggregate/jdbc/ src/test/java/org/apache/camel/processor/idempotent/jdbc/ src/test/resources/org/apac... Date: Sat, 31 Dec 2011 13:43:10 -0000 To: commits@camel.apache.org From: cmueller@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111231134311.2EC8E23889D7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: cmueller Date: Sat Dec 31 13:43:09 2011 New Revision: 1226088 URL: http://svn.apache.org/viewvc?rev=1226088&view=rev Log: CAMEL-4734: Consolidate the database vendors in our unit tests Added: camel/trunk/components/camel-sql/src/test/resources/sql/createAndPopulateDatabase.sql Modified: camel/trunk/components/camel-sql/pom.xml camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlDataSourceRefTest.java camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlEndpointTest.java camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlPreserveHeaderTest.java camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlTransactedRouteTest.java camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/AbstractJdbcAggregationTestSupport.java camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepositoryMultipleRepoTest.java camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/CustomizedJdbcMessageIdRepositoryTest.java camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepositoryTest.java camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/aggregate/jdbc/JdbcSpringDataSource.xml camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/customized-spring.xml camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/spring.xml camel/trunk/components/camel-sql/src/test/resources/sql/init.sql camel/trunk/components/camel-sql/src/test/resources/sql/init2.sql Modified: camel/trunk/components/camel-sql/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/pom.xml?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/pom.xml (original) +++ camel/trunk/components/camel-sql/pom.xml Sat Dec 31 13:43:09 2011 @@ -76,15 +76,10 @@ test - org.hsqldb - hsqldb + org.apache.derby + derby test - - com.h2database - h2 - test - Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlDataSourceRefTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlDataSourceRefTest.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlDataSourceRefTest.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlDataSourceRefTest.java Sat Dec 31 13:43:09 2011 @@ -19,32 +19,36 @@ package org.apache.camel.component.sql; import java.util.List; import java.util.Map; -import javax.sql.DataSource; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.impl.JndiRegistry; import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.After; -import org.junit.Before; import org.junit.Test; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.SingleConnectionDataSource; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; /** * @version */ public class SqlDataSourceRefTest extends CamelTestSupport { - protected String driverClass = "org.hsqldb.jdbcDriver"; - protected String url = "jdbc:hsqldb:mem:camel_jdbc"; - protected String user = "sa"; - protected String password = ""; - private JdbcTemplate jdbcTemplate; + + private EmbeddedDatabase db; @Override protected JndiRegistry createRegistry() throws Exception { JndiRegistry jndi = super.createRegistry(); - jndi.bind("jdbc/myDataSource", createDataSource()); + + // START SNIPPET: e2 + // this is the database we create with some initial data for our unit test + db = new EmbeddedDatabaseBuilder() + .setType(EmbeddedDatabaseType.DERBY).addScript("sql/createAndPopulateDatabase.sql").build(); + // END SNIPPET: e2 + + jndi.bind("jdbc/myDataSource", db); + return jndi; } @@ -73,31 +77,11 @@ public class SqlDataSourceRefTest extend // END SNIPPET: e3 } - @Before - public void setUp() throws Exception { - Class.forName(driverClass); - super.setUp(); - - jdbcTemplate = new JdbcTemplate(createDataSource()); - // START SNIPPET: e2 - // this is the database we create with some initial data for our unit test - jdbcTemplate.execute("create table projects (id integer primary key," - + "project varchar(10), license varchar(5))"); - jdbcTemplate.execute("insert into projects values (1, 'Camel', 'ASF')"); - jdbcTemplate.execute("insert into projects values (2, 'AMQ', 'ASF')"); - jdbcTemplate.execute("insert into projects values (3, 'Linux', 'XXX')"); - // END SNIPPET: e2 - } - @After public void tearDown() throws Exception { super.tearDown(); - JdbcTemplate jdbcTemplate = new JdbcTemplate(createDataSource()); - jdbcTemplate.execute("drop table projects"); - } - - private DataSource createDataSource() { - return new SingleConnectionDataSource(url, user, password, true); + + db.shutdown(); } @Override @@ -112,5 +96,4 @@ public class SqlDataSourceRefTest extend } }; } - } \ No newline at end of file Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlEndpointTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlEndpointTest.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlEndpointTest.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlEndpointTest.java Sat Dec 31 13:43:09 2011 @@ -16,8 +16,6 @@ */ package org.apache.camel.component.sql; -import javax.sql.DataSource; - import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit4.CamelTestSupport; @@ -25,18 +23,16 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.SingleConnectionDataSource; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; /** * @version */ public class SqlEndpointTest extends CamelTestSupport { - protected String driverClass = "org.hsqldb.jdbcDriver"; - protected String url = "jdbc:hsqldb:mem:camel_jdbc"; - protected String user = "sa"; - protected String password = ""; - private DataSource ds; - private JdbcTemplate jdbcTemplate; + + private EmbeddedDatabase db; @Test public void testSQLEndpoint() throws Exception { @@ -50,33 +46,26 @@ public class SqlEndpointTest extends Cam @Before public void setUp() throws Exception { - Class.forName(driverClass); + db = new EmbeddedDatabaseBuilder() + .setType(EmbeddedDatabaseType.DERBY).addScript("sql/createAndPopulateDatabase.sql").build(); + super.setUp(); - - jdbcTemplate = new JdbcTemplate(ds); - jdbcTemplate.execute("create table projects (id integer primary key," - + "project varchar(10), license varchar(5))"); - jdbcTemplate.execute("insert into projects values (1, 'Camel', 'ASF')"); - jdbcTemplate.execute("insert into projects values (2, 'AMQ', 'ASF')"); - jdbcTemplate.execute("insert into projects values (3, 'Linux', 'XXX')"); } @After public void tearDown() throws Exception { super.tearDown(); - JdbcTemplate jdbcTemplate = new JdbcTemplate(ds); - jdbcTemplate.execute("drop table projects"); + + db.shutdown(); } @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - ds = new SingleConnectionDataSource(url, user, password, true); - SqlEndpoint sql = new SqlEndpoint(); sql.setCamelContext(context); - sql.setJdbcTemplate(new JdbcTemplate(ds)); + sql.setJdbcTemplate(new JdbcTemplate(db)); sql.setQuery("select * from projects"); context.addEndpoint("mysql", sql); Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlPreserveHeaderTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlPreserveHeaderTest.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlPreserveHeaderTest.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlPreserveHeaderTest.java Sat Dec 31 13:43:09 2011 @@ -16,27 +16,22 @@ */ package org.apache.camel.component.sql; -import javax.sql.DataSource; - import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.SingleConnectionDataSource; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; /** * @version */ public class SqlPreserveHeaderTest extends CamelTestSupport { - protected String driverClass = "org.hsqldb.jdbcDriver"; - protected String url = "jdbc:hsqldb:mem:camel_jdbc"; - protected String user = "sa"; - protected String password = ""; - private DataSource ds; - private JdbcTemplate jdbcTemplate; + + private EmbeddedDatabase db; @Test public void testPreserveHeaders() throws Exception { @@ -51,31 +46,24 @@ public class SqlPreserveHeaderTest exten @Before public void setUp() throws Exception { - Class.forName(driverClass); + db = new EmbeddedDatabaseBuilder() + .setType(EmbeddedDatabaseType.DERBY).addScript("sql/createAndPopulateDatabase.sql").build(); + super.setUp(); - - jdbcTemplate = new JdbcTemplate(ds); - jdbcTemplate.execute("create table projects (id integer primary key," - + "project varchar(10), license varchar(5))"); - jdbcTemplate.execute("insert into projects values (1, 'Camel', 'ASF')"); - jdbcTemplate.execute("insert into projects values (2, 'AMQ', 'ASF')"); - jdbcTemplate.execute("insert into projects values (3, 'Linux', 'XXX')"); } @After public void tearDown() throws Exception { super.tearDown(); - JdbcTemplate jdbcTemplate = new JdbcTemplate(ds); - jdbcTemplate.execute("drop table projects"); + + db.shutdown(); } @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() { - ds = new SingleConnectionDataSource(url, user, password, true); - - getContext().getComponent("sql", SqlComponent.class).setDataSource(ds); + getContext().getComponent("sql", SqlComponent.class).setDataSource(db); errorHandler(noErrorHandler()); @@ -86,5 +74,4 @@ public class SqlPreserveHeaderTest exten } }; } - } \ No newline at end of file Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java Sat Dec 31 13:43:09 2011 @@ -23,26 +23,26 @@ import java.util.concurrent.ConcurrentHa import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; -import javax.sql.DataSource; +import org.apache.camel.EndpointInject; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.SingleConnectionDataSource; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; /** * @version */ public class SqlProducerConcurrentTest extends CamelTestSupport { - protected String driverClass = "org.hsqldb.jdbcDriver"; - protected String url = "jdbc:hsqldb:mem:camel_jdbc"; - protected String user = "sa"; - protected String password = ""; - private DataSource ds; - private JdbcTemplate jdbcTemplate; + + @EndpointInject(uri = "mock:result") + private MockEndpoint mockEndpoint; + private EmbeddedDatabase db; @Test public void testNoConcurrentProducers() throws Exception { @@ -55,15 +55,16 @@ public class SqlProducerConcurrentTest e } private void doSendMessages(int files, int poolSize) throws Exception { - getMockEndpoint("mock:result").expectedMessageCount(files); + mockEndpoint.expectedMessageCount(files); ExecutorService executor = Executors.newFixedThreadPool(poolSize); Map> responses = new ConcurrentHashMap>(); + for (int i = 0; i < files; i++) { final int index = i; Future out = executor.submit(new Callable() { public Object call() throws Exception { - int id = index % 3; + int id = (index % 3) + 1; return template.requestBody("direct:simple", "" + id); } }); @@ -71,7 +72,6 @@ public class SqlProducerConcurrentTest e } assertMockEndpointsSatisfied(); - assertEquals(files, responses.size()); for (int i = 0; i < files; i++) { @@ -90,34 +90,27 @@ public class SqlProducerConcurrentTest e @Before public void setUp() throws Exception { - Class.forName(driverClass); + db = new EmbeddedDatabaseBuilder() + .setType(EmbeddedDatabaseType.DERBY).addScript("sql/createAndPopulateDatabase.sql").build(); + super.setUp(); - - jdbcTemplate = new JdbcTemplate(ds); - jdbcTemplate.execute("create table projects (id integer primary key," - + "project varchar(10), license varchar(5))"); - jdbcTemplate.execute("insert into projects values (0, 'Camel', 'ASF')"); - jdbcTemplate.execute("insert into projects values (1, 'AMQ', 'ASF')"); - jdbcTemplate.execute("insert into projects values (2, 'Linux', 'XXX')"); } @After public void tearDown() throws Exception { super.tearDown(); - JdbcTemplate jdbcTemplate = new JdbcTemplate(ds); - jdbcTemplate.execute("drop table projects"); + + db.shutdown(); } @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() { - ds = new SingleConnectionDataSource(url, user, password, true); - getContext().getComponent("sql", SqlComponent.class).setDataSource(ds); + getContext().getComponent("sql", SqlComponent.class).setDataSource(db); from("direct:simple").to("sql:select * from projects where id = # order by id").to("mock:result"); } }; } - } \ No newline at end of file Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java Sat Dec 31 13:43:09 2011 @@ -23,8 +23,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import javax.sql.DataSource; - import org.apache.camel.RuntimeCamelException; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; @@ -36,17 +34,16 @@ import org.springframework.dao.DataAcces import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.jdbc.UncategorizedSQLException; import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.SingleConnectionDataSource; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; /** * @version */ public class SqlRouteTest extends CamelTestSupport { - protected String driverClass = "org.hsqldb.jdbcDriver"; - protected String url = "jdbc:hsqldb:mem:camel_jdbc"; - protected String user = "sa"; - protected String password = ""; - private DataSource ds; + + private EmbeddedDatabase db; private JdbcTemplate jdbcTemplate; @Test @@ -256,14 +253,10 @@ public class SqlRouteTest extends CamelT @Before public void setUp() throws Exception { - Class.forName(driverClass); - ds = new SingleConnectionDataSource(url, user, password, true); + db = new EmbeddedDatabaseBuilder() + .setType(EmbeddedDatabaseType.DERBY).addScript("sql/createAndPopulateDatabase.sql").build(); - jdbcTemplate = new JdbcTemplate(ds); - jdbcTemplate.execute("create table projects (id integer primary key, project varchar(10), license varchar(5))"); - jdbcTemplate.execute("insert into projects values (1, 'Camel', 'ASF')"); - jdbcTemplate.execute("insert into projects values (2, 'AMQ', 'ASF')"); - jdbcTemplate.execute("insert into projects values (3, 'Linux', 'XXX')"); + jdbcTemplate = new JdbcTemplate(db); super.setUp(); } @@ -272,15 +265,14 @@ public class SqlRouteTest extends CamelT public void tearDown() throws Exception { super.tearDown(); - jdbcTemplate.execute("drop table projects"); - ((SingleConnectionDataSource) ds).destroy(); + db.shutdown(); } @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() { - getContext().getComponent("sql", SqlComponent.class).setDataSource(ds); + getContext().getComponent("sql", SqlComponent.class).setDataSource(db); errorHandler(noErrorHandler()); Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlTransactedRouteTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlTransactedRouteTest.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlTransactedRouteTest.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlTransactedRouteTest.java Sat Dec 31 13:43:09 2011 @@ -18,8 +18,6 @@ package org.apache.camel.component.sql; import java.util.Map; -import javax.sql.DataSource; - import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; @@ -31,21 +29,17 @@ import org.junit.Before; import org.junit.Test; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DataSourceTransactionManager; -import org.springframework.jdbc.datasource.DriverManagerDataSource; -import org.springframework.jdbc.datasource.SingleConnectionDataSource; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; /** * @version */ public class SqlTransactedRouteTest extends CamelTestSupport { - protected DataSource ds; - protected JdbcTemplate jdbc; - - private String driverClass = "org.hsqldb.jdbcDriver"; - private String url = "jdbc:hsqldb:mem:camel_jdbc"; - private String user = "sa"; - private String password = ""; + private EmbeddedDatabase db; + private JdbcTemplate jdbc; private String startEndpoint = "direct:start"; private String sqlEndpoint = "sql:overriddenByTheHeader?dataSourceRef=testdb"; @@ -54,7 +48,7 @@ public class SqlTransactedRouteTest exte public void setUp() throws Exception { super.setUp(); - jdbc = new JdbcTemplate(ds); + jdbc = new JdbcTemplate(db); jdbc.execute("CREATE TABLE CUSTOMER (ID VARCHAR(15) NOT NULL PRIMARY KEY, NAME VARCHAR(100))"); } @@ -62,12 +56,12 @@ public class SqlTransactedRouteTest exte protected JndiRegistry createRegistry() throws Exception { JndiRegistry reg = super.createRegistry(); - ds = new SingleConnectionDataSource(url, user, password, true); - ((DriverManagerDataSource) ds).setDriverClassName(driverClass); - reg.bind("testdb", ds); + db = new EmbeddedDatabaseBuilder() + .setType(EmbeddedDatabaseType.DERBY).build(); + reg.bind("testdb", db); DataSourceTransactionManager txMgr = new DataSourceTransactionManager(); - txMgr.setDataSource(ds); + txMgr.setDataSource(db); reg.bind("txManager", txMgr); SpringTransactionPolicy txPolicy = new SpringTransactionPolicy(); @@ -82,8 +76,7 @@ public class SqlTransactedRouteTest exte public void tearDown() throws Exception { super.tearDown(); - JdbcTemplate jdbc = new JdbcTemplate(ds); - jdbc.execute("drop table customer"); + db.shutdown(); } @Test Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/AbstractJdbcAggregationTestSupport.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/AbstractJdbcAggregationTestSupport.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/AbstractJdbcAggregationTestSupport.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/AbstractJdbcAggregationTestSupport.java Sat Dec 31 13:43:09 2011 @@ -19,29 +19,25 @@ package org.apache.camel.processor.aggre import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.processor.aggregate.AggregationStrategy; -import org.apache.camel.test.junit4.CamelTestSupport; -import org.junit.Before; -import org.springframework.context.ApplicationContext; +import org.apache.camel.test.junit4.CamelSpringTestSupport; +import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; -public abstract class AbstractJdbcAggregationTestSupport extends CamelTestSupport { +public abstract class AbstractJdbcAggregationTestSupport extends CamelSpringTestSupport { JdbcAggregationRepository repo; - @Before @Override - public void setUp() throws Exception { - ApplicationContext applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/processor/aggregate/jdbc/JdbcSpringDataSource.xml"); - repo = applicationContext.getBean("repo1", JdbcAggregationRepository.class); + public void postProcessTest() throws Exception { + super.postProcessTest(); + repo = applicationContext.getBean("repo1", JdbcAggregationRepository.class); configureJdbcAggregationRepository(); - - super.setUp(); } - + void configureJdbcAggregationRepository() { } - + @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { @@ -62,6 +58,16 @@ public abstract class AbstractJdbcAggreg long getCompletionInterval() { return 5000; } + + @Override + protected AbstractApplicationContext createApplicationContext() { + return new ClassPathXmlApplicationContext("org/apache/camel/processor/aggregate/jdbc/JdbcSpringDataSource.xml"); + } + + @Override + protected int getExpectedRouteCount() { + return 0; + } public static class MyAggregationStrategy implements AggregationStrategy { Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepositoryMultipleRepoTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepositoryMultipleRepoTest.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepositoryMultipleRepoTest.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepositoryMultipleRepoTest.java Sat Dec 31 13:43:09 2011 @@ -18,21 +18,12 @@ package org.apache.camel.processor.aggre import org.apache.camel.Exchange; import org.apache.camel.impl.DefaultExchange; -import org.apache.camel.test.junit4.CamelTestSupport; +import org.apache.camel.test.junit4.CamelSpringTestSupport; import org.junit.Test; -import org.springframework.context.ApplicationContext; +import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; -public class JdbcAggregationRepositoryMultipleRepoTest extends CamelTestSupport { - - ApplicationContext applicationContext; - - @Override - public void setUp() throws Exception { - applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/processor/aggregate/jdbc/JdbcSpringDataSource.xml"); - - super.setUp(); - } +public class JdbcAggregationRepositoryMultipleRepoTest extends CamelSpringTestSupport { @Test public void testMultipeRepo() { @@ -103,4 +94,14 @@ public class JdbcAggregationRepositoryMu actual = repo2.get(context, "foo"); assertEquals("Bye World", actual.getIn().getBody()); } + + @Override + protected AbstractApplicationContext createApplicationContext() { + return new ClassPathXmlApplicationContext("org/apache/camel/processor/aggregate/jdbc/JdbcSpringDataSource.xml"); + } + + @Override + protected int getExpectedRouteCount() { + return 0; + } } \ No newline at end of file Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/CustomizedJdbcMessageIdRepositoryTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/CustomizedJdbcMessageIdRepositoryTest.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/CustomizedJdbcMessageIdRepositoryTest.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/CustomizedJdbcMessageIdRepositoryTest.java Sat Dec 31 13:43:09 2011 @@ -28,16 +28,10 @@ import org.junit.Test; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; -import org.springframework.transaction.TransactionDefinition; -import org.springframework.transaction.TransactionStatus; -import org.springframework.transaction.support.TransactionCallback; -import org.springframework.transaction.support.TransactionTemplate; public class CustomizedJdbcMessageIdRepositoryTest extends CamelSpringTestSupport { protected static final String SELECT_ALL_STRING = "SELECT messageId FROM CUSTOMIZED_MESSAGE_REPOSITORY WHERE processorName = ?"; - protected static final String DELETE_ALL_STRING = "DELETE FROM CUSTOMIZED_MESSAGE_REPOSITORY WHERE processorName = ?"; protected static final String PROCESSOR_NAME = "myProcessorName"; protected JdbcTemplate jdbcTemplate; @@ -57,28 +51,8 @@ public class CustomizedJdbcMessageIdRepo dataSource = context.getRegistry().lookup("dataSource", DataSource.class); jdbcTemplate = new JdbcTemplate(dataSource); jdbcTemplate.afterPropertiesSet(); - - setupRepository(); } - @Override - protected AbstractApplicationContext createApplicationContext() { - return new ClassPathXmlApplicationContext("org/apache/camel/processor/idempotent/jdbc/customized-spring.xml"); - } - - protected void setupRepository() { - TransactionTemplate transactionTemplate = new TransactionTemplate(); - transactionTemplate.setTransactionManager(new DataSourceTransactionManager(dataSource)); - transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); - - transactionTemplate.execute(new TransactionCallback() { - public Boolean doInTransaction(TransactionStatus status) { - jdbcTemplate.update(DELETE_ALL_STRING, PROCESSOR_NAME); - return Boolean.TRUE; - } - }); - } - @Test public void testDuplicateMessagesAreFilteredOut() throws Exception { resultEndpoint.expectedBodiesReceived("one", "two", "three"); @@ -101,4 +75,9 @@ public class CustomizedJdbcMessageIdRepo assertTrue(receivedMessageIds.contains("2")); assertTrue(receivedMessageIds.contains("3")); } + + @Override + protected AbstractApplicationContext createApplicationContext() { + return new ClassPathXmlApplicationContext("org/apache/camel/processor/idempotent/jdbc/customized-spring.xml"); + } } \ No newline at end of file Modified: camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepositoryTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepositoryTest.java?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepositoryTest.java (original) +++ camel/trunk/components/camel-sql/src/test/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepositoryTest.java Sat Dec 31 13:43:09 2011 @@ -31,18 +31,11 @@ import org.junit.Before; import org.junit.Test; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; -import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; -import org.springframework.transaction.TransactionDefinition; -import org.springframework.transaction.TransactionStatus; -import org.springframework.transaction.support.TransactionCallback; -import org.springframework.transaction.support.TransactionTemplate; public class JdbcMessageIdRepositoryTest extends CamelSpringTestSupport { protected static final String SELECT_ALL_STRING = "SELECT messageId FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ?"; - protected static final String DELETE_ALL_STRING = "DELETE FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ?"; protected static final String PROCESSOR_NAME = "myProcessorName"; protected JdbcTemplate jdbcTemplate; @@ -62,33 +55,8 @@ public class JdbcMessageIdRepositoryTest dataSource = context.getRegistry().lookup("dataSource", DataSource.class); jdbcTemplate = new JdbcTemplate(dataSource); jdbcTemplate.afterPropertiesSet(); - - setupRepository(); } - @Override - protected AbstractApplicationContext createApplicationContext() { - return new ClassPathXmlApplicationContext("org/apache/camel/processor/idempotent/jdbc/spring.xml"); - } - - protected void setupRepository() { - TransactionTemplate transactionTemplate = new TransactionTemplate(); - transactionTemplate.setTransactionManager(new DataSourceTransactionManager(dataSource)); - transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); - - transactionTemplate.execute(new TransactionCallback() { - public Boolean doInTransaction(TransactionStatus status) { - try { - jdbcTemplate.execute("CREATE TABLE CAMEL_MESSAGEPROCESSED (processorName VARCHAR(20), messageId VARCHAR(10), createdAt timestamp)"); - } catch (DataAccessException e) { - // noop if table already exists - } - jdbcTemplate.update(DELETE_ALL_STRING, PROCESSOR_NAME); - return Boolean.TRUE; - } - }); - } - @Test public void testDuplicateMessagesAreFilteredOut() throws Exception { resultEndpoint.expectedBodiesReceived("one", "two", "three"); @@ -151,4 +119,9 @@ public class JdbcMessageIdRepositoryTest assertTrue("Should contain message 1", receivedMessageIds.contains("1")); assertTrue("Should contain message 3", receivedMessageIds.contains("3")); } + + @Override + protected AbstractApplicationContext createApplicationContext() { + return new ClassPathXmlApplicationContext("org/apache/camel/processor/idempotent/jdbc/spring.xml"); + } } \ No newline at end of file Modified: camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/aggregate/jdbc/JdbcSpringDataSource.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/aggregate/jdbc/JdbcSpringDataSource.xml?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/aggregate/jdbc/JdbcSpringDataSource.xml (original) +++ camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/aggregate/jdbc/JdbcSpringDataSource.xml Sat Dec 31 13:43:09 2011 @@ -35,12 +35,12 @@ - + - + Modified: camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/customized-spring.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/customized-spring.xml?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/customized-spring.xml (original) +++ camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/customized-spring.xml Sat Dec 31 13:43:09 2011 @@ -17,24 +17,21 @@ --> - - - - - - + - + Modified: camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/spring.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/spring.xml?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/spring.xml (original) +++ camel/trunk/components/camel-sql/src/test/resources/org/apache/camel/processor/idempotent/jdbc/spring.xml Sat Dec 31 13:43:09 2011 @@ -17,18 +17,15 @@ --> - - - - - - + Added: camel/trunk/components/camel-sql/src/test/resources/sql/createAndPopulateDatabase.sql URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/resources/sql/createAndPopulateDatabase.sql?rev=1226088&view=auto ============================================================================== --- camel/trunk/components/camel-sql/src/test/resources/sql/createAndPopulateDatabase.sql (added) +++ camel/trunk/components/camel-sql/src/test/resources/sql/createAndPopulateDatabase.sql Sat Dec 31 13:43:09 2011 @@ -0,0 +1,6 @@ +-- START SNIPPET: e1 +create table projects (id integer primary key, project varchar(10), license varchar(5)); +insert into projects values (1, 'Camel', 'ASF'); +insert into projects values (2, 'AMQ', 'ASF'); +insert into projects values (3, 'Linux', 'XXX'); +-- END SNIPPET: e1 \ No newline at end of file Modified: camel/trunk/components/camel-sql/src/test/resources/sql/init.sql URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/resources/sql/init.sql?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/resources/sql/init.sql (original) +++ camel/trunk/components/camel-sql/src/test/resources/sql/init.sql Sat Dec 31 13:43:09 2011 @@ -1,5 +1,3 @@ -DROP TABLE aggregationRepo1 IF EXISTS; -DROP TABLE aggregationRepo1_completed IF EXISTS; CREATE TABLE aggregationRepo1 ( id varchar(255) NOT NULL, exchange blob NOT NULL, Modified: camel/trunk/components/camel-sql/src/test/resources/sql/init2.sql URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-sql/src/test/resources/sql/init2.sql?rev=1226088&r1=1226087&r2=1226088&view=diff ============================================================================== --- camel/trunk/components/camel-sql/src/test/resources/sql/init2.sql (original) +++ camel/trunk/components/camel-sql/src/test/resources/sql/init2.sql Sat Dec 31 13:43:09 2011 @@ -1,5 +1,3 @@ -DROP TABLE aggregationRepo2 IF EXISTS; -DROP TABLE aggregationRepo2_completed IF EXISTS; CREATE TABLE aggregationRepo2 ( id varchar(255) NOT NULL, exchange blob NOT NULL,