KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > appfuse > service > GenericManagerTest


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 /**
10  * This class tests the generic Manager and BaseManager implementation.
11  */

12 public class GenericManagerTest extends BaseManagerTestCase {
13     protected Manager manager = new BaseManager();
14     protected Mock dao;
15     
16     protected void setUp() throws Exception JavaDoc {
17         super.setUp();
18         dao = new Mock(Dao.class);
19         manager.setDao((Dao) dao.proxy());
20     }
21     
22     protected void tearDown() throws Exception JavaDoc {
23         manager = null;
24         dao = null;
25     }
26
27     /**
28      * Simple test to verify BaseDao works.
29      */

30     public void testCRUD() {
31         User user = new User();
32         // set required fields
33
user.setUsername("foo");
34
35         // create
36
// set expectations
37
dao.expects(once()).method("saveObject").isVoid();
38         
39         manager.saveObject(user);
40         dao.verify();
41         
42         // retrieve
43
dao.reset();
44         // expectations
45
dao.expects(once()).method("getObject").will(returnValue(user));
46         
47         user = (User) manager.getObject(User.class, user.getUsername());
48         dao.verify();
49         
50         // update
51
dao.reset();
52         dao.expects(once()).method("saveObject").isVoid();
53         user.getAddress().setCountry("USA");
54         manager.saveObject(user);
55         dao.verify();
56         
57         // delete
58
dao.reset();
59         // expectations
60
Exception JavaDoc 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