3 require_once 'Sabre/DAVACL/MockACLNode.php';
4 require_once 'Sabre/DAV/Auth/MockBackend.php';
5 require_once 'Sabre/HTTP/ResponseMock.php';
6 require_once 'Sabre/DAVACL/MockPrincipalBackend.php';
8 class Sabre_DAVACL_PluginAdminTest extends PHPUnit_Framework_TestCase {
10 function testNoAdminAccess() {
12 $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
15 new Sabre_DAVACL_MockACLNode('adminonly', array()),
16 new Sabre_DAVACL_PrincipalCollection($principalBackend),
19 $fakeServer = new Sabre_DAV_Server($tree);
20 $plugin = new Sabre_DAV_Auth_Plugin(new Sabre_DAV_Auth_MockBackend(),'realm');
21 $fakeServer->addPlugin($plugin);
22 $plugin = new Sabre_DAVACL_Plugin();
23 $fakeServer->addPlugin($plugin);
25 $request = new Sabre_HTTP_Request(array(
26 'REQUEST_METHOD' => 'OPTIONS',
28 'REQUEST_URI' => '/adminonly',
31 $response = new Sabre_HTTP_ResponseMock();
33 $fakeServer->httpRequest = $request;
34 $fakeServer->httpResponse = $response;
38 $this->assertEquals('HTTP/1.1 403 Forbidden', $response->status);
43 * @depends testNoAdminAccess
45 function testAdminAccess() {
47 $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
50 new Sabre_DAVACL_MockACLNode('adminonly', array()),
51 new Sabre_DAVACL_PrincipalCollection($principalBackend),
54 $fakeServer = new Sabre_DAV_Server($tree);
55 $plugin = new Sabre_DAV_Auth_Plugin(new Sabre_DAV_Auth_MockBackend(),'realm');
56 $fakeServer->addPlugin($plugin);
57 $plugin = new Sabre_DAVACL_Plugin();
58 $plugin->adminPrincipals = array(
61 $fakeServer->addPlugin($plugin);
63 $request = new Sabre_HTTP_Request(array(
64 'REQUEST_METHOD' => 'OPTIONS',
66 'REQUEST_URI' => '/adminonly',
69 $response = new Sabre_HTTP_ResponseMock();
71 $fakeServer->httpRequest = $request;
72 $fakeServer->httpResponse = $response;
76 $this->assertEquals('HTTP/1.1 200 OK', $response->status);