You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2011/12/31 18:50:22 UTC

svn commit: r1226150 - in /camel/trunk/components/camel-jdbc: ./ src/test/java/org/apache/camel/component/jdbc/ src/test/resources/org/apache/camel/component/jdbc/ src/test/resources/sql/

Author: cmueller
Date: Sat Dec 31 17:50:21 2011
New Revision: 1226150

URL: http://svn.apache.org/viewvc?rev=1226150&view=rev
Log:
CAMEL-4734: Consolidate the database vendors in our unit tests

Added:
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/AbstractJdbcTestSupport.java
      - copied, changed from r1226088, camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcSpringAnotherRouteTest.java
    camel/trunk/components/camel-jdbc/src/test/resources/sql/
    camel/trunk/components/camel-jdbc/src/test/resources/sql/init.sql
Modified:
    camel/trunk/components/camel-jdbc/pom.xml
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcAnotherRouteTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcEndpointTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcOptionsTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteKeyOrderingTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteSplitTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasJdbc3Test.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcSpringAnotherRouteTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcStatementParametersTest.java
    camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcTransformSimpleTest.java
    camel/trunk/components/camel-jdbc/src/test/resources/org/apache/camel/component/jdbc/camelContext.xml

Modified: camel/trunk/components/camel-jdbc/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/pom.xml?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/pom.xml (original)
+++ camel/trunk/components/camel-jdbc/pom.xml Sat Dec 31 17:50:21 2011
@@ -63,8 +63,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.hsqldb</groupId>
-            <artifactId>hsqldb</artifactId>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>

Copied: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/AbstractJdbcTestSupport.java (from r1226088, camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcSpringAnotherRouteTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/AbstractJdbcTestSupport.java?p2=camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/AbstractJdbcTestSupport.java&p1=camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcSpringAnotherRouteTest.java&r1=1226088&r2=1226150&rev=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcSpringAnotherRouteTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/AbstractJdbcTestSupport.java Sat Dec 31 17:50:21 2011
@@ -16,42 +16,44 @@
  */
 package org.apache.camel.component.jdbc;
 
-import org.apache.camel.CamelContext;
-import org.apache.camel.spring.SpringCamelContext;
+import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.After;
 import org.junit.Before;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
 
+/**
+ * Unit test based on user forum request about this component
+ */
+public abstract class AbstractJdbcTestSupport extends CamelTestSupport {
+    
+    protected EmbeddedDatabase db;
 
-public class JdbcSpringAnotherRouteTest extends JdbcAnotherRouteTest {
-    private ClassPathXmlApplicationContext applicationContext;
     @Override
+    protected JndiRegistry createRegistry() throws Exception {
+        // START SNIPPET: register
+        JndiRegistry reg = super.createRegistry();
+        reg.bind("testdb", db);
+        return reg;
+        // END SNIPPET: register
+    }
+
     @Before
+    @Override
     public void setUp() throws Exception {
-        setUseRouteBuilder(false);
-        applicationContext = createApplicationContext();
-        super.setUp();        
-        assertNotNull("Should have created a valid spring context", applicationContext);
-
-
+        db = new EmbeddedDatabaseBuilder()
+            .setType(EmbeddedDatabaseType.DERBY).addScript("sql/init.sql").build();
+        
+        super.setUp();
     }
 
-    @Override
     @After
+    @Override
     public void tearDown() throws Exception {
-        if (applicationContext != null) {
-            applicationContext.destroy();
-        }
         super.tearDown();
+        
+        db.shutdown();
     }
-    
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        return SpringCamelContext.springCamelContext(applicationContext);
-    }
-
-
-    protected ClassPathXmlApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext("org/apache/camel/component/jdbc/camelContext.xml");
-    }
-}
+}
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcAnotherRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcAnotherRouteTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcAnotherRouteTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcAnotherRouteTest.java Sat Dec 31 17:50:21 2011
@@ -16,42 +16,27 @@
  */
 package org.apache.camel.component.jdbc;
 
