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

@ -5,14 +5,14 @@ import junit.framework.TestCase;
/** /**
* Tests for {@link AclFormattingUtils}. * Tests for {@link AclFormattingUtils}.
* *
* @author Andrei Stefan * @author Andrei Stefan
*/ */
public class AclFormattingUtilsTests extends TestCase { 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() {
// Check one String-argument constructor
try {
String string = null;
Sid principalSid = new PrincipalSid(string);
Assert.fail("It should have thrown IllegalArgumentException");
}
catch (IllegalArgumentException expected) {
Assert.assertTrue(true);
}
try { public void testPrincipalSidConstructorsRequiredFields() {
Sid principalSid = new PrincipalSid(""); // Check one String-argument constructor
Assert.fail("It should have thrown IllegalArgumentException"); try {
} String string = null;
catch (IllegalArgumentException expected) { Sid principalSid = new PrincipalSid(string);
Assert.assertTrue(true); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) {
Assert.assertTrue(true);
}
try { try {
Sid principalSid = new PrincipalSid("johndoe"); Sid principalSid = new PrincipalSid("");
Assert.assertTrue(true); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException notExpected) { catch (IllegalArgumentException expected) {
Assert.fail("It shouldn't have thrown IllegalArgumentException"); Assert.assertTrue(true);
} }
// Check one Authentication-argument constructor try {
try { Sid principalSid = new PrincipalSid("johndoe");
Authentication authentication = null; Assert.assertTrue(true);
Sid principalSid = new PrincipalSid(authentication); }
Assert.fail("It should have thrown IllegalArgumentException"); catch (IllegalArgumentException notExpected) {
} Assert.fail("It shouldn't have thrown IllegalArgumentException");
catch (IllegalArgumentException expected) { }
Assert.assertTrue(true);
}
try { // Check one Authentication-argument constructor
Authentication authentication = new TestingAuthenticationToken(null, "password", null); try {
Sid principalSid = new PrincipalSid(authentication); Authentication authentication = null;
Assert.fail("It should have thrown IllegalArgumentException"); Sid principalSid = new PrincipalSid(authentication);
} Assert.fail("It should have thrown IllegalArgumentException");
catch (IllegalArgumentException expected) { }
Assert.assertTrue(true); catch (IllegalArgumentException expected) {
} Assert.assertTrue(true);
}
try { try {
Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null); Authentication authentication = new TestingAuthenticationToken(null, "password", null);
Sid principalSid = new PrincipalSid(authentication); Sid principalSid = new PrincipalSid(authentication);
Assert.assertTrue(true); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException notExpected) { catch (IllegalArgumentException expected) {
Assert.fail("It shouldn't have thrown IllegalArgumentException"); Assert.assertTrue(true);
} }
}
public void testGrantedAuthoritySidConstructorsRequiredFields() { try {
// Check one String-argument constructor Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null);
try { Sid principalSid = new PrincipalSid(authentication);
String string = null; Assert.assertTrue(true);
Sid gaSid = new GrantedAuthoritySid(string); }
Assert.fail("It should have thrown IllegalArgumentException"); catch (IllegalArgumentException notExpected) {
} Assert.fail("It shouldn't have thrown IllegalArgumentException");
catch (IllegalArgumentException expected) { }
Assert.assertTrue(true); }
}
try { public void testGrantedAuthoritySidConstructorsRequiredFields() {
Sid gaSid = new GrantedAuthoritySid(""); // Check one String-argument constructor
Assert.fail("It should have thrown IllegalArgumentException"); try {
} String string = null;
catch (IllegalArgumentException expected) { Sid gaSid = new GrantedAuthoritySid(string);
Assert.assertTrue(true); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException expected) {
Assert.assertTrue(true);
}
try { try {
Sid gaSid = new GrantedAuthoritySid("ROLE_TEST"); Sid gaSid = new GrantedAuthoritySid("");
Assert.assertTrue(true); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException notExpected) { catch (IllegalArgumentException expected) {
Assert.fail("It shouldn't have thrown IllegalArgumentException"); Assert.assertTrue(true);
} }
// Check one GrantedAuthority-argument constructor try {
try { Sid gaSid = new GrantedAuthoritySid("ROLE_TEST");
GrantedAuthority ga = null; Assert.assertTrue(true);
Sid gaSid = new GrantedAuthoritySid(ga); }
Assert.fail("It should have thrown IllegalArgumentException"); catch (IllegalArgumentException notExpected) {
} Assert.fail("It shouldn't have thrown IllegalArgumentException");
catch (IllegalArgumentException expected) { }
Assert.assertTrue(true);
}
try { // Check one GrantedAuthority-argument constructor
GrantedAuthority ga = new GrantedAuthorityImpl(null); try {
Sid gaSid = new GrantedAuthoritySid(ga); GrantedAuthority ga = null;
Assert.fail("It should have thrown IllegalArgumentException"); Sid gaSid = new GrantedAuthoritySid(ga);
} Assert.fail("It should have thrown IllegalArgumentException");
catch (IllegalArgumentException expected) { }
Assert.assertTrue(true); catch (IllegalArgumentException expected) {
} Assert.assertTrue(true);
}
try { try {
GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST"); GrantedAuthority ga = new GrantedAuthorityImpl(null);
Sid gaSid = new GrantedAuthoritySid(ga); Sid gaSid = new GrantedAuthoritySid(ga);
Assert.assertTrue(true); Assert.fail("It should have thrown IllegalArgumentException");
} }
catch (IllegalArgumentException notExpected) { catch (IllegalArgumentException expected) {
Assert.fail("It shouldn't have thrown IllegalArgumentException"); Assert.assertTrue(true);
} }
}
public void testPrincipalSidEquals() { try {
Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null); GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST");
Sid principalSid = new PrincipalSid(authentication); Sid gaSid = new GrantedAuthoritySid(ga);
Assert.assertTrue(true);
}
catch (IllegalArgumentException notExpected) {
Assert.fail("It shouldn't have thrown IllegalArgumentException");
}
}
Assert.assertFalse(principalSid.equals(null)); public void testPrincipalSidEquals() {
Assert.assertFalse(principalSid.equals("DIFFERENT_TYPE_OBJECT")); Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null);
Assert.assertTrue(principalSid.equals(principalSid)); Sid principalSid = new PrincipalSid(authentication);
Assert.assertTrue(principalSid.equals(new PrincipalSid(authentication)));
Assert.assertTrue(principalSid.equals(new PrincipalSid(new TestingAuthenticationToken("johndoe", null, null))));
Assert.assertFalse(principalSid.equals(new PrincipalSid(new TestingAuthenticationToken("scott", null, null))));
Assert.assertTrue(principalSid.equals(new PrincipalSid("johndoe")));
Assert.assertFalse(principalSid.equals(new PrincipalSid("scott")));
}
public void testGrantedAuthoritySidEquals() { Assert.assertFalse(principalSid.equals(null));
GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST"); Assert.assertFalse(principalSid.equals("DIFFERENT_TYPE_OBJECT"));
Sid gaSid = new GrantedAuthoritySid(ga); Assert.assertTrue(principalSid.equals(principalSid));
Assert.assertTrue(principalSid.equals(new PrincipalSid(authentication)));
Assert.assertTrue(principalSid.equals(new PrincipalSid(new TestingAuthenticationToken("johndoe", null, null))));
Assert.assertFalse(principalSid.equals(new PrincipalSid(new TestingAuthenticationToken("scott", null, null))));
Assert.assertTrue(principalSid.equals(new PrincipalSid("johndoe")));
Assert.assertFalse(principalSid.equals(new PrincipalSid("scott")));
}
Assert.assertFalse(gaSid.equals(null)); public void testGrantedAuthoritySidEquals() {
Assert.assertFalse(gaSid.equals("DIFFERENT_TYPE_OBJECT")); GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST");
Assert.assertTrue(gaSid.equals(gaSid)); Sid gaSid = new GrantedAuthoritySid(ga);
Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid(ga)));
Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_TEST"))));
Assert.assertFalse(gaSid.equals(new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_NOT_EQUAL"))));
Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid("ROLE_TEST")));
Assert.assertFalse(gaSid.equals(new GrantedAuthoritySid("ROLE_NOT_EQUAL")));
}
public void testPrincipalSidHashCode() { Assert.assertFalse(gaSid.equals(null));
Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null); Assert.assertFalse(gaSid.equals("DIFFERENT_TYPE_OBJECT"));
Sid principalSid = new PrincipalSid(authentication); Assert.assertTrue(gaSid.equals(gaSid));
Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid(ga)));
Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_TEST"))));
Assert.assertFalse(gaSid.equals(new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_NOT_EQUAL"))));
Assert.assertTrue(gaSid.equals(new GrantedAuthoritySid("ROLE_TEST")));
Assert.assertFalse(gaSid.equals(new GrantedAuthoritySid("ROLE_NOT_EQUAL")));
}
Assert.assertTrue(principalSid.hashCode() == new String("johndoe").hashCode()); public void testPrincipalSidHashCode() {
Assert.assertTrue(principalSid.hashCode() == new PrincipalSid("johndoe").hashCode()); Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null);
Assert.assertTrue(principalSid.hashCode() != new PrincipalSid("scott").hashCode()); Sid principalSid = new PrincipalSid(authentication);
Assert.assertTrue(principalSid.hashCode() != new PrincipalSid(new TestingAuthenticationToken("scott",
"password", null)).hashCode());
}
public void testGrantedAuthoritySidHashCode() { Assert.assertTrue(principalSid.hashCode() == new String("johndoe").hashCode());
GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST"); Assert.assertTrue(principalSid.hashCode() == new PrincipalSid("johndoe").hashCode());
Sid gaSid = new GrantedAuthoritySid(ga); Assert.assertTrue(principalSid.hashCode() != new PrincipalSid("scott").hashCode());
Assert.assertTrue(principalSid.hashCode() != new PrincipalSid(new TestingAuthenticationToken("scott", "password",
null)).hashCode());
}
Assert.assertTrue(gaSid.hashCode() == new String("ROLE_TEST").hashCode()); public void testGrantedAuthoritySidHashCode() {
Assert.assertTrue(gaSid.hashCode() == new GrantedAuthoritySid("ROLE_TEST").hashCode()); GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST");
Assert.assertTrue(gaSid.hashCode() != new GrantedAuthoritySid("ROLE_TEST_2").hashCode()); Sid gaSid = new GrantedAuthoritySid(ga);
Assert.assertTrue(gaSid.hashCode() != new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_TEST_2"))
.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_2").hashCode());
public void testGetters() { Assert.assertTrue(gaSid.hashCode() != new GrantedAuthoritySid(new GrantedAuthorityImpl("ROLE_TEST_2")).hashCode());
Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null); }
PrincipalSid principalSid = new PrincipalSid(authentication);
GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST"); public void testGetters() {
GrantedAuthoritySid gaSid = new GrantedAuthoritySid(ga); Authentication authentication = new TestingAuthenticationToken("johndoe", "password", null);
PrincipalSid principalSid = new PrincipalSid(authentication);
Assert.assertTrue("johndoe".equals(principalSid.getPrincipal())); GrantedAuthority ga = new GrantedAuthorityImpl("ROLE_TEST");
Assert.assertFalse("scott".equals(principalSid.getPrincipal())); GrantedAuthoritySid gaSid = new GrantedAuthoritySid(ga);
Assert.assertTrue("ROLE_TEST".equals(gaSid.getGrantedAuthority())); Assert.assertTrue("johndoe".equals(principalSid.getPrincipal()));
Assert.assertFalse("ROLE_TEST2".equals(gaSid.getGrantedAuthority())); Assert.assertFalse("scott".equals(principalSid.getPrincipal()));
}
Assert.assertTrue("ROLE_TEST".equals(gaSid.getGrantedAuthority()));
Assert.assertFalse("ROLE_TEST2".equals(gaSid.getGrantedAuthority()));
}
} }