diff --git a/core/src/test/java/org/springframework/security/access/vote/RoleVoterTests.java b/core/src/test/java/org/springframework/security/access/vote/RoleVoterTests.java new file mode 100644 index 0000000000..e82e96af35 --- /dev/null +++ b/core/src/test/java/org/springframework/security/access/vote/RoleVoterTests.java @@ -0,0 +1,26 @@ +package org.springframework.security.access.vote; + +import static org.junit.Assert.*; + +import org.junit.Test; +import org.springframework.security.access.AccessDecisionVoter; +import org.springframework.security.access.SecurityConfig; +import org.springframework.security.authentication.TestingAuthenticationToken; +import org.springframework.security.core.Authentication; + +/** + * + * @author Luke Taylor + * @version $Id$ + */ +public class RoleVoterTests { + + // Vote on attribute list that has two attributes A and C (i.e. one matching) + @Test + public void oneMatchingAttributeGrantsAccess() { + RoleVoter voter = new RoleVoter(); + voter.setRolePrefix(""); + Authentication userAB = new TestingAuthenticationToken("user","pass", "A", "B"); + assertEquals(AccessDecisionVoter.ACCESS_GRANTED, voter.vote(userAB, this, SecurityConfig.createList("A","C"))); + } +}