2013-10-21 22:46:31 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Sabre\DAVACL;
|
|
|
|
|
|
|
|
use Sabre\DAV;
|
|
|
|
use Sabre\HTTP;
|
|
|
|
|
|
|
|
class AllowAccessTest extends \PHPUnit_Framework_TestCase {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @var DAV\Server
|
|
|
|
*/
|
|
|
|
protected $server;
|
|
|
|
|
|
|
|
function setUp() {
|
|
|
|
|
|
|
|
$nodes = array(
|
|
|
|
new DAV\SimpleCollection('testdir'),
|
|
|
|
);
|
|
|
|
|
|
|
|
$this->server = new DAV\Server($nodes);
|
|
|
|
$aclPlugin = new Plugin();
|
|
|
|
$aclPlugin->allowAccessToNodesWithoutACL = true;
|
|
|
|
$this->server->addPlugin($aclPlugin);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testGet() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('GET');
|
|
|
|
$this->server->httpRequest->setUrl('/testdir');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testGetDoesntExist() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('GET');
|
|
|
|
$this->server->httpRequest->setUrl('/foo');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testHEAD() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('HEAD');
|
|
|
|
$this->server->httpRequest->setUrl('/testdir');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testOPTIONS() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('OPTIONS');
|
|
|
|
$this->server->httpRequest->setUrl('/testdir');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testPUT() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('PUT');
|
|
|
|
$this->server->httpRequest->setUrl('/testdir');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testACL() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('ACL');
|
|
|
|
$this->server->httpRequest->setUrl('/testdir');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testPROPPATCH() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('PROPPATCH');
|
|
|
|
$this->server->httpRequest->setUrl('/testdir');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testCOPY() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('COPY');
|
|
|
|
$this->server->httpRequest->setUrl('/testdir');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testMOVE() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('MOVE');
|
|
|
|
$this->server->httpRequest->setUrl('/testdir');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testLOCK() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->server->httpRequest->setMethod('LOCK');
|
|
|
|
$this->server->httpRequest->setUrl('/testdir');
|
|
|
|
|
|
|
|
$this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse]));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function testBeforeBind() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->assertTrue($this->server->emit('beforeBind', ['testdir/file']));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function testBeforeUnbind() {
|
|
|
|
|
2016-05-11 00:26:44 +00:00
|
|
|
$this->assertTrue($this->server->emit('beforeUnbind', ['testdir']));
|
2013-10-21 22:46:31 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|