1   package br.org.articulus.server.dao;
2   
3   import java.util.List;
4   
5   import junit.framework.TestCase;
6   
7   import org.springframework.context.support.ClassPathXmlApplicationContext;
8   
9   import br.org.articulus.domain.User;
10  import br.org.articulus.server.MD5;
11  
12  /**
13   * TestCase to UserDao class
14   * 
15   * @author anderson
16   * @version 2.0
17   */
18  public class UserDaoTest extends TestCase {
19  
20  	private ClassPathXmlApplicationContext ctx;
21  
22  	
23  	protected void setUp() throws Exception {
24  		ctx = new ClassPathXmlApplicationContext(new String[] {
25          "applicationContext-hibernate.xml"});
26  	}
27  	
28  	
29  	/**
30  	 * Test of save method
31  	 * @author anderson
32  	 * @version 2.0
33  	 */
34  	public void testSave() {
35  		User u = new User();
36  		u.setActive(true);
37  		u.setComment("test");
38  		u.setEmail("andersonajx@gmail.com");
39  		u.setLogin("teste");
40  		u.setPassword(MD5.generate("teste"));
41  		u.setType('A');
42  		u.setName("TESTE");
43  		
44  		UserDao userDao = (UserDao)ctx.getBean("userDao");
45  		userDao.save(u);
46  		
47  		assertNotNull(u);
48  	}
49  	
50  	
51  	/**
52  	 * Test of update method
53  	 * @author anderson
54  	 * @version 2.0
55  	 */
56  	public void testUpdate() {
57  		UserDao ud = (UserDao)ctx.getBean("userDao");
58  		
59  		List<User> l = ud.getAll();
60  		
61  		User u = l.get(0);
62  		u.setComment("test updated");
63  		
64  		ud.update(u);
65  		
66  		assertNotNull(u);
67  	}
68  	
69  	
70  	/**
71  	 * Test of get method
72  	 * @author anderson
73  	 * @version 2.0
74  	 */
75  	public void testGet() {
76  		UserDao userDao = (UserDao)ctx.getBean("userDao");
77  		
78  		List<User> l = userDao.getAll();
79  		
80  		assertNotNull(l);
81  		
82  		User u = userDao.get(l.get(0).getId());
83  		
84  		assertNotNull(u);
85  	}
86  	
87  	
88  	/**
89  	 * Test of find user to login method
90  	 * @author anderson
91  	 * @version 2.0
92  	 */
93  	public void testFindUser() {
94  		UserDao ud = (UserDao)ctx.getBean("userDao");
95  		
96  		User u = new User();
97  		u.setLogin("teste");
98  		u.setPassword("teste");
99  		
100 		assertNotNull(ud.findUserPass(u));
101 	}
102 	
103 	
104 	/**
105 	 * Test recover password method
106 	 * @author anderson
107 	 * @version 2.0
108 	 */
109 	public void testRecoverPassword() {
110 		UserDao ud = (UserDao)ctx.getBean("userDao");
111 		
112 		assertEquals("OK", ud.recoverPassword("andersonajx@gmail.com"));
113 	}
114 	
115 	
116 	/**
117 	 * Test delete method
118 	 * @author anderson
119 	 * @version 2.0
120 	 */
121 	public void testDelete() {
122 		UserDao userDao = (UserDao)ctx.getBean("userDao");
123 		List<User> l = userDao.getAll();
124 		
125 		assertNotNull(l);
126 		
127 		//userDao.delete(l.get(0).getId());
128 	}
129 }