-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.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.DriverManagerDataSource;
 
 /**
  * Unit test based on user forum request about this component
  */
-public class JdbcAnotherRouteTest extends CamelTestSupport {
-    private String driverClass = "org.hsqldb.jdbcDriver";
-    private String url = "jdbc:hsqldb:mem:camel_jdbc";
-    private String user = "sa";
-    private String password = "";
-    private DataSource ds;
+public class JdbcAnotherRouteTest extends AbstractJdbcTestSupport {
 
+    @EndpointInject(uri = "mock:result")
+    private MockEndpoint mock;
+    
     @Test
     public void testTimerInvoked() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
 
-        mock.assertIsSatisfied();
-    }
-
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry reg = super.createRegistry();
-        reg.bind("testdb", ds);
-        return reg;
+        assertMockEndpointsSatisfied();
     }
 
+    @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
@@ -62,25 +47,4 @@ public class JdbcAnotherRouteTest extend
             }
         };
     }
-
-    @Before
-    public void setUp() throws Exception {
-        DriverManagerDataSource dataSource = new DriverManagerDataSource(url, user, password);
-        dataSource.setDriverClassName(driverClass);
-        ds = dataSource;
-
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("create table customer (id varchar(15), name varchar(10))");
-        jdbc.execute("insert into customer values('cust1','jstrachan')");
-        jdbc.execute("insert into customer values('cust2','nsandhu')");
-        super.setUp();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        super.tearDown();
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("drop table customer");
-    }
-
-}
+}
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcEndpointTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcEndpointTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcEndpointTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcEndpointTest.java Sat Dec 31 17:50:21 2011
@@ -18,23 +18,19 @@ package org.apache.camel.component.jdbc;
 
 import org.apache.camel.builder.RouteBuilder;
 
-/**
- * @version 
- */
 public class JdbcEndpointTest extends JdbcRouteTest {
 
+    @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
                 JdbcEndpoint jdbc = new JdbcEndpoint();
                 jdbc.setCamelContext(context);
-                jdbc.setDataSource(ds);
+                jdbc.setDataSource(db);
                 context.addEndpoint("foo", jdbc);
 
                 from("direct:hello").to("foo");
             }
         };
     }
-
-
 }
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcOptionsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcOptionsTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcOptionsTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcOptionsTest.java Sat Dec 31 17:50:21 2011
@@ -19,36 +19,26 @@ package org.apache.camel.component.jdbc;
 import java.sql.Connection;
 import java.util.ArrayList;
 import java.util.List;
-import javax.sql.DataSource;
 
+import org.apache.camel.EndpointInject;
 import org.apache.camel.ResolveEndpointFailedException;
 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.DriverManagerDataSource;
-import org.springframework.jdbc.datasource.SingleConnectionDataSource;
-
-public class JdbcOptionsTest extends CamelTestSupport {
-    private String driverClass = "org.hsqldb.jdbcDriver";
-    private String url = "jdbc:hsqldb:mem:camel_jdbc";
-    private String user = "sa";
-    private String password = "";
-    private DataSource ds;
+
+public class JdbcOptionsTest extends AbstractJdbcTestSupport {
+
+    @EndpointInject(uri = "mock:result")
+    private MockEndpoint mock;
 
     @SuppressWarnings("rawtypes")
     @Test
     public void testReadSize() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
 
         template.sendBody("direct:start", "select * from customer");
 
-        mock.assertIsSatisfied();
+        assertMockEndpointsSatisfied();
 
         List list = mock.getExchanges().get(0).getIn().getBody(ArrayList.class);
         assertEquals(1, list.size());
@@ -58,9 +48,10 @@ public class JdbcOptionsTest extends Cam
     @Test
     public void testInsertCommit() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:resultTx");
-        mock.expectedMessageCount(1);
+        mock.expectedMessageCount(2);
         // insert 2 recs into table
-        template.sendBody("direct:startTx", "insert into customer values ('cust3', 'johnsmith');insert into customer values ('cust4', 'hkesler') ");
+        template.sendBody("direct:startTx", "insert into customer values ('cust4', 'johnsmith')");
+        template.sendBody("direct:startTx", "insert into customer values ('cust5', 'hkesler')");
 
         mock.assertIsSatisfied();
 
@@ -77,7 +68,7 @@ public class JdbcOptionsTest extends Cam
 
         List list = mockTest.getExchanges().get(0).getIn().getBody(ArrayList.class);
         // both records were committed
-        assertEquals(4, list.size());
+        assertEquals(5, list.size());
     }
 
     @Test
@@ -93,23 +84,18 @@ public class JdbcOptionsTest extends Cam
     
     @Test
     public void testResettingAutoCommitOption() throws Exception {
-        Connection connection = ds.getConnection();
+        Connection connection = db.getConnection();
         assertTrue(connection.getAutoCommit());
         connection.close();
         
         template.sendBody("direct:retrieve", "select * from customer");
         
-        connection = ds.getConnection();
+        connection = db.getConnection();
         assertTrue(connection.getAutoCommit());
         connection.close();
     }
 
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry reg = super.createRegistry();
-        reg.bind("testdb", ds);
-        return reg;
-    }
-
+    @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
@@ -119,25 +105,4 @@ public class JdbcOptionsTest extends Cam
             }
         };
     }
