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 10 public class GenericDaoTest extends BaseDaoTestCase { 11 protected Dao dao; 12 13 18 public void onSetUpBeforeTransaction() throws Exception { 19 dao = (Dao) applicationContext.getBean("dao"); 20 } 21 22 public void onTearDownAfterTransaction() throws Exception { 23 dao = null; 24 } 25 26 29 public void testCRUD() { 30 User user = new User(); 31 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 dao.saveObject(user); 42 assertNotNull(user.getId()); 43 44 user = (User) dao.getObject(User.class, user.getId()); 46 assertNotNull(user); 47 assertEquals(user.getLastName(), "last"); 48 49 user.getAddress().setCountry("USA"); 51 dao.saveObject(user); 52 assertEquals(user.getAddress().getCountry(), "USA"); 53 54 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) { assertNotNull(e.getMessage()); 63 } 64 } 65 } 66 | Popular Tags |