1 package org.itracker.persistence.dao;
2
3 import org.itracker.AbstractDependencyInjectionTest;
4 import org.itracker.model.Permission;
5 import org.itracker.model.Project;
6 import org.itracker.model.User;
7 import org.junit.Test;
8 import org.springframework.dao.DataAccessException;
9
10 import java.util.List;
11
12 public class PermissionDAOImplIT extends AbstractDependencyInjectionTest {
13
14 @SuppressWarnings("unused")
15 private UserDAO userDAO;
16 @SuppressWarnings("unused")
17 private ProjectDAO projectDAO;
18 private PermissionDAO permissionDAO;
19
20 @Test
21 public void testFindByUserId() {
22
23 List<Permission> permissions = permissionDAO.findByUserId(2);
24
25 assertNotNull("permissions", permissions);
26 assertEquals(3, permissions.size());
27
28 }
29
30
31 @Test
32 public void testFailedFindByUserId() {
33
34 try {
35 List<Permission> permissions = permissionDAO.findByUserId(-1);
36 fail("Should have thrown a DataAccessException. Size of list:"
37 + permissions.size());
38 } catch (DataAccessException e) {
39
40 }
41 }
42
43 @Test
44 public void testCreatePermission() {
45
46 Permission foundPermission = permissionDAO.findByUserId(2).get(1);
47 User foundUser = foundPermission.getUser();
48 Project foundProject = foundPermission.getProject();
49
50 assertNotNull(foundPermission);
51 assertNotNull(foundUser);
52 assertNotNull(foundProject);
53 assertEquals(2, foundPermission.getPermissionType().intValue());
54 assertEquals("admin_test1", foundUser.getLogin());
55 assertEquals("test_name", foundProject.getName());
56
57 }
58
59 @Override
60 public void onSetUp() throws Exception {
61 super.onSetUp();
62 userDAO = (UserDAO) applicationContext.getBean("userDAO");
63 projectDAO = (ProjectDAO) applicationContext.getBean("projectDAO");
64 permissionDAO = (PermissionDAO) applicationContext
65 .getBean("permissionDAO");
66 }
67
68 protected String[] getDataSetFiles() {
69 return new String[]{
70 "dataset/userpreferencesbean_dataset.xml",
71 "dataset/userbean_dataset.xml",
72 "dataset/projectbean_dataset.xml",
73 "dataset/permissionbean_dataset.xml"};
74 }
75
76 protected String[] getConfigLocations() {
77 return new String[]{"application-context.xml"};
78 }
79
80 }