-
-    @Before
-    public void setUp() throws Exception {
-        DriverManagerDataSource dataSource = new SingleConnectionDataSource(url, user, password, true);
-        dataSource.setDriverClassName(driverClass);
-        ds = dataSource;
-
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("create table customer (id varchar(15) PRIMARY KEY, name varchar(10))");
-        jdbc.execute("insert into customer values('cust1','jstrachan')");
-        jdbc.execute("insert into customer values('cust2','nsandhu')");
-        super.setUp();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        super.tearDown();
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("drop table customer");
-    }
-
 }
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java Sat Dec 31 17:50:21 2011
@@ -23,28 +23,17 @@ 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.impl.JndiRegistry;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.After;
-import org.junit.Before;
+import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.Test;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.datasource.DriverManagerDataSource;
 
-/**
- * @version 
- */
-public class JdbcProducerConcurrenctTest extends CamelTestSupport {
-
-    protected DataSource ds;
-    private String driverClass = "org.hsqldb.jdbcDriver";
-    private String url = "jdbc:hsqldb:mem:camel_jdbc";
-    private String user = "sa";
-    private String password = "";
+public class JdbcProducerConcurrenctTest extends AbstractJdbcTestSupport {
 
+    @EndpointInject(uri = "mock:result")
+    private MockEndpoint mock;
+    
     @Test
     public void testNoConcurrentProducers() throws Exception {
         doSendMessages(1, 1);
@@ -57,7 +46,7 @@ public class JdbcProducerConcurrenctTest
 
     @SuppressWarnings("rawtypes")
     private void doSendMessages(int files, int poolSize) throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(files);
+        mock.expectedMessageCount(files);
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
         Map<Integer, Future<Object>> responses = new ConcurrentHashMap<Integer, Future<Object>>();
@@ -65,15 +54,14 @@ public class JdbcProducerConcurrenctTest
             final int index = i;
             Future<Object> out = executor.submit(new Callable<Object>() {
                 public Object call() throws Exception {
-                    int id = index % 2;
-                    return template.requestBody("direct:start", "select * from customer where id = " + id);
+                    int id = (index % 2) + 1;
+                    return template.requestBody("direct:start", "select * from customer where id = 'cust" + id + "'");
                 }
             });
             responses.put(index, out);
         }
 
         assertMockEndpointsSatisfied();
-
         assertEquals(files, responses.size());
 
         for (int i = 0; i < files; i++) {
@@ -88,12 +76,7 @@ public class JdbcProducerConcurrenctTest
         executor.shutdownNow();
     }
 
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry reg = super.createRegistry();
-        reg.bind("testdb", ds);
-        return reg;
-    }
-
+    @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
@@ -101,25 +84,4 @@ public class JdbcProducerConcurrenctTest
             }
         };
     }
