Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions src/test/java/edu/tamu/app/auth/model/AppUserDetailsTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package edu.tamu.app.auth.model;

import static org.junit.Assert.assertEquals;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.enums.Role;
import edu.tamu.app.model.User;
import edu.tamu.weaver.auth.model.Credentials;

@RunWith(SpringRunner.class)
public class AppUserDetailsTest {

private static final Credentials TEST_CREDENTIALS = new Credentials();
static {
TEST_CREDENTIALS.setUin("123456789");
TEST_CREDENTIALS.setEmail("aggieJack@tamu.edu");
TEST_CREDENTIALS.setFirstName("Aggie");
TEST_CREDENTIALS.setLastName("Jack");
TEST_CREDENTIALS.setRole("ROLE_USER");
}

private User testUser = new User(TEST_CREDENTIALS.getUin(), TEST_CREDENTIALS.getEmail(), TEST_CREDENTIALS.getFirstName(), TEST_CREDENTIALS.getLastName(), Role.valueOf(TEST_CREDENTIALS.getRole()));

@Test
public void testConstructor() {
AppUserDetails appUser = new AppUserDetails(testUser);
assertEquals("The parent constructor was not called correctly", testUser.getId(), appUser.getId());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
package edu.tamu.app.auth.service;

import static org.junit.Assert.assertEquals;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;
import static org.springframework.test.util.ReflectionTestUtils.setField;

import java.util.Optional;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.enums.Role;
import edu.tamu.app.model.User;
import edu.tamu.app.model.repo.UserRepo;
import edu.tamu.weaver.auth.model.Credentials;

@RunWith(SpringRunner.class)
public class AppUserCredentialsServiceTest {

private static final Credentials TEST_CREDENTIALS_1 = new Credentials();
static {
TEST_CREDENTIALS_1.setUin("123456789");
TEST_CREDENTIALS_1.setEmail("aggieJack@tamu.edu");
TEST_CREDENTIALS_1.setFirstName("Aggie");
TEST_CREDENTIALS_1.setLastName("Jack");
TEST_CREDENTIALS_1.setRole("ROLE_USER");
}

private static final Credentials TEST_CREDENTIALS_2 = new Credentials();
static {
TEST_CREDENTIALS_2.setUin("987654321");
TEST_CREDENTIALS_2.setEmail("aggieJack@tamu.edu");
TEST_CREDENTIALS_2.setFirstName("Aggie");
TEST_CREDENTIALS_2.setLastName("Jack");
TEST_CREDENTIALS_2.setRole("ROLE_USER");
}

private static final Credentials TEST_NULL_CREDENTIALS = new Credentials();
static {
TEST_NULL_CREDENTIALS.setUin("987654321");
TEST_NULL_CREDENTIALS.setEmail("aggieJack@tamu.edu");
TEST_NULL_CREDENTIALS.setFirstName("Aggie");
TEST_NULL_CREDENTIALS.setLastName("Jack");
}

private static final Credentials TEST_CHANGED_CREDENTIALS = new Credentials();
static {
TEST_CHANGED_CREDENTIALS.setUin("111111111");
TEST_CHANGED_CREDENTIALS.setEmail("jsmithk@tamu.edu");
TEST_CHANGED_CREDENTIALS.setFirstName("John");
TEST_CHANGED_CREDENTIALS.setLastName("Smith");
TEST_CHANGED_CREDENTIALS.setRole("ROLE_ADMIN");
}

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()));
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()));

private static final String[] testAdmins = { "123456789", "987654321" };

private Optional<User> optionalUser1 = Optional.of(testUser1);

@Mock
private UserRepo userRepo;

@InjectMocks
private AppUserCredentialsService credentialsService;

@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
when(userRepo.findByUsername(TEST_CREDENTIALS_1.getUin())).thenReturn(optionalUser1);
when(userRepo.findByUsername(TEST_CREDENTIALS_2.getUin())).thenReturn(Optional.empty());
when(userRepo.findByUsername(TEST_CHANGED_CREDENTIALS.getUin())).thenReturn(optionalUser1);
when(userRepo.create(any(String.class), any(String.class), any(String.class), any(String.class), any(Role.class))).thenReturn(testUser2);
when(userRepo.save(any(User.class))).thenReturn(testUser1);
}

