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.DefPermission;
10  import br.org.articulus.domain.Permission;
11  import br.org.articulus.domain.Session;
12  import br.org.articulus.domain.User;
13  import br.org.articulus.server.type.UserType;
14  
15  
16  /**
17   * TestCase to PermissionDao class
18   * @author anderson
19   * @version 2.0
20   */
21  public class PermissionDaoTest extends TestCase {
22  	
23  	private ClassPathXmlApplicationContext ctx;
24  	private PermissionDao pd;
25  
26  	
27  	protected void setUp() throws Exception {
28  		ctx = new ClassPathXmlApplicationContext(new String[] {
29          	"applicationContext-hibernate.xml"});
30  		
31  		pd = (PermissionDao)ctx.getBean("permissionDao");
32  	}
33  	
34  	
35  	/**
36  	 * Test to save method testing FK
37  	 * @author anderson
38  	 * @version 2.0
39  	 */
40  	@SuppressWarnings("unchecked")
41  	public void testSave() {
42  		Session s = new Session();
43  		s.setName("Test");
44  		s.setPage("Test Page");
45  		s.setComment("Test Comment");
46  		
47  		SessionDao sd = (SessionDao)ctx.getBean("sessionDao");
48  		sd.save(s);
49  		
50  		List<Session> l = sd.getAll();
51  		
52  		DefPermission dp = new DefPermission();
53  		dp.setName("Definicao de Sessao");		
54  		dp.setIdSession(sd.get(l.get(0).getId()));
55  		
56  		DefPermissionDao dpd = (DefPermissionDao)ctx.getBean("defPermissionDao");
57  		dpd.save(dp);
58  		
59  		User u = new User();
60  		u.setName("Test");
61  		u.setLogin("Test login");
62  		u.setPassword("Test Password");
63  		u.setType(UserType.ADMIN.getType());
64  		u.setComment("Test Comment");
65  		
66  		UserDao ud = (UserDao)ctx.getBean("userDao");
67  		ud.save(u);
68  		
69  		Permission p = new Permission();
70  		p.setIdDefPermission(dp);
71  		p.setIdUser(u);
72  		
73  		pd.save(p);
74  		
75  		assertNotNull(dp);
76  	}
77  	
78  	
79  	/**
80  	 * Test to get method
81  	 * @author anderson
82  	 * @version 2.0
83  	 */
84  	@SuppressWarnings("unchecked")
85  	public void testGet() {
86  		List<Permission> l = pd.getAll();
87  		
88  		Permission p = pd.get(l.get(0).getId());
89  	
90  		assertNotNull(p);
91  	}
92  	
93  	
94  	/**
95  	 * Test to get update method
96  	 * @author anderson
97  	 * @version 2.0
98  	 */
99  	@SuppressWarnings("unchecked")
100 	public void testUpdate() {
101 		List<Permission> l = pd.getAll();
102 		
103 		User u = new User();
104 		u.setName("Anderson Clayton");
105 		u.setLogin("anderson");
106 		u.setPassword("andersonsenha");
107 		u.setType(UserType.ADMIN.getType());
108 		u.setComment("Usuario root");
109 		u.setActive(true);
110 		
111 		Permission p = (Permission)pd.get(l.get(0).getId());
112 		p.setIdUser(u);
113 		
114 		pd.update(p);
115 		
116 		assertNotNull(p);
117 	}
118 	
119 	
120 	/**
121 	 * Test getAll method 
122 	 * @author anderson
123 	 * @version 2.0
124 	 */
125 	@SuppressWarnings("unchecked")
126 	public void testGetAll() {
127 		List<Permission> all = pd.getAll();
128 		assertNotNull(all.get(0));
129 	}
130 	
131 	
132 	/**
133 	 * Test delete method
134 	 * @author anderson
135 	 * @version 2.0
136 	 */
137 	@SuppressWarnings("unchecked")
138 	public void testDelete() {
139 		List<Permission> l = pd.getAll();
140 		
141 		Permission p = pd.get(l.get(0).getId());
142 		
143 		//pd.delete(p);
144 		
145 		assertNotNull(p);
146 	}
147 }