1 package org.gnomekr.potron.service;
2
3 import static org.gnomekr.potron.util.PotronConstants.BEAN_ID_USER_MANAGER;
4
5 import java.util.List;
6
7 import org.gnomekr.potron.data.User;
8
9 /***
10 * UserManagerTest.java
11 * @author Xavier Cho
12 * @version $Revision 1.1 $ $Date: 2005/06/30 15:14:34 $
13 */
14 public class UserManagerTest extends
15 AbstractHibernateSpringContextTests {
16
17 /***
18 * @throws Exception
19 */
20 public void testUserPersistence() throws Exception {
21 IUserManager manager = (IUserManager) applicationContext
22 .getBean(BEAN_ID_USER_MANAGER);
23 assertNotNull(manager);
24
25 User user = new User("__test_user__");
26 user.setRealName("Test User");
27 user.setEmail("email");
28 user.setPassword("password");
29
30 manager.createUser(user);
31
32 flushCurrentSession();
33
34 int count = jdbcTemplate.queryForInt(
35 "select count(*) from POTRON_USER where user_name=?",
36 new String[] {
37 user.getUserName()
38 });
39
40 assertEquals(1, count);
41
42 try {
43 manager.createUser(user);
44 flushCurrentSession();
45
46 assertTrue("Should have thrown UserExistsException here.", false);
47 } catch (UserExistsException e) {
48 }
49
50 User user2 = manager.getUser(user.getUserName());
51
52 assertNotNull(user2);
53 assertEquals(user2, user);
54
55 user.setEmail("email2");
56
57 manager.updateUser(user);
58 flushCurrentSession();
59
60 String email = (String) jdbcTemplate.queryForObject(
61 "select email from POTRON_USER where user_name=?",
62 new String[] {
63 user.getUserName()
64 },
65 String.class);
66
67 assertEquals("email2", email);
68
69 List<User> users = manager.getUsers();
70 assertNotNull(users);
71 assertTrue(users.contains(user));
72
73 manager.deleteUser(user.getUserName());
74
75 flushCurrentSession();
76
77 count = jdbcTemplate.queryForInt(
78 "select count(*) from POTRON_USER where user_name=?",
79 new String[] {
80 user.getUserName()
81 });
82
83 assertEquals(0, count);
84 }
85 }