@Test
public void testUpdateUserByCredentials() {
setField(credentialsService, "admins", testAdmins);
User foundUser = credentialsService.updateUserByCredentials(TEST_CREDENTIALS_1);
assertEquals("Unable to find user", testUser1, foundUser);
User unfoundUser = credentialsService.updateUserByCredentials(TEST_CREDENTIALS_2);
assertEquals("Unable to find user", testUser2, unfoundUser);
}

@Test
public void testGetAnonymousRole() {
String anonRole = credentialsService.getAnonymousRole();
assertEquals("Anonymous Role not set correctly", Role.ROLE_ANONYMOUS.toString(), anonRole);
}

@Test
public void testNullRole() {
setField(credentialsService, "admins", testAdmins);
User nullUser = credentialsService.updateUserByCredentials(TEST_NULL_CREDENTIALS);
assertEquals("Null Role not updated", TEST_CREDENTIALS_1.getRole(), nullUser.getRole().toString());
}

@Test
public void testChangedUser() {
User changedUser = credentialsService.updateUserByCredentials(TEST_CHANGED_CREDENTIALS);
assertEquals("is present", changedUser, optionalUser1.get());
assertEquals("Username was not updated", TEST_CHANGED_CREDENTIALS.getUin(), changedUser.getUsername());
assertEquals("Email was not updated", TEST_CHANGED_CREDENTIALS.getEmail(), changedUser.getEmail());
assertEquals("First name was not updated", TEST_CHANGED_CREDENTIALS.getFirstName(), changedUser.getFirstName());
assertEquals("Last name was not updated", TEST_CHANGED_CREDENTIALS.getLastName(), changedUser.getLastName());
assertEquals("Role was not updated", TEST_CHANGED_CREDENTIALS.getRole(), changedUser.getRole().toString());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package edu.tamu.app.auth.service;

import static org.junit.Assert.assertEquals;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.enums.Role;
import edu.tamu.app.model.User;
import edu.tamu.weaver.auth.model.Credentials;

@RunWith(SpringRunner.class)
public class AppUserDetailsServiceTest {

private static final Credentials TEST_CREDENTIALS_1 = new Credentials();
static {
TEST_CREDENTIALS_1.setUin("123456789");
TEST_CREDENTIALS_1.setEmail("aggieJack@tamu.edu");
TEST_CREDENTIALS_1.setFirstName("Aggie");
TEST_CREDENTIALS_1.setLastName("Jack");
TEST_CREDENTIALS_1.setRole("ROLE_USER");
}

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()));

@InjectMocks
private AppUserDetailsService appUserDetailsService;

