KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > sql > SqlJobTest


1 /*
2  * (c) Rob Gordon 2005
3  */

4 package org.oddjob.sql;
5
6 import junit.framework.TestCase;
7
8 import org.apache.commons.beanutils.DynaBean;
9 import org.apache.commons.beanutils.PropertyUtils;
10 import org.apache.log4j.Logger;
11 import org.oddjob.Oddjob;
12
13 public class SqlJobTest extends TestCase {
14     private static final Logger logger = Logger.getLogger(SqlJobTest.class);
15
16     public void testSql() throws Exception JavaDoc {
17         ConnectionType ct = new ConnectionType();
18         ct.setDriver("org.hsqldb.jdbcDriver");
19         ct.setUrl("jdbc:hsqldb:mem:test");
20         ct.setUsername("sa");
21         ct.setPassword("");
22         
23         SqlJob test = new SqlJob();
24         test.setConnection(ct.valueFor(null));
25         test.setSql("create table TEST(greeting VARCHAR(20))");
26         test.run();
27         
28         test.setConnection(ct.valueFor(null));
29         test.setSql("insert into TEST values ('hello')");
30         test.run();
31         logger.debug("Inserted: " + test.getUpdateCount());
32         
33         test.setConnection(ct.valueFor(null));
34         test.setSql("insert into TEST values ('goodbye')");
35         test.run();
36         
37         test.setConnection(ct.valueFor(null));
38         test.setSql("select * from TEST");
39         test.run();
40         
41         assertEquals("hello", ((DynaBean) test.getRows()[0]).get("greeting"));
42         assertEquals("goodbye", ((DynaBean) test.getRows()[1]).get("greeting"));
43     }
44     
45     
46     public void testInOddjob() throws Exception JavaDoc {
47         ConnectionType ct = new ConnectionType();
48         ct.setDriver("org.hsqldb.jdbcDriver");
49         ct.setUrl("jdbc:hsqldb:mem:test");
50         ct.setUsername("sa");
51         ct.setPassword("");
52         
53         SqlJob test;
54         
55         test = new SqlJob();
56         test.setConnection(ct.valueFor(null));
57         test.setSql("create table NUMBERS(NUMBER varchar(20))");
58         test.run();
59         
60         Oddjob oj = new Oddjob();
61         oj.setInput(getClass().getResourceAsStream("SqlJobTest.xml"));
62
63         oj.run();
64         
65         test = new SqlJob();
66         test.setConnection(ct.valueFor(null));
67         test.setSql("select count(*) \"count\" from numbers");
68         
69         test.run();
70         
71         assertEquals(new Integer JavaDoc(10), PropertyUtils.getProperty(
72                 test, "row.count"));
73     }
74 }
75
Popular Tags