KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > appfuse > dao > GenericDaoTest


1 package org.appfuse.dao;
2
3 import org.appfuse.model.User;
4 import org.springframework.dao.InvalidDataAccessApiUsageException;
5 import org.springframework.orm.ObjectRetrievalFailureException;
6
7 /**
8  * This class tests the generic Dao and BaseDao implementation.
9  */

10 public class GenericDaoTest extends BaseDaoTestCase {
11     protected Dao dao;
12     
13     /**
14      * This method is used instead of setDao b/c setDao uses autowire byType
15      * <code>setPopulateProtectedVariables(true)</code> can also be used, but it's
16      * a little bit slower.
17      */

18     public void onSetUpBeforeTransaction() throws Exception JavaDoc {
19         dao = (Dao) applicationContext.getBean("dao");
20     }
21     
22     public void onTearDownAfterTransaction() throws Exception JavaDoc {
23         dao = null;
24     }
25
26     /**
27      * Simple test to verify BaseDao works.
28      */

29     public void testCRUD() {
30         User user = new User();
31         // set required fields
32
user.setUsername("foo");
33         user.setPassword("bar");
34         user.setFirstName("first");
35         user.setLastName("last");
36         user.getAddress().setCity("Denver");
37         user.getAddress().setPostalCode("80465");
38         user.setEmail("foo@bar.com");
39         
40         // create
41
dao.saveObject(user);
42         assertNotNull(user.getId());
43         
44         // retrieve
45
user = (User) dao.getObject(User.class, user.getId());
46         assertNotNull(user);
47         assertEquals(user.getLastName(), "last");
48         
49         // update
50
user.getAddress().setCountry("USA");
51         dao.saveObject(user);
52         assertEquals(user.getAddress().getCountry(), "USA");
53         
54         // delete
55
dao.removeObject(User.class, user.getId());
56         try {
57             dao.getObject(User.class, user.getId());
58             fail("User 'foo' found in database");
59         } catch (ObjectRetrievalFailureException e) {
60             assertNotNull(e.getMessage());
61         } catch (InvalidDataAccessApiUsageException e) { // Spring 2.0 throws this one
62
assertNotNull(e.getMessage());
63         }
64     }
65 }
66
Popular Tags