-
-    @Before
-    public void setUp() throws Exception {
-        DriverManagerDataSource dataSource = new DriverManagerDataSource(url, user, password);
-        dataSource.setDriverClassName(driverClass);
-        ds = dataSource;
-
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("create table customer (id varchar(15), name varchar(10))");
-        jdbc.execute("insert into customer values('0','jstrachan')");
-        jdbc.execute("insert into customer values('1','nsandhu')");
-        super.setUp();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        super.tearDown();
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("drop table customer");
-    }
-
-}
+}
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteKeyOrderingTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteKeyOrderingTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteKeyOrderingTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteKeyOrderingTest.java Sat Dec 31 17:50:21 2011
@@ -27,12 +27,12 @@ import org.junit.Test;
 
 /**
  * Tests that key ordering for the Maps (rows) is preserved.
- * @version
  */
 public class JdbcRouteKeyOrderingTest extends JdbcRouteTest {
     
     @SuppressWarnings("unchecked")
     @Test
+    @Override
     public void testJdbcRoutes() throws Exception {
         // first we create our exchange using the endpoint
         Endpoint endpoint = context.getEndpoint("direct:hello");
@@ -52,7 +52,7 @@ public class JdbcRouteKeyOrderingTest ex
             List<Map<String, Object>> rowList = out.getOut().getBody(List.class);
             assertNotNull("out body could not be converted to an ArrayList - was: "
                 + out.getOut().getBody(), rowList);
-            assertEquals(2, rowList.size());
+            assertEquals(3, rowList.size());
             
             Map<String, Object> row = rowList.get(0);
             assertTrue("ordering not preserved " + row.keySet(), isOrdered(row.keySet()));
@@ -61,7 +61,6 @@ public class JdbcRouteKeyOrderingTest ex
             assertTrue("ordering not preserved " + row.keySet(), isOrdered(row.keySet()));
         }
     }
-    
 
     /**
      * @param keySet (should have 2 items "ID" & "NAME")
@@ -76,4 +75,4 @@ public class JdbcRouteKeyOrderingTest ex
         final Iterator<String> iter = keySet.iterator();
         return "ID".equals(iter.next()) && "NAME".equals(iter.next());
     }
-}
+}
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteSplitTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteSplitTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteSplitTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteSplitTest.java Sat Dec 31 17:50:21 2011
@@ -16,24 +16,25 @@
  */
 package org.apache.camel.component.jdbc;
 
+import org.apache.camel.EndpointInject;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.Test;
 
-/**
- * @version 
- */
-public class JdbcRouteSplitTest extends JdbcRouteTest {
+public class JdbcRouteSplitTest extends AbstractJdbcTestSupport {
+    
+    @EndpointInject(uri = "mock:result")
+    private MockEndpoint mock;
 
+    @Test
     public void testJdbcRoutes() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(2);
+        mock.expectedMessageCount(3);
 
         template.sendBody("direct:hello", "select * from customer order by ID");
 
         assertMockEndpointsSatisfied();
     }
 
-
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteTest.java Sat Dec 31 17:50:21 2011
@@ -18,18 +18,11 @@ package org.apache.camel.component.jdbc;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import javax.sql.DataSource;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-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.DriverManagerDataSource;
 
 /**
  * Is used as base class for testing the jdbc component.
@@ -38,12 +31,7 @@ import org.springframework.jdbc.datasour
  * are semantically equivalent to what this class creates.
  * @version 
  */
-public class JdbcRouteTest extends CamelTestSupport {
-    protected DataSource ds;
-    private String driverClass = "org.hsqldb.jdbcDriver";
-    private String url = "jdbc:hsqldb:mem:camel_jdbc";
-    private String user = "sa";
-    private String password = "";
+public class JdbcRouteTest extends AbstractJdbcTestSupport {
 
     @SuppressWarnings("unchecked")
     @Test
@@ -62,9 +50,8 @@ public class JdbcRouteTest extends Camel
         assertNotNull(out);
         assertNotNull(out.getOut());
         ArrayList<HashMap<String, Object>> data = out.getOut().getBody(ArrayList.class);
-        assertNotNull("out body could not be converted to an ArrayList - was: "
-            + out.getOut().getBody(), data);
-        assertEquals(2, data.size());
+        assertNotNull(data);
+        assertEquals(3, data.size());
         HashMap<String, Object> row = data.get(0);
         assertEquals("cust1", row.get("ID"));
         assertEquals("jstrachan", row.get("NAME"));
@@ -74,15 +61,7 @@ public class JdbcRouteTest extends Camel
         // END SNIPPET: invoke
     }
 
-
-    protected JndiRegistry createRegistry() throws Exception {
-        // START SNIPPET: register
-        JndiRegistry reg = super.createRegistry();
-        reg.bind("testdb", ds);
-        return reg;
-        // END SNIPPET: register
-    }
-
+    @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             // START SNIPPET: route
@@ -93,27 +72,4 @@ public class JdbcRouteTest extends Camel
             // END SNIPPET: route
         };
     }
