add UserService unit test, modify UserService
This commit is contained in:
parent
93830ac15b
commit
bb7fb3f197
@ -1,6 +1,6 @@
|
||||
package org.owasp.webwolf.user;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -10,26 +10,27 @@ import org.springframework.stereotype.Service;
|
||||
* @since 3/19/17.
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class UserService implements UserDetailsService {
|
||||
|
||||
private final UserRepository userRepository;
|
||||
private UserRepository userRepository;
|
||||
|
||||
@Autowired
|
||||
public UserService(final UserRepository userRepository) {
|
||||
this.userRepository = userRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WebGoatUser loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||
public WebGoatUser loadUserByUsername(final String username) throws UsernameNotFoundException {
|
||||
WebGoatUser webGoatUser = userRepository.findByUsername(username);
|
||||
if (webGoatUser == null) {
|
||||
throw new UsernameNotFoundException("User not found");
|
||||
} else {
|
||||
webGoatUser.createUser();
|
||||
}
|
||||
webGoatUser.createUser();
|
||||
return webGoatUser;
|
||||
}
|
||||
|
||||
|
||||
public void addUser(String username, String password) {
|
||||
public void addUser(final String username, final String password) {
|
||||
userRepository.save(new WebGoatUser(username, password));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,66 @@
|
||||
package org.owasp.webwolf.user;
|
||||
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
public class UserServiceTest {
|
||||
|
||||
@Mock
|
||||
private UserRepository mockUserRepository;
|
||||
|
||||
private UserService cut;
|
||||
|
||||
@Before
|
||||
public void setup(){
|
||||
cut = new UserService(mockUserRepository);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLoadUserByUsername(){
|
||||
// setup
|
||||
final String username = "guest";
|
||||
final String password = "123";
|
||||
|
||||
WebGoatUser user = new WebGoatUser(username, password);
|
||||
when(mockUserRepository.findByUsername(username)).thenReturn(user);
|
||||
|
||||
// execute
|
||||
final WebGoatUser webGoatUser = cut.loadUserByUsername(username);
|
||||
|
||||
// verify
|
||||
Assert.assertEquals(username, webGoatUser.getUsername());
|
||||
Assert.assertEquals(password, webGoatUser.getPassword());
|
||||
}
|
||||
|
||||
@Test(expected = UsernameNotFoundException.class)
|
||||
public void testLoadUserByUsername_NULL(){
|
||||
// setup
|
||||
final String username = "guest";
|
||||
when(mockUserRepository.findByUsername(username)).thenReturn(null);
|
||||
|
||||
// execute
|
||||
cut.loadUserByUsername(username);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddUser(){
|
||||
// setup
|
||||
final String username = "guest";
|
||||
final String password = "guest";
|
||||
|
||||
// execute
|
||||
cut.addUser(username, password);
|
||||
|
||||
// verify
|
||||
verify(mockUserRepository, times(1)).save(any(WebGoatUser.class));
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user