Open Journal Systems  3.3.0
PKPPublicAccessPolicyTest.php
1 <?php
2 
17 import('lib.pkp.tests.classes.security.authorization.PolicyTestCase');
18 import('lib.pkp.classes.security.authorization.PKPPublicAccessPolicy');
19 
25  public function testPKPPublicAccessPolicy() {
26  // Mock a request to the permitted operation.
27  $request = $this->getMockRequest('permittedOperation');
28 
29  // Instantiate the policy.
30  $policy = new PKPPublicAccessPolicy($request, 'permittedOperation');
31 
32  // Test default message.
33  self::assertEquals('user.authorization.privateOperation', $policy->getAdvice(AUTHORIZATION_ADVICE_DENY_MESSAGE));
34 
35  // Test getters.
36  self::assertEquals($request, $policy->getRequest());
37  self::assertEquals(array('permittedOperation'), $policy->getOperations());
38 
39  // Test the effect with a public operation.
40  self::assertEquals(AUTHORIZATION_PERMIT, $policy->effect());
41 
42  // Test the effect with a private operation
43  $request = $this->getMockRequest('privateOperation');
44  $policy = new PKPPublicAccessPolicy($request, 'permittedOperation');
45  self::assertEquals(AUTHORIZATION_DENY, $policy->effect());
46  }
47 }
48 
PKPPublicAccessPolicy
Class to control access to handler operations based on an operation whitelist.
Definition: PKPPublicAccessPolicy.inc.php:18
PKPPublicAccessPolicyTest\testPKPPublicAccessPolicy
testPKPPublicAccessPolicy()
Definition: PKPPublicAccessPolicyTest.php:25
PKPPublicAccessPolicyTest
Test class for the PKPPublicAccessPolicy class.
Definition: PKPPublicAccessPolicyTest.php:20
PolicyTestCase\getMockRequest
getMockRequest($requestedOp, $context=null, $user=null)
Definition: PolicyTestCase.inc.php:109
PolicyTestCase
Abstract base test class that provides infrastructure for several types of policy tests.
Definition: PolicyTestCase.inc.php:24