@Test
public void testBuildUserDetails() {
UserDetails details = appUserDetailsService.buildUserDetails(testUser1);
assertEquals("User details not built correctly", TEST_CREDENTIALS_1.getUin(), details.getUsername());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.enums.Status;
Expand All @@ -33,7 +32,6 @@
import edu.tamu.weaver.auth.model.Credentials;
import edu.tamu.weaver.response.ApiResponse;

@ActiveProfiles("test")
@RunWith(SpringRunner.class)
public class FeatureProposalControllerTest {

Expand Down
2 changes: 0 additions & 2 deletions src/test/java/edu/tamu/app/controller/IdeaControllerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.enums.Status;
Expand All @@ -32,7 +31,6 @@
import edu.tamu.weaver.auth.model.Credentials;
import edu.tamu.weaver.response.ApiResponse;

@ActiveProfiles("test")
@RunWith(SpringRunner.class)
public class IdeaControllerTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.enums.NoteType;
Expand All @@ -33,7 +32,7 @@
import edu.tamu.weaver.auth.model.Credentials;
import edu.tamu.weaver.response.ApiResponse;

@ActiveProfiles("test")

@RunWith(SpringRunner.class)
public class NoteControllerTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,13 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.enums.NotificationLocation;
import edu.tamu.app.model.Notification;
import edu.tamu.app.model.repo.NotificationRepo;
import edu.tamu.weaver.response.ApiResponse;

@ActiveProfiles("test")
@RunWith(SpringRunner.class)
public class NotificationControllerTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
import org.mockito.Spy;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

import com.fasterxml.jackson.core.JsonParseException;
Expand All @@ -33,7 +32,6 @@
import edu.tamu.weaver.response.ApiResponse;
import edu.tamu.weaver.response.ApiStatus;

@ActiveProfiles("test")
@RunWith(SpringRunner.class)
public class ProjectControllerTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.enums.Status;
Expand All @@ -40,7 +39,6 @@
import edu.tamu.weaver.response.ApiResponse;
import edu.tamu.weaver.response.ApiStatus;

@ActiveProfiles("test")
@RunWith(SpringRunner.class)
public class ServiceControllerTest {

Expand Down
90 changes: 90 additions & 0 deletions src/test/java/edu/tamu/app/controller/UserControllerTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
package edu.tamu.app.controller;

import static edu.tamu.weaver.response.ApiStatus.SUCCESS;
import static org.junit.Assert.assertEquals;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.when;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.enums.Role;
import edu.tamu.app.model.User;
import edu.tamu.app.model.repo.UserRepo;
import edu.tamu.weaver.auth.model.Credentials;
import edu.tamu.weaver.response.ApiResponse;

@RunWith(SpringRunner.class)
public class UserControllerTest {

private static final Credentials TEST_CREDENTIALS_1 = new Credentials();
static {
TEST_CREDENTIALS_1.setUin("123456789");
TEST_CREDENTIALS_1.setEmail("aggieJack@tamu.edu");
TEST_CREDENTIALS_1.setFirstName("Aggie");
TEST_CREDENTIALS_1.setLastName("Jack");
TEST_CREDENTIALS_1.setRole("ROLE_USER");
}

private static final Credentials TEST_CREDENTIALS_2 = new Credentials();
static {
TEST_CREDENTIALS_2.setUin("987654321");
TEST_CREDENTIALS_2.setEmail("aggieJack@tamu.edu");
TEST_CREDENTIALS_2.setFirstName("Aggie");
TEST_CREDENTIALS_2.setLastName("Jack");
TEST_CREDENTIALS_2.setRole("ROLE_USER");
}

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()));
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()));

private List<User> mockUserList = new ArrayList<User>(Arrays.asList(new User[] { testUser1, testUser2 }));

private static ApiResponse apiResponse;

@Mock
private UserRepo userRepo;

@Mock
private SimpMessagingTemplate simpMessagingTemplate;

@InjectMocks
private UserController userController;

@Before
public void setUp() {
when(userRepo.findAll()).thenReturn(mockUserList);
when(userRepo.save(any(User.class))).thenReturn(testUser1);
doNothing().when(simpMessagingTemplate).convertAndSend(any(String.class), any(Object.class));
}

@Test
public void testCredentials() {
apiResponse = userController.credentials(TEST_CREDENTIALS_1);
assertEquals("Unable to get user credentials", SUCCESS, apiResponse.getMeta().getStatus());
}

@Test
@SuppressWarnings("unchecked")
public void testAllUsers() throws Exception {
apiResponse = userController.allUsers();
assertEquals("Request for users was unsuccessful", SUCCESS, apiResponse.getMeta().getStatus());
assertEquals("Number of users was not correct", 2, ((ArrayList<User>) apiResponse.getPayload().get("ArrayList<User>")).size());
}

@Test
public void testUpdateUser() throws Exception {
apiResponse = userController.updateUser(testUser1);
assertEquals("User was not successfully updated", SUCCESS, apiResponse.getMeta().getStatus());
}
}
2 changes: 0 additions & 2 deletions src/test/java/edu/tamu/app/model/FeatureProposalTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

import edu.tamu.app.StatusApplication;
Expand All @@ -26,7 +25,6 @@
import edu.tamu.app.model.repo.UserRepo;
import edu.tamu.weaver.auth.model.Credentials;

@ActiveProfiles("test")
@RunWith(SpringRunner.class)
@SpringBootTest(classes = { StatusApplication.class }, webEnvironment = WebEnvironment.DEFINED_PORT)
public class FeatureProposalTest {
Expand Down
Loading