X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fimpl%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2FAuthorizationServiceTest.java;h=8b1f1e1521b216e0b8db1697921b28fd463757fa;hb=74a6cd5b71b4f668ddac54c3237511ee11e8d84e;hp=78cf3f5982e89291504528a8d07131708f0c1d8d;hpb=5ea8f0e2af53562c1507e8fb5a3ede2af5c5de6c;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..8b1f1e15 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 @@ -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]); } }