add UserService unit test, modify UserService
This commit is contained in:
parent
93830ac15b
commit
bb7fb3f197
@ -1,6 +1,6 @@
|
|||||||
package org.owasp.webwolf.user;
|
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.UserDetailsService;
|
||||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -10,26 +10,27 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 3/19/17.
|
* @since 3/19/17.
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@AllArgsConstructor
|
|
||||||
public class UserService implements UserDetailsService {
|
public class UserService implements UserDetailsService {
|
||||||
|
|
||||||
private final UserRepository userRepository;
|
private UserRepository userRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public UserService(final UserRepository userRepository) {
|
||||||
|
this.userRepository = userRepository;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public WebGoatUser loadUserByUsername(String username) throws UsernameNotFoundException {
|
public WebGoatUser loadUserByUsername(final String username) throws UsernameNotFoundException {
|
||||||
WebGoatUser webGoatUser = userRepository.findByUsername(username);
|
WebGoatUser webGoatUser = userRepository.findByUsername(username);
|
||||||
if (webGoatUser == null) {
|
if (webGoatUser == null) {
|
||||||
throw new UsernameNotFoundException("User not found");
|
throw new UsernameNotFoundException("User not found");
|
||||||
} else {
|
|
||||||
webGoatUser.createUser();
|
|
||||||
}
|
}
|
||||||
|
webGoatUser.createUser();
|
||||||
return webGoatUser;
|
return webGoatUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void addUser(String username, String password) {
|
public void addUser(final String username, final String password) {
|
||||||
userRepository.save(new WebGoatUser(username, 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