Add RoleHierarchyImpl.Builder
Closes gh-13300
This commit is contained in:
committed by
Josh Cummings
parent
10d88cdf28
commit
7d366242ce
@@ -26,6 +26,7 @@ import org.springframework.security.core.authority.AuthorityUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.assertj.core.api.Assertions.assertThatNoException;
|
||||
|
||||
/**
|
||||
@@ -205,4 +206,68 @@ public class RoleHierarchyImplTests {
|
||||
.containsExactlyInAnyOrderElementsOf(allAuthorities);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderWithDefaultRolePrefix() {
|
||||
RoleHierarchyImpl roleHierarchyImpl = RoleHierarchyImpl.withDefaultRolePrefix().role("A").implies("B").build();
|
||||
List<GrantedAuthority> flatAuthorities = AuthorityUtils.createAuthorityList("ROLE_A");
|
||||
List<GrantedAuthority> allAuthorities = AuthorityUtils.createAuthorityList("ROLE_A", "ROLE_B");
|
||||
|
||||
assertThat(roleHierarchyImpl).isNotNull();
|
||||
assertThat(roleHierarchyImpl.getReachableGrantedAuthorities(flatAuthorities))
|
||||
.containsExactlyInAnyOrderElementsOf(allAuthorities);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderWithRolePrefix() {
|
||||
RoleHierarchyImpl roleHierarchyImpl = RoleHierarchyImpl.withRolePrefix("CUSTOM_PREFIX_")
|
||||
.role("A")
|
||||
.implies("B")
|
||||
.build();
|
||||
List<GrantedAuthority> flatAuthorities = AuthorityUtils.createAuthorityList("CUSTOM_PREFIX_A");
|
||||
List<GrantedAuthority> allAuthorities = AuthorityUtils.createAuthorityList("CUSTOM_PREFIX_A",
|
||||
"CUSTOM_PREFIX_B");
|
||||
|
||||
assertThat(roleHierarchyImpl).isNotNull();
|
||||
assertThat(roleHierarchyImpl.getReachableGrantedAuthorities(flatAuthorities))
|
||||
.containsExactlyInAnyOrderElementsOf(allAuthorities);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderWithNoRolePrefix() {
|
||||
RoleHierarchyImpl roleHierarchyImpl = RoleHierarchyImpl.withNoRolePrefix().role("A").implies("B").build();
|
||||
List<GrantedAuthority> flatAuthorities = AuthorityUtils.createAuthorityList("A");
|
||||
List<GrantedAuthority> allAuthorities = AuthorityUtils.createAuthorityList("A", "B");
|
||||
|
||||
assertThat(roleHierarchyImpl).isNotNull();
|
||||
assertThat(roleHierarchyImpl.getReachableGrantedAuthorities(flatAuthorities))
|
||||
.containsExactlyInAnyOrderElementsOf(allAuthorities);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderThrowIllegalArgumentExceptionWhenPrefixRoleNull() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> RoleHierarchyImpl.withRolePrefix(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderThrowIllegalArgumentExceptionWhenRoleEmpty() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> RoleHierarchyImpl.withDefaultRolePrefix().role(""));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderThrowIllegalArgumentExceptionWhenRoleNull() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> RoleHierarchyImpl.withDefaultRolePrefix().role(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderThrowIllegalArgumentExceptionWhenImpliedRolesNull() {
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> RoleHierarchyImpl.withDefaultRolePrefix().role("A").implies((String) null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderThrowIllegalArgumentExceptionWhenImpliedRolesEmpty() {
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> RoleHierarchyImpl.withDefaultRolePrefix().role("A").implies());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user