Open Journal Systems  3.3.0
PolicySetTest.php
1 <?php
2 
17 import('lib.pkp.tests.PKPTestCase');
18 import('lib.pkp.classes.security.authorization.PolicySet');
19 import('lib.pkp.classes.security.authorization.AuthorizationPolicy');
20 
21 class PolicySetTest extends PKPTestCase {
25  public function testPolicySet() {
26  // Test combining algorithm and default effect.
27  $policySet = new PolicySet();
28  self::assertEquals(COMBINING_DENY_OVERRIDES, $policySet->getCombiningAlgorithm());
29  self::assertEquals(AUTHORIZATION_DENY, $policySet->getEffectIfNoPolicyApplies());
30  $policySet = new PolicySet(COMBINING_PERMIT_OVERRIDES);
31  $policySet->setEffectIfNoPolicyApplies(AUTHORIZATION_PERMIT);
32  self::assertEquals(COMBINING_PERMIT_OVERRIDES, $policySet->getCombiningAlgorithm());
33  self::assertEquals(AUTHORIZATION_PERMIT, $policySet->getEffectIfNoPolicyApplies());
34 
35  // Test adding policies.
36  $policySet->addPolicy($policy1 = new AuthorizationPolicy('policy1'));
37  $policySet->addPolicy($policy2 = new AuthorizationPolicy('policy2'));
38  $policySet->addPolicy($policy3 = new AuthorizationPolicy('policy3'), $addToTop = true);
39  self::assertEquals(array($policy3, $policy1, $policy2), $policySet->getPolicies());
40  }
41 }
42 
PolicySetTest
Test class for the PolicySet class.
Definition: PolicySetTest.php:21
PKPTestCase
Class that implements functionality common to all PKP unit test cases.
Definition: PKPTestCase.inc.php:27
PolicySetTest\testPolicySet
testPolicySet()
Definition: PolicySetTest.php:25
AuthorizationPolicy
Class to represent an authorization policy.
Definition: AuthorizationPolicy.inc.php:31
PolicySet
An ordered list of policies. Policy sets can be added to decision managers like policies....
Definition: PolicySet.inc.php:26