Add passwordEncoder to UserBuilder

Fixes gh-4677
This commit is contained in:
Rob Winch
2017-10-20 13:56:03 -05:00
parent b66ea9ab94
commit a0fb324e1d
2 changed files with 51 additions and 1 deletions

View File

@@ -177,4 +177,37 @@ public class UserTests {
assertThat(actual.isCredentialsNonExpired()).isEqualTo(expected.isCredentialsNonExpired());
assertThat(actual.isEnabled()).isEqualTo(expected.isEnabled());
}
@Test
public void withUserWhenDetailsPasswordEncoderThenEncodes() {
UserDetails userDetails = User.withUsername("user").password("password").roles("USER").build();
UserDetails withEncodedPassword = User.withUserDetails(userDetails)
.passwordEncoder(p -> p + "encoded")
.build();
assertThat(withEncodedPassword.getPassword()).isEqualTo("passwordencoded");
}
@Test
public void withUsernameWhenPasswordEncoderAndPasswordThenEncodes() {
UserDetails withEncodedPassword = User.withUsername("user")
.password("password")
.passwordEncoder(p -> p + "encoded")
.roles("USER")
.build();
assertThat(withEncodedPassword.getPassword()).isEqualTo("passwordencoded");
}
@Test
public void withUsernameWhenPasswordAndPasswordEncoderThenEncodes() {
UserDetails withEncodedPassword = User.withUsername("user")
.passwordEncoder(p -> p + "encoded")
.password("password")
.roles("USER")
.build();
assertThat(withEncodedPassword.getPassword()).isEqualTo("passwordencoded");
}
}