Merge branch 'pr/579' into develop
This commit is contained in:
commit
a56f41e0ea
@ -1,5 +1,7 @@
|
||||
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;
|
||||
@ -14,8 +16,7 @@ public class UserService implements UserDetailsService {
|
||||
|
||||
private UserRepository userRepository;
|
||||
|
||||
@Autowired
|
||||
public UserService(final UserRepository userRepository) {
|
||||
public UserService(UserRepository userRepository) {
|
||||
this.userRepository = userRepository;
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,9 @@
|
||||
package org.owasp.webwolf.user;
|
||||
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
@ -17,50 +16,37 @@ public class UserServiceTest {
|
||||
@Mock
|
||||
private UserRepository mockUserRepository;
|
||||
|
||||
private UserService cut;
|
||||
|
||||
@Before
|
||||
public void setup(){
|
||||
cut = new UserService(mockUserRepository);
|
||||
}
|
||||
@InjectMocks
|
||||
private UserService sut;
|
||||
|
||||
@Test
|
||||
public void testLoadUserByUsername(){
|
||||
// setup
|
||||
final String username = "guest";
|
||||
final String password = "123";
|
||||
|
||||
var username = "guest";
|
||||
var password = "123";
|
||||
WebGoatUser user = new WebGoatUser(username, password);
|
||||
when(mockUserRepository.findByUsername(username)).thenReturn(user);
|
||||
|
||||
// execute
|
||||
final WebGoatUser webGoatUser = cut.loadUserByUsername(username);
|
||||
var webGoatUser = sut.loadUserByUsername(username);
|
||||
|
||||
// verify
|
||||
Assert.assertEquals(username, webGoatUser.getUsername());
|
||||
Assert.assertEquals(password, webGoatUser.getPassword());
|
||||
Assertions.assertThat(username).isEqualTo(webGoatUser.getUsername());
|
||||
Assertions.assertThat(password).isEqualTo(webGoatUser.getPassword());
|
||||
}
|
||||
|
||||
@Test(expected = UsernameNotFoundException.class)
|
||||
public void testLoadUserByUsername_NULL(){
|
||||
// setup
|
||||
final String username = "guest";
|
||||
var username = "guest";
|
||||
when(mockUserRepository.findByUsername(username)).thenReturn(null);
|
||||
|
||||
// execute
|
||||
cut.loadUserByUsername(username);
|
||||
sut.loadUserByUsername(username);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddUser(){
|
||||
// setup
|
||||
final String username = "guest";
|
||||
final String password = "guest";
|
||||
var username = "guest";
|
||||
var password = "guest";
|
||||
|
||||
// execute
|
||||
cut.addUser(username, password);
|
||||
sut.addUser(username, password);
|
||||
|
||||
// verify
|
||||
verify(mockUserRepository, times(1)).save(any(WebGoatUser.class));
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,77 @@
|
||||
package org.owasp.webwolf.user;
|
||||
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import org.springframework.validation.BindException;
|
||||
|
||||
import static junit.framework.TestCase.assertTrue;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
public class UserValidatorTest {
|
||||
|
||||
@Mock
|
||||
private UserRepository mockUserRepository;
|
||||
|
||||
@InjectMocks
|
||||
private UserValidator userValidator;
|
||||
|
||||
@Test
|
||||
public void validUserFormShouldNotHaveErrors() {
|
||||
var validUserForm = new UserForm();
|
||||
validUserForm.setUsername("guest");
|
||||
validUserForm.setMatchingPassword("123");
|
||||
validUserForm.setPassword("123");
|
||||
BindException errors = new BindException(validUserForm, "validUserForm");
|
||||
|
||||
userValidator.validate(validUserForm, errors);
|
||||
|
||||
Assertions.assertThat(errors.hasErrors()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenPasswordDoNotMatchShouldFail() {
|
||||
var validUserForm = new UserForm();
|
||||
validUserForm.setUsername("guest");
|
||||
validUserForm.setMatchingPassword("123");
|
||||
validUserForm.setPassword("124");
|
||||
BindException errors = new BindException(validUserForm, "validUserForm");
|
||||
|
||||
userValidator.validate(validUserForm, errors);
|
||||
|
||||
Assertions.assertThat(errors.hasErrors()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void registerExistingUserAgainShouldFail() {
|
||||
var username = "guest";
|
||||
var password = "123";
|
||||
var validUserForm = new UserForm();
|
||||
validUserForm.setUsername(username);
|
||||
validUserForm.setMatchingPassword(password);
|
||||
validUserForm.setPassword("124");
|
||||
BindException errors = new BindException(validUserForm, "validUserForm");
|
||||
var webGoatUser = new WebGoatUser(username, password);
|
||||
when(mockUserRepository.findByUsername(validUserForm.getUsername())).thenReturn(webGoatUser);
|
||||
|
||||
userValidator.validate(validUserForm, errors);
|
||||
|
||||
Assertions.assertThat(errors.hasErrors()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSupports() {
|
||||
Assertions.assertThat(userValidator.supports(UserForm.class)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSupports_false() {
|
||||
Assertions.assertThat(userValidator.supports(UserService.class)).isFalse();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user