This commit is contained in:
Andrei Stefan 2008-01-29 17:42:05 +00:00
parent e37d0b0bb1
commit 944c7e9665
3 changed files with 197 additions and 167 deletions

View File

@ -12,7 +12,7 @@ public class AclFormattingUtilsTests extends TestCase {
//~ Methods ======================================================================================================== //~ Methods ========================================================================================================
public void testDemergePatternsParametersConstraints() { public final void testDemergePatternsParametersConstraints() {
try { try {
AclFormattingUtils.demergePatterns(null, "SOME STRING"); AclFormattingUtils.demergePatterns(null, "SOME STRING");
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
@ -46,7 +46,7 @@ public class AclFormattingUtilsTests extends TestCase {
} }
} }
public void testDemergePatterns() { public final void testDemergePatterns() {
String original = "...........................A...R"; String original = "...........................A...R";
String removeBits = "...............................R"; String removeBits = "...............................R";
Assert.assertEquals("...........................A....", AclFormattingUtils Assert.assertEquals("...........................A....", AclFormattingUtils
@ -56,7 +56,7 @@ public class AclFormattingUtilsTests extends TestCase {
Assert.assertEquals("......", AclFormattingUtils.demergePatterns("ABCDEF", "GHIJKL")); Assert.assertEquals("......", AclFormattingUtils.demergePatterns("ABCDEF", "GHIJKL"));
} }
public void testMergePatternsParametersConstraints() { public final void testMergePatternsParametersConstraints() {
try { try {
AclFormattingUtils.mergePatterns(null, "SOME STRING"); AclFormattingUtils.mergePatterns(null, "SOME STRING");
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
@ -90,7 +90,7 @@ public class AclFormattingUtilsTests extends TestCase {
} }
} }
public void testMergePatterns() { public final void testMergePatterns() {
String original = "...............................R"; String original = "...............................R";
String extraBits = "...........................A...."; String extraBits = "...........................A....";
Assert.assertEquals("...........................A...R", AclFormattingUtils Assert.assertEquals("...........................A...R", AclFormattingUtils
@ -100,7 +100,7 @@ public class AclFormattingUtilsTests extends TestCase {
Assert.assertEquals("GHIJKL", AclFormattingUtils.mergePatterns("ABCDEF", "GHIJKL")); Assert.assertEquals("GHIJKL", AclFormattingUtils.mergePatterns("ABCDEF", "GHIJKL"));
} }
public void testBinaryPrints() { public final void testBinaryPrints() {
Assert.assertEquals("............................****", AclFormattingUtils.printBinary(15)); Assert.assertEquals("............................****", AclFormattingUtils.printBinary(15));
try { try {

View File

@ -1,10 +1,41 @@
package org.springframework.security.acls.sid; package org.springframework.security.acls.sid;
import junit.framework.Assert;
import junit.framework.TestCase; import junit.framework.TestCase;
import org.springframework.security.Authentication;
import org.springframework.security.GrantedAuthority;
import org.springframework.security.GrantedAuthorityImpl;
import org.springframework.security.providers.TestingAuthenticationToken;
/**
* Tests for {@link SidRetrievalStrategyImpl}
*
* @author Andrei Stefan
*/
public class SidRetrievalStrategyTests extends TestCase { public class SidRetrievalStrategyTests extends TestCase {
public void testSidsRetrieval() { //~ Methods ========================================================================================================
} public void testSidsRetrieval() {
Authentication authentication = new TestingAuthenticationToken("scott", "password", new GrantedAuthority[] {
new GrantedAuthorityImpl("ROLE_1"), new GrantedAuthorityImpl("ROLE_2"), new GrantedAuthorityImpl("ROLE_3") });
SidRetrievalStrategy retrStrategy = new SidRetrievalStrategyImpl();
Sid[] sids = retrStrategy.getSids(authentication);
Assert.assertNotNull(sids);
Assert.assertEquals(4, sids.length);
Assert.assertNotNull(sids[0]);
Assert.assertTrue(PrincipalSid.class.isAssignableFrom(sids[0].getClass()));
for (int i = 1; i < sids.length; i++) {
Sid sid = sids[i];
Assert.assertTrue(GrantedAuthoritySid.class.isAssignableFrom(sid.getClass()));
}
Assert.assertEquals("scott", ((PrincipalSid) sids[0]).getPrincipal());
Assert.assertEquals("ROLE_1", ((GrantedAuthoritySid) sids[1]).getGrantedAuthority());
Assert.assertEquals("ROLE_2", ((GrantedAuthoritySid) sids[2]).getGrantedAuthority());
Assert.assertEquals("ROLE_3", ((GrantedAuthoritySid) sids[3]).getGrantedAuthority());
}
} }

View File

@ -13,180 +13,179 @@ import org.springframework.security.providers.TestingAuthenticationToken;
public class SidTests extends TestCase { public class SidTests extends TestCase {
//~ Methods ======================================================================================================== //~ Methods ========================================================================================================
public void testPrincipalSidConstructorsRequiredFields() { public void testPrincipalSidConstructorsRequiredFields() {
// Check one String-argument constructor // Check one String-argument constructor
try { try {
String string = null; String string = null;
Sid principalSid = new PrincipalSid(string); Sid principalSid = new PrincipalSid(string);
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) { catch (IllegalArgumentException expected) {
Assert.assertTrue(true); Assert.assertTrue(true);
} }
try { try {
Sid principalSid = new PrincipalSid(""); Sid principalSid = new PrincipalSid("");
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) { catch (IllegalArgumentException expected) {
Assert.assertTrue(true); Assert.assertTrue(true);
} }
try { try {
Sid principalSid = new PrincipalSid("johndoe"); Sid principalSid = new PrincipalSid("johndoe");
Assert.assertTrue(true); Assert.assertTrue(true);
} }
catch (IllegalArgumentException notExpected) { catch (IllegalArgumentException notExpected) {
Assert.fail("It shouldn't have thrown IllegalArgumentException"); Assert.fail("It shouldn't have thrown IllegalArgumentException");
} }
// Check one Authentication-argument constructor // Check one Authentication-argument constructor
try { try {
Authentication authentication = null; Authentication authentication = null;
Sid principalSid = new PrincipalSid(authentication); Sid principalSid = new PrincipalSid(authentication);
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) { catch (IllegalArgumentException expected) {
Assert.assertTrue(true); Assert.assertTrue(true);
} }
try { try {
Authentication authentication = new TestingAuthenticationToken(null, "password", null); Authentication authentication = new TestingAuthenticationToken(null, "password", null);
Sid principalSid = new PrincipalSid(authentication); Sid principalSid = new PrincipalSid(authentication);
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) { catch (IllegalArgumentException expected) {
Assert.assertTrue(true); Assert.assertTrue(true);
} }
try { try {
Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null); Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null);
Sid principalSid = new PrincipalSid(authentication); Sid principalSid = new PrincipalSid(authentication);
Assert.assertTrue(true); Assert.assertTrue(true);
} }
catch (IllegalArgumentException notExpected) { catch (IllegalArgumentException notExpected) {
Assert.fail("It shouldn't have thrown IllegalArgumentException"); Assert.fail("It shouldn't have thrown IllegalArgumentException");
} }
} }
public void testGrantedAuthoritySidConstructorsRequiredFields() { public void testGrantedAuthoritySidConstructorsRequiredFields() {
// Check one String-argument constructor // Check one String-argument constructor
try { try {
String string = null; String string = null;
Sid gaSid = new GrantedAuthoritySid(string); Sid gaSid = new GrantedAuthoritySid(string);
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) { catch (IllegalArgumentException expected) {
Assert.assertTrue(true); Assert.assertTrue(true);
} }
try { try {
Sid gaSid = new GrantedAuthoritySid(""); Sid gaSid = new GrantedAuthoritySid("");
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) { catch (IllegalArgumentException expected) {
Assert.assertTrue(true); Assert.assertTrue(true);
} }
try { try {
Sid gaSid = new GrantedAuthoritySid("ROLE_TEST"); Sid gaSid = new GrantedAuthoritySid("ROLE_TEST");
Assert.assertTrue(true); Assert.assertTrue(true);
} }
catch (IllegalArgumentException notExpected) { catch (IllegalArgumentException notExpected) {
Assert.fail("It shouldn't have thrown IllegalArgumentException"); Assert.fail("It shouldn't have thrown IllegalArgumentException");
} }
// Check one GrantedAuthority-argument constructor // Check one GrantedAuthority-argument constructor
try { try {
GrantedAuthority ga = null; GrantedAuthority ga = null;
Sid gaSid = new GrantedAuthoritySid(ga); Sid gaSid = new GrantedAuthoritySid(ga);
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) { catch (IllegalArgumentException expected) {
Assert.assertTrue(true); Assert.assertTrue(true);
} }
try { try {
GrantedAuthority ga = new GrantedAuthorityImpl(null); GrantedAuthority ga = new GrantedAuthorityImpl(null);
Sid gaSid = new GrantedAuthoritySid(ga); Sid gaSid = new GrantedAuthoritySid(ga);
Assert.fail("It should have thrown IllegalArgumentException"); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) { catch (IllegalArgumentException expected) {
Assert.assertTrue(true); Assert.assertTrue(true);
} }
try { try {
GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST"); GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST");
Sid gaSid = new GrantedAuthoritySid(ga); Sid gaSid = new GrantedAuthoritySid(ga);
Assert.assertTrue(true); Assert.assertTrue(true);
} }
catch (IllegalArgumentException notExpected) { catch (IllegalArgumentException notExpected) {
Assert.fail("It shouldn't have thrown IllegalArgumentException"); Assert.fail("It shouldn't have thrown IllegalArgumentException");
} }
} }
public void testPrincipalSidEquals() { public void testPrincipalSidEquals() {
Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null); Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null);
Sid principalSid = new PrincipalSid(authentication); Sid principalSid = new PrincipalSid(authentication);
Assert.assertFalse(principalSid.equals(null)); Assert.assertFalse(principalSid.equals(null));
Assert.assertFalse(principalSid.equals("DIFFERENT_TYPE_OBJECT")); Assert.assertFalse(principalSid.equals("DIFFERENT_TYPE_OBJECT"));
Assert.assertTrue(principalSid.equals(principalSid)); Assert.assertTrue(principalSid.equals(principalSid));
Assert.assertTrue(principalSid.equals(new PrincipalSid(authentication))); Assert.assertTrue(principalSid.equals(new PrincipalSid(authentication)));
Assert.assertTrue(principalSid.equals(new PrincipalSid(new TestingAuthenticationToken("johndoe", null, null)))); Assert.assertTrue(principalSid.equals(new PrincipalSid(new TestingAuthenticationToken("johndoe", null, null))));
Assert.assertFalse(principalSid.equals(new PrincipalSid(new TestingAuthenticationToken("scott", null, null)))); Assert.assertFalse(principalSid.equals(new PrincipalSid(new TestingAuthenticationToken("scott", null, null))));
Assert.assertTrue(principalSid.equals(new PrincipalSid("johndoe"))); Assert.assertTrue(principalSid.equals(new PrincipalSid("johndoe")));
Assert.assertFalse(principalSid.equals(new PrincipalSid("scott"))); Assert.assertFalse(principalSid.equals(new PrincipalSid("scott")));
} }
public void testGrantedAuthoritySidEquals() { public void testGrantedAuthoritySidEquals() {
GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST"); GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST");
Sid gaSid = new GrantedAuthoritySid(ga); Sid gaSid = new GrantedAuthoritySid(ga);
Assert.assertFalse(gaSid.equals(null)); Assert.assertFalse(gaSid.equals(null));
Assert.assertFalse(gaSid.equals("DIFFERENT_TYPE_OBJECT")); Assert.assertFalse(gaSid.equals("DIFFERENT_TYPE_OBJECT"));
Assert.assertTrue(gaSid.equals(gaSid)); Assert.assertTrue(gaSid.equals(gaSid));
Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid(ga))); Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid(ga)));
Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_TEST")))); Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_TEST"))));
Assert.assertFalse(gaSid.equals(new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_NOT_EQUAL")))); Assert.assertFalse(gaSid.equals(new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_NOT_EQUAL"))));
Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid("ROLE_TEST"))); Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid("ROLE_TEST")));
Assert.assertFalse(gaSid.equals(new GrantedAuthoritySid("ROLE_NOT_EQUAL"))); Assert.assertFalse(gaSid.equals(new GrantedAuthoritySid("ROLE_NOT_EQUAL")));
} }
public void testPrincipalSidHashCode() { public void testPrincipalSidHashCode() {
Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null); Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null);
Sid principalSid = new PrincipalSid(authentication); Sid principalSid = new PrincipalSid(authentication);
Assert.assertTrue(principalSid.hashCode() == new String("johndoe").hashCode()); Assert.assertTrue(principalSid.hashCode() == new String("johndoe").hashCode());
Assert.assertTrue(principalSid.hashCode() == new PrincipalSid("johndoe").hashCode()); Assert.assertTrue(principalSid.hashCode() == new PrincipalSid("johndoe").hashCode());
Assert.assertTrue(principalSid.hashCode() != new PrincipalSid("scott").hashCode()); Assert.assertTrue(principalSid.hashCode() != new PrincipalSid("scott").hashCode());
Assert.assertTrue(principalSid.hashCode() != new PrincipalSid(new TestingAuthenticationToken("scott", Assert.assertTrue(principalSid.hashCode() != new PrincipalSid(new TestingAuthenticationToken("scott", "password",
"password", null)).hashCode()); null)).hashCode());
} }
public void testGrantedAuthoritySidHashCode() { public void testGrantedAuthoritySidHashCode() {
GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST"); GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST");
Sid gaSid = new GrantedAuthoritySid(ga); Sid gaSid = new GrantedAuthoritySid(ga);
Assert.assertTrue(gaSid.hashCode() == new String("ROLE_TEST").hashCode()); Assert.assertTrue(gaSid.hashCode() == new String("ROLE_TEST").hashCode());
Assert.assertTrue(gaSid.hashCode() == new GrantedAuthoritySid("ROLE_TEST").hashCode()); Assert.assertTrue(gaSid.hashCode() == new GrantedAuthoritySid("ROLE_TEST").hashCode());
Assert.assertTrue(gaSid.hashCode() != new GrantedAuthoritySid("ROLE_TEST_2").hashCode()); Assert.assertTrue(gaSid.hashCode() != new GrantedAuthoritySid("ROLE_TEST_2").hashCode());
Assert.assertTrue(gaSid.hashCode() != new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_TEST_2")) Assert.assertTrue(gaSid.hashCode() != new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_TEST_2")).hashCode());
.hashCode()); }
}
public void testGetters() { public void testGetters() {
Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null); Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null);
PrincipalSid principalSid = new PrincipalSid(authentication); PrincipalSid principalSid = new PrincipalSid(authentication);
GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST"); GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST");
GrantedAuthoritySid gaSid = new GrantedAuthoritySid(ga); GrantedAuthoritySid gaSid = new GrantedAuthoritySid(ga);
Assert.assertTrue("johndoe".equals(principalSid.getPrincipal())); Assert.assertTrue("johndoe".equals(principalSid.getPrincipal()));
Assert.assertFalse("scott".equals(principalSid.getPrincipal())); Assert.assertFalse("scott".equals(principalSid.getPrincipal()));
Assert.assertTrue("ROLE_TEST".equals(gaSid.getGrantedAuthority())); Assert.assertTrue("ROLE_TEST".equals(gaSid.getGrantedAuthority()));
Assert.assertFalse("ROLE_TEST2".equals(gaSid.getGrantedAuthority())); Assert.assertFalse("ROLE_TEST2".equals(gaSid.getGrantedAuthority()));
} }
} }