Skip to content

Commit 0aace25

Browse files
committed
Copied tests from ProjectManagementService
1 parent 199531e commit 0aace25

19 files changed

Lines changed: 308 additions & 34 deletions
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package edu.tamu.app.auth.model;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import org.junit.Test;
6+
import org.junit.runner.RunWith;
7+
import org.springframework.test.context.junit4.SpringRunner;
8+
9+
import edu.tamu.app.enums.Role;
10+
import edu.tamu.app.model.User;
11+
import edu.tamu.weaver.auth.model.Credentials;
12+
13+
@RunWith(SpringRunner.class)
14+
public class AppUserDetailsTest {
15+
16+
private static final Credentials TEST_CREDENTIALS = new Credentials();
17+
static {
18+
TEST_CREDENTIALS.setUin("123456789");
19+
TEST_CREDENTIALS.setEmail("aggieJack@tamu.edu");
20+
TEST_CREDENTIALS.setFirstName("Aggie");
21+
TEST_CREDENTIALS.setLastName("Jack");
22+
TEST_CREDENTIALS.setRole("ROLE_USER");
23+
}
24+
25+
private User testUser = new User(TEST_CREDENTIALS.getUin(), TEST_CREDENTIALS.getEmail(), TEST_CREDENTIALS.getFirstName(), TEST_CREDENTIALS.getLastName(), Role.valueOf(TEST_CREDENTIALS.getRole()));
26+
27+
@Test
28+
public void testConstructor() {
29+
AppUserDetails appUser = new AppUserDetails(testUser);
30+
assertEquals("The parent constructor was not called correctly", testUser.getId(), appUser.getId());
31+
}
32+
}
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
package edu.tamu.app.auth.service;
2+
3+
import static org.junit.Assert.assertEquals;
4+
import static org.mockito.Matchers.any;
5+
import static org.mockito.Mockito.when;
6+
import static org.springframework.test.util.ReflectionTestUtils.setField;
7+
8+
import java.util.Optional;
9+
10+
import org.junit.Before;
11+
import org.junit.Test;
12+
import org.junit.runner.RunWith;
13+
import org.mockito.InjectMocks;
14+
import org.mockito.Mock;
15+
import org.mockito.MockitoAnnotations;
16+
import org.springframework.test.context.junit4.SpringRunner;
17+
18+
import edu.tamu.app.enums.Role;
19+
import edu.tamu.app.model.User;
20+
import edu.tamu.app.model.repo.UserRepo;
21+
import edu.tamu.weaver.auth.model.Credentials;
22+
23+
@RunWith(SpringRunner.class)
24+
public class AppUserCredentialsServiceTest {
25+
26+
private static final Credentials TEST_CREDENTIALS_1 = new Credentials();
27+
static {
28+
TEST_CREDENTIALS_1.setUin("123456789");
29+
TEST_CREDENTIALS_1.setEmail("aggieJack@tamu.edu");
30+
TEST_CREDENTIALS_1.setFirstName("Aggie");
31+
TEST_CREDENTIALS_1.setLastName("Jack");
32+
TEST_CREDENTIALS_1.setRole("ROLE_USER");
33+
}
34+
35+
private static final Credentials TEST_CREDENTIALS_2 = new Credentials();
36+
static {
37+
TEST_CREDENTIALS_2.setUin("987654321");
38+
TEST_CREDENTIALS_2.setEmail("aggieJack@tamu.edu");
39+
TEST_CREDENTIALS_2.setFirstName("Aggie");
40+
TEST_CREDENTIALS_2.setLastName("Jack");
41+
TEST_CREDENTIALS_2.setRole("ROLE_USER");
42+
}
43+
44+
private static final Credentials TEST_NULL_CREDENTIALS = new Credentials();
45+
static {
46+
TEST_NULL_CREDENTIALS.setUin("987654321");
47+
TEST_NULL_CREDENTIALS.setEmail("aggieJack@tamu.edu");
48+
TEST_NULL_CREDENTIALS.setFirstName("Aggie");
49+
TEST_NULL_CREDENTIALS.setLastName("Jack");
50+
}
51+
52+
private static final Credentials TEST_CHANGED_CREDENTIALS = new Credentials();
53+
static {
54+
TEST_CHANGED_CREDENTIALS.setUin("111111111");
55+
TEST_CHANGED_CREDENTIALS.setEmail("jsmithk@tamu.edu");
56+
TEST_CHANGED_CREDENTIALS.setFirstName("John");
57+
TEST_CHANGED_CREDENTIALS.setLastName("Smith");
58+
TEST_CHANGED_CREDENTIALS.setRole("ROLE_ADMIN");
59+
}
60+
61+
private User testUser1 = new User(TEST_CREDENTIALS_1.getUin(), TEST_CREDENTIALS_1.getEmail(), TEST_CREDENTIALS_1.getFirstName(), TEST_CREDENTIALS_1.getLastName(), Role.valueOf(TEST_CREDENTIALS_1.getRole()));
62+
private User testUser2 = new User(TEST_CREDENTIALS_2.getUin(), TEST_CREDENTIALS_2.getEmail(), TEST_CREDENTIALS_2.getFirstName(), TEST_CREDENTIALS_2.getLastName(), Role.valueOf(TEST_CREDENTIALS_2.getRole()));
63+
64+
private static final String[] testAdmins = { "123456789", "987654321" };
65+
66+
private Optional<User> optionalUser1 = Optional.of(testUser1);
67+
68+
@Mock
69+
private UserRepo userRepo;
70+
71+
@InjectMocks
72+
private AppUserCredentialsService credentialsService;
73+
74+
@Before
75+
public void setUp() {
76+
MockitoAnnotations.initMocks(this);
77+
when(userRepo.findByUsername(TEST_CREDENTIALS_1.getUin())).thenReturn(optionalUser1);
78+
when(userRepo.findByUsername(TEST_CREDENTIALS_2.getUin())).thenReturn(Optional.empty());
79+
when(userRepo.findByUsername(TEST_CHANGED_CREDENTIALS.getUin())).thenReturn(optionalUser1);
80+
when(userRepo.create(any(String.class), any(String.class), any(String.class), any(String.class), any(Role.class))).thenReturn(testUser2);
81+
when(userRepo.save(any(User.class))).thenReturn(testUser1);
82+
}
83+
84+
@Test
85+
public void testUpdateUserByCredentials() {
86+
setField(credentialsService, "admins", testAdmins);
87+
User foundUser = credentialsService.updateUserByCredentials(TEST_CREDENTIALS_1);
88+
assertEquals("Unable to find user", testUser1, foundUser);
89+
User unfoundUser = credentialsService.updateUserByCredentials(TEST_CREDENTIALS_2);
90+
assertEquals("Unable to find user", testUser2, unfoundUser);
91+
}
92+
93+
@Test
94+
public void testGetAnonymousRole() {
95+
String anonRole = credentialsService.getAnonymousRole();
96+
assertEquals("Anonymous Role not set correctly", Role.ROLE_ANONYMOUS.toString(), anonRole);
97+
}
98+
99+
@Test
100+
public void testNullRole() {
101+
setField(credentialsService, "admins", testAdmins);
102+
User nullUser = credentialsService.updateUserByCredentials(TEST_NULL_CREDENTIALS);
103+
assertEquals("Null Role not updated", TEST_CREDENTIALS_1.getRole(), nullUser.getRole().toString());
104+
}
105+
106+
@Test
107+
public void testChangedUser() {
108+
User changedUser = credentialsService.updateUserByCredentials(TEST_CHANGED_CREDENTIALS);
109+
assertEquals("is present", changedUser, optionalUser1.get());
110+
assertEquals("Username was not updated", TEST_CHANGED_CREDENTIALS.getUin(), changedUser.getUsername());
111+
assertEquals("Email was not updated", TEST_CHANGED_CREDENTIALS.getEmail(), changedUser.getEmail());
112+
assertEquals("First name was not updated", TEST_CHANGED_CREDENTIALS.getFirstName(), changedUser.getFirstName());
113+
assertEquals("Last name was not updated", TEST_CHANGED_CREDENTIALS.getLastName(), changedUser.getLastName());
114+
assertEquals("Role was not updated", TEST_CHANGED_CREDENTIALS.getRole(), changedUser.getRole().toString());
115+
}
116+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package edu.tamu.app.auth.service;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import org.junit.Test;
6+
import org.junit.runner.RunWith;
7+
import org.mockito.InjectMocks;
8+
import org.springframework.security.core.userdetails.UserDetails;
9+
import org.springframework.test.context.junit4.SpringRunner;
10+
11+
import edu.tamu.app.enums.Role;
12+
import edu.tamu.app.model.User;
13+
import edu.tamu.weaver.auth.model.Credentials;
14+
15+
@RunWith(SpringRunner.class)
16+
public class AppUserDetailsServiceTest {
17+
18+
private static final Credentials TEST_CREDENTIALS_1 = new Credentials();
19+
static {
20+
TEST_CREDENTIALS_1.setUin("123456789");
21+
TEST_CREDENTIALS_1.setEmail("aggieJack@tamu.edu");
22+
TEST_CREDENTIALS_1.setFirstName("Aggie");
23+
TEST_CREDENTIALS_1.setLastName("Jack");
24+
TEST_CREDENTIALS_1.setRole("ROLE_USER");
25+
}
26+
27+
private User testUser1 = new User(TEST_CREDENTIALS_1.getUin(), TEST_CREDENTIALS_1.getEmail(), TEST_CREDENTIALS_1.getFirstName(), TEST_CREDENTIALS_1.getLastName(), Role.valueOf(TEST_CREDENTIALS_1.getRole()));
28+
29+
@InjectMocks
30+
private AppUserDetailsService appUserDetailsService;
31+
32+
@Test
33+
public void testBuildUserDetails() {
34+
UserDetails details = appUserDetailsService.buildUserDetails(testUser1);
35+
assertEquals("User details not built correctly", TEST_CREDENTIALS_1.getUin(), details.getUsername());
36+
}
37+
38+
}

src/test/java/edu/tamu/app/controller/FeatureProposalControllerTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.mockito.Mock;
1919
import org.mockito.MockitoAnnotations;
2020
import org.springframework.messaging.simp.SimpMessagingTemplate;
21-
import org.springframework.test.context.ActiveProfiles;
2221
import org.springframework.test.context.junit4.SpringRunner;
2322

2423
import edu.tamu.app.enums.Status;
@@ -33,7 +32,6 @@
3332
import edu.tamu.weaver.auth.model.Credentials;
3433
import edu.tamu.weaver.response.ApiResponse;
3534

36-
@ActiveProfiles("test")
3735
@RunWith(SpringRunner.class)
3836
public class FeatureProposalControllerTest {
3937

src/test/java/edu/tamu/app/controller/IdeaControllerTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.mockito.Mock;
1919
import org.mockito.MockitoAnnotations;
2020
import org.springframework.messaging.simp.SimpMessagingTemplate;
21-
import org.springframework.test.context.ActiveProfiles;
2221
import org.springframework.test.context.junit4.SpringRunner;
2322

2423
import edu.tamu.app.enums.Status;
@@ -32,7 +31,6 @@
3231
import edu.tamu.weaver.auth.model.Credentials;
3332
import edu.tamu.weaver.response.ApiResponse;
3433

35-
@ActiveProfiles("test")
3634
@RunWith(SpringRunner.class)
3735
public class IdeaControllerTest {
3836

src/test/java/edu/tamu/app/controller/NoteControllerTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.mockito.Mock;
1919
import org.mockito.MockitoAnnotations;
2020
import org.springframework.messaging.simp.SimpMessagingTemplate;
21-
import org.springframework.test.context.ActiveProfiles;
2221
import org.springframework.test.context.junit4.SpringRunner;
2322

2423
import edu.tamu.app.enums.NoteType;
@@ -33,7 +32,7 @@
3332
import edu.tamu.weaver.auth.model.Credentials;
3433
import edu.tamu.weaver.response.ApiResponse;
3534

36-
@ActiveProfiles("test")
35+
3736
@RunWith(SpringRunner.class)
3837
public class NoteControllerTest {
3938

src/test/java/edu/tamu/app/controller/NotificationControllerTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,13 @@
1818
import org.mockito.Mock;
1919
import org.mockito.MockitoAnnotations;
2020
import org.springframework.messaging.simp.SimpMessagingTemplate;
21-
import org.springframework.test.context.ActiveProfiles;
2221
import org.springframework.test.context.junit4.SpringRunner;
2322

2423
import edu.tamu.app.enums.NotificationLocation;
2524
import edu.tamu.app.model.Notification;
2625
import edu.tamu.app.model.repo.NotificationRepo;
2726
import edu.tamu.weaver.response.ApiResponse;
2827

29-
@ActiveProfiles("test")
3028
@RunWith(SpringRunner.class)
3129
public class NotificationControllerTest {
3230

src/test/java/edu/tamu/app/controller/ProjectControllerTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.mockito.Spy;
2121
import org.springframework.beans.factory.annotation.Value;
2222
import org.springframework.core.io.Resource;
23-
import org.springframework.test.context.ActiveProfiles;
2423
import org.springframework.test.context.junit4.SpringRunner;
2524

2625
import com.fasterxml.jackson.core.JsonParseException;
@@ -33,7 +32,6 @@
3332
import edu.tamu.weaver.response.ApiResponse;
3433
import edu.tamu.weaver.response.ApiStatus;
3534

36-
@ActiveProfiles("test")
3735
@RunWith(SpringRunner.class)
3836
public class ProjectControllerTest {
3937

src/test/java/edu/tamu/app/controller/ServiceControllerTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.mockito.Mock;
2020
import org.mockito.MockitoAnnotations;
2121
import org.springframework.messaging.simp.SimpMessagingTemplate;
22-
import org.springframework.test.context.ActiveProfiles;
2322
import org.springframework.test.context.junit4.SpringRunner;
2423

2524
import edu.tamu.app.enums.Status;
@@ -40,7 +39,6 @@
4039
import edu.tamu.weaver.response.ApiResponse;
4140
import edu.tamu.weaver.response.ApiStatus;
4241

43-
@ActiveProfiles("test")
4442
@RunWith(SpringRunner.class)
4543
public class ServiceControllerTest {
4644

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
package edu.tamu.app.controller;
2+
3+
import static edu.tamu.weaver.response.ApiStatus.SUCCESS;
4+
import static org.junit.Assert.assertEquals;
5+
import static org.mockito.Matchers.any;
6+
import static org.mockito.Mockito.doNothing;
7+
import static org.mockito.Mockito.when;
8+
9+
import java.util.ArrayList;
10+
import java.util.Arrays;
11+
import java.util.List;
12+
13+
import org.junit.Before;
14+
import org.junit.Test;
15+
import org.junit.runner.RunWith;
16+
import org.mockito.InjectMocks;
17+
import org.mockito.Mock;
18+
import org.springframework.messaging.simp.SimpMessagingTemplate;
19+
import org.springframework.test.context.junit4.SpringRunner;
20+
21+
import edu.tamu.app.enums.Role;
22+
import edu.tamu.app.model.User;
23+
import edu.tamu.app.model.repo.UserRepo;
24+
import edu.tamu.weaver.auth.model.Credentials;
25+
import edu.tamu.weaver.response.ApiResponse;
26+
27+
@RunWith(SpringRunner.class)
28+
public class UserControllerTest {
29+
30+
private static final Credentials TEST_CREDENTIALS_1 = new Credentials();
31+
static {
32+
TEST_CREDENTIALS_1.setUin("123456789");
33+
TEST_CREDENTIALS_1.setEmail("aggieJack@tamu.edu");
34+
TEST_CREDENTIALS_1.setFirstName("Aggie");
35+
TEST_CREDENTIALS_1.setLastName("Jack");
36+
TEST_CREDENTIALS_1.setRole("ROLE_USER");
37+
}
38+
39+
private static final Credentials TEST_CREDENTIALS_2 = new Credentials();
40+
static {
41+
TEST_CREDENTIALS_2.setUin("987654321");
42+
TEST_CREDENTIALS_2.setEmail("aggieJack@tamu.edu");
43+
TEST_CREDENTIALS_2.setFirstName("Aggie");
44+
TEST_CREDENTIALS_2.setLastName("Jack");
45+
TEST_CREDENTIALS_2.setRole("ROLE_USER");
46+
}
47+
48+
private User testUser1 = new User(TEST_CREDENTIALS_1.getUin(), TEST_CREDENTIALS_1.getEmail(), TEST_CREDENTIALS_1.getFirstName(), TEST_CREDENTIALS_1.getLastName(), Role.valueOf(TEST_CREDENTIALS_1.getRole()));
49+
private User testUser2 = new User(TEST_CREDENTIALS_2.getUin(), TEST_CREDENTIALS_2.getEmail(), TEST_CREDENTIALS_2.getFirstName(), TEST_CREDENTIALS_2.getLastName(), Role.valueOf(TEST_CREDENTIALS_2.getRole()));
50+
51+
private List<User> mockUserList = new ArrayList<User>(Arrays.asList(new User[] { testUser1, testUser2 }));
52+
53+
private static ApiResponse apiResponse;
54+
55+
@Mock
56+
private UserRepo userRepo;
57+
58+
@Mock
59+
private SimpMessagingTemplate simpMessagingTemplate;
60+
61+
@InjectMocks
62+
private UserController userController;
63+
64+
@Before
65+
public void setUp() {
66+
when(userRepo.findAll()).thenReturn(mockUserList);
67+
when(userRepo.save(any(User.class))).thenReturn(testUser1);
68+
doNothing().when(simpMessagingTemplate).convertAndSend(any(String.class), any(Object.class));
69+
}
70+
71+
@Test
72+
public void testCredentials() {
73+
apiResponse = userController.credentials(TEST_CREDENTIALS_1);
74+
assertEquals("Unable to get user credentials", SUCCESS, apiResponse.getMeta().getStatus());
75+
}
76+
77+
@Test
78+
@SuppressWarnings("unchecked")
79+
public void testAllUsers() throws Exception {
80+
apiResponse = userController.allUsers();
81+
assertEquals("Request for users was unsuccessful", SUCCESS, apiResponse.getMeta().getStatus());
82+
assertEquals("Number of users was not correct", 2, ((ArrayList<User>) apiResponse.getPayload().get("ArrayList<User>")).size());
83+
}
84+
85+
@Test
86+
public void testUpdateUser() throws Exception {
87+
apiResponse = userController.updateUser(testUser1);
88+
assertEquals("User was not successfully updated", SUCCESS, apiResponse.getMeta().getStatus());
89+
}
90+
}

0 commit comments

Comments
 (0)