-
-    @Before
-    public void setUp() throws Exception {
-        DriverManagerDataSource dataSource = new DriverManagerDataSource(url, user, password);
-        dataSource.setDriverClassName(driverClass);
-        ds = dataSource;
-
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        // START SNIPPET: setup
-        jdbc.execute("create table customer (id varchar(15), name varchar(10))");
-        jdbc.execute("insert into customer values('cust1','jstrachan')");
-        jdbc.execute("insert into customer values('cust2','nsandhu')");
-        // END SNIPPET: setup
-        super.setUp();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        super.tearDown();
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("drop table customer");
-    }
-
-}
+}
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasJdbc3Test.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasJdbc3Test.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasJdbc3Test.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasJdbc3Test.java Sat Dec 31 17:50:21 2011
@@ -18,11 +18,9 @@ package org.apache.camel.component.jdbc;
 
 import org.apache.camel.builder.RouteBuilder;
 
-/**
- * @version 
- */
 public class JdbcRouteUsingSqlSelectAliasJdbc3Test extends JdbcRouteUsingSqlSelectAliasTest {
 
+    @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
@@ -30,5 +28,4 @@ public class JdbcRouteUsingSqlSelectAlia
             }
         };
     }
-
 }
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRouteUsingSqlSelectAliasTest.java Sat Dec 31 17:50:21 2011
@@ -18,28 +18,13 @@ package org.apache.camel.component.jdbc;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import javax.sql.DataSource;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-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.DriverManagerDataSource;
 
-/**
- * @version 
- */
-public class JdbcRouteUsingSqlSelectAliasTest extends CamelTestSupport {
-    protected DataSource ds;
-    private String driverClass = "org.hsqldb.jdbcDriver";
-    private String url = "jdbc:hsqldb:mem:camel_jdbc";
-    private String user = "sa";
-    private String password = "";
+public class JdbcRouteUsingSqlSelectAliasTest extends AbstractJdbcTestSupport {
 
     @SuppressWarnings("unchecked")
     @Test
@@ -60,7 +45,7 @@ public class JdbcRouteUsingSqlSelectAlia
         ArrayList<HashMap<String, Object>> data = out.getOut().getBody(ArrayList.class);
         assertNotNull("out body could not be converted to an ArrayList - was: "
             + out.getOut().getBody(), data);
-        assertEquals(2, data.size());
+        assertEquals(3, data.size());
         HashMap<String, Object> row = data.get(0);
         assertEquals("cust1", row.get("IDENTIFIER"));
         assertEquals("jstrachan", row.get("NAME"));
@@ -70,15 +55,6 @@ public class JdbcRouteUsingSqlSelectAlia
         // END SNIPPET: invoke
     }
 
-
-    protected JndiRegistry createRegistry() throws Exception {
-        // START SNIPPET: register
-        JndiRegistry reg = super.createRegistry();
-        reg.bind("testdb", ds);
-        return reg;
-        // END SNIPPET: register
-    }
-
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             // START SNIPPET: route
@@ -89,27 +65,4 @@ public class JdbcRouteUsingSqlSelectAlia
             // END SNIPPET: route
         };
     }
