1 4 package org.oddjob.sql; 5 6 import java.io.Serializable ; 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 { 19 private static final long serialVersionUID = 2006111; 20 String value; 21 } 22 23 public void testSql() throws Exception { 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 text = "This is a deliberately long bit of text."; 41 sample.value = text; 42 43 persister.persist("foo", sample); 44 45 Object 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 { 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 |