1 package org.appfuse.service; 2 3 import org.appfuse.dao.Dao; 4 import org.appfuse.model.User; 5 import org.appfuse.service.impl.BaseManager; 6 import org.jmock.Mock; 7 import org.springframework.orm.ObjectRetrievalFailureException; 8 9 12 public class GenericManagerTest extends BaseManagerTestCase { 13 protected Manager manager = new BaseManager(); 14 protected Mock dao; 15 16 protected void setUp() throws Exception { 17 super.setUp(); 18 dao = new Mock(Dao.class); 19 manager.setDao((Dao) dao.proxy()); 20 } 21 22 protected void tearDown() throws Exception { 23 manager = null; 24 dao = null; 25 } 26 27 30 public void testCRUD() { 31 User user = new User(); 32 user.setUsername("foo"); 34 35 dao.expects(once()).method("saveObject").isVoid(); 38 39 manager.saveObject(user); 40 dao.verify(); 41 42 dao.reset(); 44 dao.expects(once()).method("getObject").will(returnValue(user)); 46 47 user = (User) manager.getObject(User.class, user.getUsername()); 48 dao.verify(); 49 50 dao.reset(); 52 dao.expects(once()).method("saveObject").isVoid(); 53 user.getAddress().setCountry("USA"); 54 manager.saveObject(user); 55 dao.verify(); 56 57 dao.reset(); 59 Exception ex = new ObjectRetrievalFailureException(User.class, "foo"); 61 dao.expects(once()).method("removeObject").isVoid(); 62 dao.expects(once()).method("getObject").will(throwException(ex)); 63 manager.removeObject(User.class, "foo"); 64 try { 65 manager.getObject(User.class, "foo"); 66 fail("User 'foo' found in database"); 67 } catch (ObjectRetrievalFailureException e) { 68 assertNotNull(e.getMessage()); 69 } 70 dao.verify(); 71 } 72 } 73 | Popular Tags |