17 import(
'lib.pkp.tests.classes.security.authorization.PolicyTestCase');
18 import(
'lib.pkp.classes.security.authorization.AuthorizationDecisionManager');
19 import(
'lib.pkp.classes.security.authorization.RoleBasedHandlerOperationPolicy');
21 define(
'ROLE_ID_TEST_2', 0x8888);
22 define(
'ROLE_ID_NON_AUTHORIZED', 0x7777);
23 define(
'ROLE_ID_OCS_MANAGERIAL_ROLE', 0x6666);
32 $userRoles = array(ROLE_ID_SITE_ADMIN, ROLE_ID_TEST);
37 $rolePolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
41 $decisionManager->addPolicy($rolePolicy);
42 self::assertEquals(AUTHORIZATION_PERMIT, $decisionManager->decide());
45 $rolePolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
49 $decisionManager->addPolicy($rolePolicy);
50 self::assertEquals(AUTHORIZATION_DENY, $decisionManager->decide());
54 $rolePolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
58 $decisionManager->addPolicy($rolePolicy);
59 self::assertEquals(AUTHORIZATION_DENY, $decisionManager->decide());
63 $rolePolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
65 $rolePolicy->addPolicy(
new RoleBasedHandlerOperationPolicy($request, array(ROLE_ID_SITE_ADMIN, ROLE_ID_TEST),
'permittedOperation',
'some.message',
true));
67 $decisionManager->addPolicy($rolePolicy);
68 self::assertEquals(AUTHORIZATION_PERMIT, $decisionManager->decide());
72 $rolePolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
74 $rolePolicy->addPolicy(
new RoleBasedHandlerOperationPolicy($request, array(ROLE_ID_TEST, ROLE_ID_SITE_ADMIN, ROLE_ID_NON_AUTHORIZED),
'permittedOperation',
'some.message',
true,
false));
76 $decisionManager->addPolicy($rolePolicy);
77 self::assertEquals(AUTHORIZATION_DENY, $decisionManager->decide());