-
-    @Before
-    public void setUp() throws Exception {
-        DriverManagerDataSource dataSource = new DriverManagerDataSource(url, user, password);
-        dataSource.setDriverClassName(driverClass);
-        ds = dataSource;
-
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        // START SNIPPET: setup
-        jdbc.execute("create table customer (id varchar(15), name varchar(10))");
-        jdbc.execute("insert into customer values('cust1','jstrachan')");
-        jdbc.execute("insert into customer values('cust2','nsandhu')");
-        // END SNIPPET: setup
-        super.setUp();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        super.tearDown();
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("drop table customer");
-    }
-
 }
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcSpringAnotherRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcSpringAnotherRouteTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcSpringAnotherRouteTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcSpringAnotherRouteTest.java Sat Dec 31 17:50:21 2011
@@ -16,42 +16,27 @@
  */
 package org.apache.camel.component.jdbc;
 
-import org.apache.camel.CamelContext;
-import org.apache.camel.spring.SpringCamelContext;
-import org.junit.After;
-import org.junit.Before;
+import org.apache.camel.EndpointInject;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit4.CamelSpringTestSupport;
+import org.junit.Test;
+import org.springframework.context.support.AbstractApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
+public class JdbcSpringAnotherRouteTest extends CamelSpringTestSupport {
+    
+    @EndpointInject(uri = "mock:result")
+    private MockEndpoint mock;
+    
+    @Test
+    public void testTimerInvoked() throws Exception {
+        mock.expectedMessageCount(1);
 
-public class JdbcSpringAnotherRouteTest extends JdbcAnotherRouteTest {
-    private ClassPathXmlApplicationContext applicationContext;
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        setUseRouteBuilder(false);
-        applicationContext = createApplicationContext();
-        super.setUp();        
-        assertNotNull("Should have created a valid spring context", applicationContext);
-
-
+        assertMockEndpointsSatisfied();
     }
 
     @Override
-    @After
-    public void tearDown() throws Exception {
-        if (applicationContext != null) {
-            applicationContext.destroy();
-        }
-        super.tearDown();
-    }
-    
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        return SpringCamelContext.springCamelContext(applicationContext);
-    }
-
-
-    protected ClassPathXmlApplicationContext createApplicationContext() {
+    protected AbstractApplicationContext createApplicationContext() {
         return new ClassPathXmlApplicationContext("org/apache/camel/component/jdbc/camelContext.xml");
     }
-}
+}
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcStatementParametersTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcStatementParametersTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcStatementParametersTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcStatementParametersTest.java Sat Dec 31 17:50:21 2011
@@ -17,27 +17,12 @@
 package org.apache.camel.component.jdbc;
 
 import java.util.List;
-import javax.sql.DataSource;
 
 import org.apache.camel.builder.RouteBuilder;
-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.DriverManagerDataSource;
-
-/**
- * @version 
- */
-public class JdbcStatementParametersTest extends CamelTestSupport {
-    protected DataSource ds;
-    private String driverClass = "org.hsqldb.jdbcDriver";
-    private String url = "jdbc:hsqldb:mem:camel_jdbc";
-    private String user = "sa";
-    private String password = "";
 
+public class JdbcStatementParametersTest extends AbstractJdbcTestSupport {
+    
     @SuppressWarnings("rawtypes")
     @Test
     public void testMax2Rows() throws Exception {
@@ -65,13 +50,7 @@ public class JdbcStatementParametersTest
         assertEquals(3, context.getEndpoints().size());
     }
 
-
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry reg = super.createRegistry();
-        reg.bind("testdb", ds);
-        return reg;
-    }
-
+    @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
@@ -79,26 +58,4 @@ public class JdbcStatementParametersTest
             }
         };
     }
