mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-10-23 02:38:48 +00:00
Add TestingAuthenticationToken(principal,credential,grantedAuthorities...)
Closes gh-17980
This commit is contained in:
parent
681e166be8
commit
c9010345b9
@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.security.authentication;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@ -51,6 +52,10 @@ public class TestingAuthenticationToken extends AbstractAuthenticationToken {
|
||||
this(principal, credentials, AuthorityUtils.createAuthorityList(authorities));
|
||||
}
|
||||
|
||||
public TestingAuthenticationToken(Object principal, Object credentials, GrantedAuthority... authorities) {
|
||||
this(principal, credentials, Arrays.asList(authorities));
|
||||
}
|
||||
|
||||
public TestingAuthenticationToken(Object principal, Object credentials,
|
||||
List<? extends GrantedAuthority> authorities) {
|
||||
this(principal, credentials, (Collection<? extends GrantedAuthority>) authorities);
|
||||
|
@ -72,6 +72,7 @@ public final class AuthorityUtils {
|
||||
* @return a List of GrantedAuthority objects
|
||||
*/
|
||||
public static List<GrantedAuthority> createAuthorityList(String... authorities) {
|
||||
Assert.notNull(authorities, "authorities cannot be null");
|
||||
List<GrantedAuthority> grantedAuthorities = new ArrayList<>(authorities.length);
|
||||
for (String authority : authorities) {
|
||||
grantedAuthorities.add(new SimpleGrantedAuthority(authority));
|
||||
|
@ -21,10 +21,13 @@ import java.util.Set;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.authority.AuthorityUtils;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
/**
|
||||
* @author Josh Cummings
|
||||
@ -68,4 +71,20 @@ public class TestingAuthenticationTokenTests {
|
||||
assertThat(authorities).containsExactlyInAnyOrder("FACTOR_ONE", "FACTOR_TWO");
|
||||
}
|
||||
|
||||
@Test
|
||||
void constructorObjectObjectStringVargsWhenNullAuthorities() {
|
||||
String[] authorities = null;
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new TestingAuthenticationToken("user", "password", authorities));
|
||||
}
|
||||
|
||||
@Test
|
||||
void constructorObjectObjectStringVargsWhenValid() {
|
||||
Authentication auth = new TestingAuthenticationToken("user", "password", "ROLE_USER");
|
||||
assertThat(auth.isAuthenticated()).isTrue();
|
||||
assertThat(auth.getPrincipal()).isEqualTo("user");
|
||||
assertThat(auth.getCredentials()).isEqualTo("password");
|
||||
assertThat(auth.getAuthorities()).extracting(GrantedAuthority::getAuthority).containsOnly("ROLE_USER");
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user