Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/enableit/db/daf/JdbcDafTest.java


1   package org.enableit.db.daf;
2   
3   // Java imports
4   import java.io.File ;
5   import java.io.FileReader ;
6   import java.io.FileWriter ;
7   import java.io.StringReader ;
8   import java.io.StringWriter ;
9   import java.math.BigDecimal ;
10  import java.sql.Connection ;
11  import java.text.SimpleDateFormat ;
12  import java.util.Arrays ;
13  import java.util.Date ;
14  import java.util.Iterator ;
15  import java.util.List ;
16  import java.util.Map ;
17  
18  // Testing framework imports
19  import junit.framework.*;
20  
21  // Log4J imports
22  import org.apache.log4j.Category;
23  
24  // My imports 
25  import org.enableit.apps.task.TaskForm ; 
26  import org.enableit.apps.task.TaskBean ; 
27  import org.enableit.db.* ; 
28  import org.enableit.db.daf.* ; 
29  import org.enableit.db.daf.castor.* ; 
30  
31  /**
32   * Tests ...
33   */
34  public class JdbcDafTest extends TestCase 
35  {
36  /*
37   * Properties
38   */
39  
40      /**
41       * Define a static Category variable for logging.
42       */
43      private static Category logger = Category.getInstance(JdbcDafTest.class);
44  
45      private static TaskBean bean ; 
46      private static TaskBean existingBean ; 
47  
48  /*
49   * Constructors
50   */
51    /**
52     * Default Constructor
53     */
54    public JdbcDafTest(String name)
55    {
56          super(name) ;
57    }
58  
59  /*
60   * Methods
61   */
62  
63      /**
64       * Defines all the tests for the Web Service application including
65       * tests in this class.
66       */
67      public static Test suite() {
68          TestSuite suite = new TestSuite(JdbcDafTest.class);
69          return suite;
70      }
71  
72      /**
73       * Define the test environment. 
74       */
75      protected void setUp()
76      throws java.lang.Exception
77      {
78          bean = new TaskBean() ; 
79          bean.setTaskName("testing jdbc daf") ; 
80          bean.setTaskDesc("desc") ; 
81          bean.setTaskCreationDate(new Date()) ; 
82          bean.setTaskDueDate(new Date()) ; 
83          bean.setTaskAllocatedTo("tim") ; 
84          bean.setTaskCreatedBy("tim") ; 
85          bean.setCategoryId(new Long(1)) ; 
86          bean.setStatusId(new Long(1)) ; 
87          bean.setPriorityId(new Long(1)) ; 
88  
89          Long existingId = null ; 
90          try {
91              String sql = "select max(taskId) 'taskId' from Task where taskName like 'testing%'" ;
92            Connection conn = 
93                      ConnectionFactory.getConnection("com.sybase.jdbc2.jdbc.SybDriver", 
94                      "jdbc:sybase:Tds:localhost:2641", 
95                      "dba", 
96                      "sql") ; 
97              List results = DatabaseProxy.executeQuery(conn, sql) ; 
98              Map record = (Map)results.get(0) ; 
99              existingId = new Long( ((BigDecimal)record.get("taskId")).longValue() ) ; 
100         } catch (Exception e) {
101             e.printStackTrace() ; 
102             fail(e.getClass().getName() + ":" + e.getMessage()) ; 
103         }
104         existingBean = bean ; 
105         existingBean.setTaskId(existingId) ; 
106         
107     }
108 
109     /** 
110      * Run a test to create a Bean using the DataAbstractionFacade and its factory.
111      * 
112      */
113     public void testCreate() 
114     { 
115         try {
116             DataAbstractionFacade daf = DataAbstractionFacadeFactory.getInstance(bean) ;
117             assertNotNull("Received null DAF", daf) ;
118             assertEquals("Received wrong DAF", daf.getClass().getName(), "org.enableit.db.daf.jdbc.JdbcDaf") ;
119 
120             bean = (TaskBean)daf.create(bean) ; 
121             assertNotNull("Null bean returned from DAF. ", bean) ; 
122             assertNotNull("No key set on bean.", bean.getTaskId()) ; 
123             logger.debug("Returned bean=" + bean) ; 
124         } catch (Exception e) {
125             e.printStackTrace() ; 
126             fail(e.getClass().getName() + ":" + e.getMessage()) ; 
127         } 
128 
129     } 
130 
131     /** 
132      * Run a test to update a Bean using the DataAbstractionFacade and its factory.
133      * 
134      */
135     public void testModify() 
136     { 
137         try {
138             DataAbstractionFacade daf = DataAbstractionFacadeFactory.getInstance(bean) ;
139             assertNotNull("Received null DAF", daf) ;
140             assertEquals("Received wrong DAF", daf.getClass().getName(), "org.enableit.db.daf.jdbc.JdbcDaf") ;
141 
142             existingBean.setTaskDesc("modified desc") ; 
143             existingBean = (TaskBean)daf.modify(existingBean) ; 
144             assertNotNull("Null existingBean returned from DAF. ", existingBean) ; 
145             assertNotNull("No key set on existingBean.", existingBean.getTaskId()) ; 
146             assertEquals("No update to existingBean.", existingBean.getTaskDesc(), "modified desc") ; 
147             logger.debug("Returned existingBean=" + existingBean) ; 
148         } catch (Exception e) {
149             e.printStackTrace() ; 
150             fail(e.getClass().getName() + ":" + e.getMessage()) ; 
151         } 
152 
153     } 
154 
155     /** 
156      * Run a test to retrieve a Bean using the DataAbstractionFacade and its factory.
157      * 
158      */
159     public void testLoad() 
160     { 
161         try {
162             DataAbstractionFacade daf = DataAbstractionFacadeFactory.getInstance(bean) ;
163             assertNotNull("Received null DAF", daf) ;
164             assertEquals("Received wrong DAF", daf.getClass().getName(), "org.enableit.db.daf.jdbc.JdbcDaf") ;
165 
166             existingBean = (TaskBean)daf.load(existingBean) ; 
167             assertNotNull("Null existingBean returned from DAF. ", existingBean) ; 
168             assertNotNull("No key set on existingBean.", existingBean.getTaskId()) ; 
169             logger.debug("Returned existingBean=" + existingBean) ; 
170         } catch (Exception e) {
171             e.printStackTrace() ; 
172             fail(e.getClass().getName() + ":" + e.getMessage()) ; 
173         } 
174 
175     } 
176 
177     /** 
178      * Run a test to delete a Bean using the DataAbstractionFacade and its factory.
179      * 
180      */
181     public void testRemove() 
182     { 
183         try {
184             DataAbstractionFacade daf = DataAbstractionFacadeFactory.getInstance(bean) ;
185             assertNotNull("Received null DAF", daf) ;
186             assertEquals("Received wrong DAF", daf.getClass().getName(), "org.enableit.db.daf.jdbc.JdbcDaf") ;
187 
188             existingBean = (TaskBean)daf.remove(existingBean) ; 
189             assertNotNull("Null existingBean returned from DAF. ", existingBean) ; 
190             assertNotNull("No key set on existingBean.", existingBean.getTaskId()) ; 
191             logger.debug("Returned existingBean=" + existingBean) ; 
192         } catch (Exception e) {
193             e.printStackTrace() ; 
194             fail(e.getClass().getName() + ":" + e.getMessage()) ; 
195         } 
196 
197     } 
198 
199 }