|
|
|
@ -14,11 +14,12 @@ |
|
|
|
|
|
|
|
|
|
|
|
package org.springframework.security.access.hierarchicalroles; |
|
|
|
package org.springframework.security.access.hierarchicalroles; |
|
|
|
|
|
|
|
|
|
|
|
import static org.junit.Assert.assertFalse; |
|
|
|
import static org.junit.Assert.*; |
|
|
|
import static org.junit.Assert.assertTrue; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.apache.commons.collections.CollectionUtils; |
|
|
|
import org.junit.Test; |
|
|
|
import org.junit.Test; |
|
|
|
import org.springframework.security.core.GrantedAuthority; |
|
|
|
import org.springframework.security.core.GrantedAuthority; |
|
|
|
import org.springframework.security.core.authority.AuthorityUtils; |
|
|
|
import org.springframework.security.core.authority.AuthorityUtils; |
|
|
|
@ -52,4 +53,91 @@ public class TestHelperTests { |
|
|
|
assertFalse(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities4, authorities5)); |
|
|
|
assertFalse(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities4, authorities5)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SEC-863
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testToListOfAuthorityStrings() { |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities1 = AuthorityUtils.createAuthorityList("ROLE_A", "ROLE_B"); |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities2 = AuthorityUtils.createAuthorityList("ROLE_B", "ROLE_A"); |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities3 = AuthorityUtils.createAuthorityList("ROLE_A", "ROLE_C"); |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities4 = AuthorityUtils.createAuthorityList("ROLE_A"); |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities5 = AuthorityUtils.createAuthorityList("ROLE_A", "ROLE_A"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> authoritiesStrings1 = new ArrayList<String>(); |
|
|
|
|
|
|
|
authoritiesStrings1.add("ROLE_A"); |
|
|
|
|
|
|
|
authoritiesStrings1.add("ROLE_B"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> authoritiesStrings2 = new ArrayList<String>(); |
|
|
|
|
|
|
|
authoritiesStrings2.add("ROLE_B"); |
|
|
|
|
|
|
|
authoritiesStrings2.add("ROLE_A"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> authoritiesStrings3 = new ArrayList<String>(); |
|
|
|
|
|
|
|
authoritiesStrings3.add("ROLE_A"); |
|
|
|
|
|
|
|
authoritiesStrings3.add("ROLE_C"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> authoritiesStrings4 = new ArrayList<String>(); |
|
|
|
|
|
|
|
authoritiesStrings4.add("ROLE_A"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> authoritiesStrings5 = new ArrayList<String>(); |
|
|
|
|
|
|
|
authoritiesStrings5.add("ROLE_A"); |
|
|
|
|
|
|
|
authoritiesStrings5.add("ROLE_A"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(CollectionUtils.isEqualCollection( |
|
|
|
|
|
|
|
HierarchicalRolesTestHelper.toListOfAuthorityStrings(authorities1), authoritiesStrings1)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(CollectionUtils.isEqualCollection( |
|
|
|
|
|
|
|
HierarchicalRolesTestHelper.toListOfAuthorityStrings(authorities2), authoritiesStrings2)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(CollectionUtils.isEqualCollection( |
|
|
|
|
|
|
|
HierarchicalRolesTestHelper.toListOfAuthorityStrings(authorities3), authoritiesStrings3)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(CollectionUtils.isEqualCollection( |
|
|
|
|
|
|
|
HierarchicalRolesTestHelper.toListOfAuthorityStrings(authorities4), authoritiesStrings4)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(CollectionUtils.isEqualCollection( |
|
|
|
|
|
|
|
HierarchicalRolesTestHelper.toListOfAuthorityStrings(authorities5), authoritiesStrings5)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SEC-863
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testContainTheSameGrantedAuthoritiesCompareByAuthorityString() { |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities1 = AuthorityUtils.createAuthorityList("ROLE_A", "ROLE_B"); |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities2 = AuthorityUtils.createAuthorityList("ROLE_B", "ROLE_A"); |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities3 = AuthorityUtils.createAuthorityList("ROLE_A", "ROLE_C"); |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities4 = AuthorityUtils.createAuthorityList("ROLE_A"); |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities5 = AuthorityUtils.createAuthorityList("ROLE_A", "ROLE_A"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(null, null)); |
|
|
|
|
|
|
|
assertTrue(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities1, authorities1)); |
|
|
|
|
|
|
|
assertTrue(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities1, authorities2)); |
|
|
|
|
|
|
|
assertTrue(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities2, authorities1)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertFalse(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(null, authorities1)); |
|
|
|
|
|
|
|
assertFalse(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities1, null)); |
|
|
|
|
|
|
|
assertFalse(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities1, authorities3)); |
|
|
|
|
|
|
|
assertFalse(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities3, authorities1)); |
|
|
|
|
|
|
|
assertFalse(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities1, authorities4)); |
|
|
|
|
|
|
|
assertFalse(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities4, authorities1)); |
|
|
|
|
|
|
|
assertFalse(HierarchicalRolesTestHelper.containTheSameGrantedAuthorities(authorities4, authorities5)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SEC-863
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testContainTheSameGrantedAuthoritiesCompareByAuthorityStringWithAuthorityLists() { |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities1 = HierarchicalRolesTestHelper.createAuthorityList("ROLE_A", "ROLE_B"); |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities2 = AuthorityUtils.createAuthorityList("ROLE_A", "ROLE_B"); |
|
|
|
|
|
|
|
assertTrue(HierarchicalRolesTestHelper.containTheSameGrantedAuthoritiesCompareByAuthorityString(authorities1, authorities2)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SEC-863
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testCreateAuthorityList() { |
|
|
|
|
|
|
|
List<GrantedAuthority> authorities1 = HierarchicalRolesTestHelper.createAuthorityList("ROLE_A"); |
|
|
|
|
|
|
|
assertEquals(authorities1.size(), 1); |
|
|
|
|
|
|
|
assertEquals("ROLE_A", authorities1.get(0).getAuthority()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<GrantedAuthority> authorities2 = HierarchicalRolesTestHelper.createAuthorityList("ROLE_A", "ROLE_C"); |
|
|
|
|
|
|
|
assertEquals(authorities2.size(), 2); |
|
|
|
|
|
|
|
assertEquals("ROLE_A", authorities2.get(0).getAuthority()); |
|
|
|
|
|
|
|
assertEquals("ROLE_C", authorities2.get(1).getAuthority()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|