X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fimpl%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2FAuthorizationServiceTest.java;h=4fbef86e0c2ad11ed8add64c2fe042cdeefe9352;hb=ca06b860025bad8d605ea2260164e8a2bb242d2b;hp=78cf3f5982e89291504528a8d07131708f0c1d8d;hpb=4565fa62b5e77ce0ffbac381bc0ef1813da94af7;p=utils diff --git a/security/impl/src/test/java/org/wamblee/security/authorization/AuthorizationServiceTest.java b/security/impl/src/test/java/org/wamblee/security/authorization/AuthorizationServiceTest.java index 78cf3f59..4fbef86e 100644 --- a/security/impl/src/test/java/org/wamblee/security/authorization/AuthorizationServiceTest.java +++ b/security/impl/src/test/java/org/wamblee/security/authorization/AuthorizationServiceTest.java @@ -19,7 +19,7 @@ import junit.framework.TestCase; import static org.wamblee.security.authorization.AuthorizationResult.DENIED; import static org.wamblee.security.authorization.AuthorizationResult.GRANTED; -import org.wamblee.usermgt.UserAccessor; +import org.wamblee.security.authentication.UserAccessor; /** * Tests the authorization service. @@ -27,11 +27,11 @@ import org.wamblee.usermgt.UserAccessor; * @author Erik Brakkee */ public class AuthorizationServiceTest extends TestCase { - private AuthorizationRule rule1; + private AbstractAuthorizationRule rule1; - private AuthorizationRule rule2; + private AbstractAuthorizationRule rule2; - private AuthorizationRule rule3; + private AbstractAuthorizationRule rule3; private AuthorizationService service; @@ -56,6 +56,7 @@ public class AuthorizationServiceTest extends TestCase { service.appendRule(rule1); service.appendRule(rule2); service.appendRule(rule3); + checkRuleCount(3); } protected void resetTestRules() { @@ -80,13 +81,15 @@ public class AuthorizationServiceTest extends TestCase { return service; } - protected AuthorizationRule createRule(AuthorizationResult aResult, + protected AbstractAuthorizationRule createRule(AuthorizationResult aResult, String aGroup, String aPath, Class aOperation) { return new TestAuthorizationRule(aResult, aGroup, aPath, aOperation); } protected void checkMatchCount(int aCount, AuthorizationRule aRule) { - assertEquals(aCount, ((TestAuthorizationRule) aRule).getMatchCount()); + TestAuthorizationRule testRule = (TestAuthorizationRule) aRule; + assertEquals(aCount, testRule.getMatchCount()); + testRule.reset(); } protected Object createResource(String aPath) { @@ -103,18 +106,18 @@ public class AuthorizationServiceTest extends TestCase { public void testFirstRuleGrants() { assertTrue(service.isAllowed(createResource("/oni/xyz.jpg"), new ReadOperation())); - checkMatchCount(1, rule1); + checkMatchCount(1, service.getRules()[0]); assertTrue(service.isAllowed(createResource("/oni/xyz.jpg"), new WriteOperation())); - checkMatchCount(2, rule1); + checkMatchCount(1, service.getRules()[0]); assertTrue(service.isAllowed(createResource("/oni/xyz.jpg"), new DeleteOperation())); - checkMatchCount(3, rule1); + checkMatchCount(1, service.getRules()[0]); assertTrue(service.isAllowed(createResource("/oni/xyz.jpg"), new CreateOperation())); - checkMatchCount(4, rule1); - checkMatchCount(0, rule2); - checkMatchCount(0, rule3); + checkMatchCount(1, service.getRules()[0]); + checkMatchCount(0, service.getRules()[1]); + checkMatchCount(0, service.getRules()[2]); } /** @@ -124,9 +127,9 @@ public class AuthorizationServiceTest extends TestCase { public void testSecondRuleDenies() { assertFalse(service.isAllowed(createResource("/abc/xyz.jpg"), new ReadOperation())); - checkMatchCount(0, rule1); - checkMatchCount(1, rule2); - checkMatchCount(0, rule3); + checkMatchCount(0, service.getRules()[0]); + checkMatchCount(1, service.getRules()[1]); + checkMatchCount(0, service.getRules()[2]); } /** @@ -136,9 +139,9 @@ public class AuthorizationServiceTest extends TestCase { public void testThirdRuleGrants() { assertTrue(service.isAllowed(createResource("/abc/xyz.jpg"), new WriteOperation())); - checkMatchCount(0, rule1); - checkMatchCount(0, rule2); - checkMatchCount(1, rule3); + checkMatchCount(0, service.getRules()[0]); + checkMatchCount(0, service.getRules()[1]); + checkMatchCount(1, service.getRules()[2]); } /** @@ -182,8 +185,8 @@ public class AuthorizationServiceTest extends TestCase { public void testNoRulesSupportResource() { assertFalse(service.isAllowed(createResource("/xyxyxyxy"), new ReadOperation())); - checkMatchCount(0, rule1); - checkMatchCount(0, rule2); - checkMatchCount(0, rule3); + checkMatchCount(0, service.getRules()[0]); + checkMatchCount(0, service.getRules()[1]); + checkMatchCount(0, service.getRules()[2]); } }