KickJava   Java API By Example, From Geeks To Geeks.

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


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

4 package org.oddjob.sql;
5
6 import java.io.Serializable JavaDoc;
7
8 import junit.framework.TestCase;
9
10 import org.apache.commons.beanutils.PropertyUtils;
11 import org.apache.log4j.Logger;
12 import org.oddjob.Oddjob;
13 import org.oddjob.state.JobState;
14
15 public class SqlPersisterTest extends TestCase {
16     private static final Logger logger = Logger.getLogger(SqlPersisterTest.class);
17
18     public static class Sample implements Serializable JavaDoc {
19         private static final long serialVersionUID = 2006111;
20         String JavaDoc value;
21     }
22     
23     public void testSql() throws Exception JavaDoc {
24         ConnectionType ct = new ConnectionType();
25         ct.setDriver("org.hsqldb.jdbcDriver");
26         ct.setUrl("jdbc:hsqldb:mem:test");
27         ct.setUsername("sa");
28         ct.setPassword("");
29
30         Oddjob setUp = new Oddjob();
31         setUp.setInput(getClass().getResourceAsStream("create.xml"));
32         setUp.run();
33         assertEquals(JobState.COMPLETE, setUp.lastJobStateEvent().getJobState());
34
35         SqlPersister persister = new SqlPersister();
36         persister.setConnection(ct.valueFor(null));
37         
38         Sample sample = new Sample();
39         
40         String JavaDoc text = "This is a deliberately long bit of text.";
41         sample.value = text;
42
43         persister.persist("foo", sample);
44         
45         Object JavaDoc o = persister.restore("foo");
46         assertNotNull(o);
47                 
48         assertEquals(Sample.class, o.getClass());
49         Sample copy = (Sample) o;
50         logger.debug(copy.value);
51         assertEquals(text, copy.value);
52     }
53         
54     public void testInOddjob() throws Exception JavaDoc {
55         Oddjob setUp = new Oddjob();
56         setUp.setInput(getClass().getResourceAsStream("create.xml"));
57         setUp.run();
58         assertEquals(JobState.COMPLETE, setUp.lastJobStateEvent().getJobState());
59         
60         Oddjob oj = new Oddjob();
61         oj.setInput(getClass().getResourceAsStream("SqlPersisterTest.xml"));
62         oj.setArgs(0, getClass().getResourceAsStream("SqlPersisterTest2.xml"));
63         oj.run();
64         
65         assertEquals(JobState.COMPLETE, oj.lastJobStateEvent().getJobState());
66         assertEquals("0009", PropertyUtils.getProperty(
67                 oj.lookup("oj/e"), "text"));
68         
69         oj.hardReset();
70         
71         oj.setInput(getClass().getResourceAsStream("SqlPersisterTest.xml"));
72         oj.setArgs(0, getClass().getResourceAsStream("SqlPersisterTest2.xml"));
73         oj.run();
74         
75         assertEquals("0019", PropertyUtils.getProperty(
76                 oj.lookup("oj/e"), "text"));
77     }
78 }
79
Popular Tags