-
-    @Before
-    public void setUp() throws Exception {
-        DriverManagerDataSource dataSource = new DriverManagerDataSource(url, user, password);
-        dataSource.setDriverClassName(driverClass);
-        ds = dataSource;
-
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("create table customer (id varchar(15), name varchar(10))");
-        jdbc.execute("insert into customer values('cust1','jstrachan')");
-        jdbc.execute("insert into customer values('cust2','nsandhu')");
-        jdbc.execute("insert into customer values('cust3','willem')");
-        super.setUp();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        super.tearDown();
-        JdbcTemplate jdbc = new JdbcTemplate(ds);
-        jdbc.execute("drop table customer");
-    }
-
 }
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcTransformSimpleTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcTransformSimpleTest.java?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcTransformSimpleTest.java (original)
+++ camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcTransformSimpleTest.java Sat Dec 31 17:50:21 2011
@@ -16,15 +16,19 @@
  */
 package org.apache.camel.component.jdbc;
 
+import org.apache.camel.EndpointInject;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.Test;
 
-/**
- *
- */
-public class JdbcTransformSimpleTest extends JdbcRouteTest {
+public class JdbcTransformSimpleTest extends AbstractJdbcTestSupport {
+    
+    @EndpointInject(uri = "mock:result")
+    private MockEndpoint mock;
 
+    @Test
     public void testJdbcRoutes() throws Exception {
-        getMockEndpoint("mock:result").expectedBodiesReceived("jstrachan");
+        mock.expectedBodiesReceived("jstrachan");
 
         template.sendBody("direct:hello", "select * from customer order by ID");
 
@@ -44,4 +48,4 @@ public class JdbcTransformSimpleTest ext
             }
         };
     }
-}
+}
\ No newline at end of file

Modified: camel/trunk/components/camel-jdbc/src/test/resources/org/apache/camel/component/jdbc/camelContext.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/resources/org/apache/camel/component/jdbc/camelContext.xml?rev=1226150&r1=1226149&r2=1226150&view=diff
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/resources/org/apache/camel/component/jdbc/camelContext.xml (original)
+++ camel/trunk/components/camel-jdbc/src/test/resources/org/apache/camel/component/jdbc/camelContext.xml Sat Dec 31 17:50:21 2011
@@ -17,11 +17,12 @@
 -->
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:jdbc="http://www.springframework.org/schema/jdbc"
        xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+       http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
     ">
-
   
   <!-- START SNIPPET: example -->  
   <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
@@ -34,14 +35,10 @@
        <to uri="mock:result"/>
     </route>
   </camelContext>
-  <!-- Just add a demo to show how to bind a date source for camel in Spring-->
-  <bean id="testdb" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
-  	<property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
-  	<property name="url" value="jdbc:hsqldb:mem:camel_jdbc" />
-  	<property name="username" value="sa" />
-    <property name="password" value="" />
-  </bean>	
   
+  <!-- Just add a demo to show how to bind a date source for camel in Spring-->
+  <jdbc:embedded-database id="testdb" type="DERBY">
+  	<jdbc:script location="classpath:sql/init.sql"/>
+  </jdbc:embedded-database>
   <!-- END SNIPPET: example -->
-
-</beans>
+</beans>
\ No newline at end of file

Added: camel/trunk/components/camel-jdbc/src/test/resources/sql/init.sql
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jdbc/src/test/resources/sql/init.sql?rev=1226150&view=auto
==============================================================================
--- camel/trunk/components/camel-jdbc/src/test/resources/sql/init.sql (added)
+++ camel/trunk/components/camel-jdbc/src/test/resources/sql/init.sql Sat Dec 31 17:50:21 2011
@@ -0,0 +1,21 @@
+-- ------------------------------------------------------------------------
+-- 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.
+-- ------------------------------------------------------------------------
+
+create table customer (id varchar(15), name varchar(10));
+insert into customer values('cust1','jstrachan');
+insert into customer values('cust2','nsandhu');
+insert into customer values('cust3','willem');
\ No newline at end of file