forked from friendica/friendica-addons
193 lines
4.8 KiB
PHP
193 lines
4.8 KiB
PHP
|
<?php
|
||
|
|
||
|
abstract class Sabre_DAV_Locks_Backend_AbstractTest extends PHPUnit_Framework_TestCase {
|
||
|
|
||
|
/**
|
||
|
* @abstract
|
||
|
* @return Sabre_DAV_Locks_Backend_Abstract
|
||
|
*/
|
||
|
abstract function getBackend();
|
||
|
|
||
|
function testSetup() {
|
||
|
|
||
|
$backend = $this->getBackend();
|
||
|
$this->assertInstanceOf('Sabre_DAV_Locks_Backend_Abstract', $backend);
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testSetup
|
||
|
*/
|
||
|
function testGetLocks() {
|
||
|
|
||
|
$backend = $this->getBackend();
|
||
|
|
||
|
$lock = new Sabre_DAV_Locks_LockInfo();
|
||
|
$lock->owner = 'Sinterklaas';
|
||
|
$lock->timeout = 60;
|
||
|
$lock->created = time();
|
||
|
$lock->token = 'MY-UNIQUE-TOKEN';
|
||
|
$lock->uri ='someuri';
|
||
|
|
||
|
$this->assertTrue($backend->lock('someuri', $lock));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri', false);
|
||
|
|
||
|
$this->assertEquals(1,count($locks));
|
||
|
$this->assertEquals('Sinterklaas',$locks[0]->owner);
|
||
|
$this->assertEquals('someuri',$locks[0]->uri);
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testGetLocks
|
||
|
*/
|
||
|
function testGetLocksParent() {
|
||
|
|
||
|
$backend = $this->getBackend();
|
||
|
|
||
|
$lock = new Sabre_DAV_Locks_LockInfo();
|
||
|
$lock->owner = 'Sinterklaas';
|
||
|
$lock->timeout = 60;
|
||
|
$lock->created = time();
|
||
|
$lock->depth = Sabre_DAV_Server::DEPTH_INFINITY;
|
||
|
$lock->token = 'MY-UNIQUE-TOKEN';
|
||
|
|
||
|
$this->assertTrue($backend->lock('someuri', $lock));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri/child', false);
|
||
|
|
||
|
$this->assertEquals(1,count($locks));
|
||
|
$this->assertEquals('Sinterklaas',$locks[0]->owner);
|
||
|
$this->assertEquals('someuri',$locks[0]->uri);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @depends testGetLocks
|
||
|
*/
|
||
|
function testGetLocksParentDepth0() {
|
||
|
|
||
|
$backend = $this->getBackend();
|
||
|
|
||
|
$lock = new Sabre_DAV_Locks_LockInfo();
|
||
|
$lock->owner = 'Sinterklaas';
|
||
|
$lock->timeout = 60;
|
||
|
$lock->created = time();
|
||
|
$lock->depth = 0;
|
||
|
$lock->token = 'MY-UNIQUE-TOKEN';
|
||
|
|
||
|
$this->assertTrue($backend->lock('someuri', $lock));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri/child', false);
|
||
|
|
||
|
$this->assertEquals(0,count($locks));
|
||
|
|
||
|
}
|
||
|
|
||
|
function testGetLocksChildren() {
|
||
|
|
||
|
$backend = $this->getBackend();
|
||
|
|
||
|
$lock = new Sabre_DAV_Locks_LockInfo();
|
||
|
$lock->owner = 'Sinterklaas';
|
||
|
$lock->timeout = 60;
|
||
|
$lock->created = time();
|
||
|
$lock->depth = 0;
|
||
|
$lock->token = 'MY-UNIQUE-TOKEN';
|
||
|
|
||
|
$this->assertTrue($backend->lock('someuri/child', $lock));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri/child', false);
|
||
|
$this->assertEquals(1,count($locks));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri', false);
|
||
|
$this->assertEquals(0,count($locks));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri', true);
|
||
|
$this->assertEquals(1,count($locks));
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testGetLocks
|
||
|
*/
|
||
|
function testLockRefresh() {
|
||
|
|
||
|
$backend = $this->getBackend();
|
||
|
|
||
|
$lock = new Sabre_DAV_Locks_LockInfo();
|
||
|
$lock->owner = 'Sinterklaas';
|
||
|
$lock->timeout = 60;
|
||
|
$lock->created = time();
|
||
|
$lock->token = 'MY-UNIQUE-TOKEN';
|
||
|
|
||
|
$this->assertTrue($backend->lock('someuri', $lock));
|
||
|
/* Second time */
|
||
|
|
||
|
$lock->owner = 'Santa Clause';
|
||
|
$this->assertTrue($backend->lock('someuri', $lock));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri', false);
|
||
|
|
||
|
$this->assertEquals(1,count($locks));
|
||
|
|
||
|
$this->assertEquals('Santa Clause',$locks[0]->owner);
|
||
|
$this->assertEquals('someuri',$locks[0]->uri);
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testGetLocks
|
||
|
*/
|
||
|
function testUnlock() {
|
||
|
|
||
|
$backend = $this->getBackend();
|
||
|
|
||
|
$lock = new Sabre_DAV_Locks_LockInfo();
|
||
|
$lock->owner = 'Sinterklaas';
|
||
|
$lock->timeout = 60;
|
||
|
$lock->created = time();
|
||
|
$lock->token = 'MY-UNIQUE-TOKEN';
|
||
|
|
||
|
$this->assertTrue($backend->lock('someuri', $lock));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri', false);
|
||
|
$this->assertEquals(1,count($locks));
|
||
|
|
||
|
$this->assertTrue($backend->unlock('someuri',$lock));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri', false);
|
||
|
$this->assertEquals(0,count($locks));
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testUnlock
|
||
|
*/
|
||
|
function testUnlockUnknownToken() {
|
||
|
|
||
|
$backend = $this->getBackend();
|
||
|
|
||
|
$lock = new Sabre_DAV_Locks_LockInfo();
|
||
|
$lock->owner = 'Sinterklaas';
|
||
|
$lock->timeout = 60;
|
||
|
$lock->created = time();
|
||
|
$lock->token = 'MY-UNIQUE-TOKEN';
|
||
|
|
||
|
$this->assertTrue($backend->lock('someuri', $lock));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri', false);
|
||
|
$this->assertEquals(1,count($locks));
|
||
|
|
||
|
$lock->token = 'SOME-OTHER-TOKEN';
|
||
|
$this->assertFalse($backend->unlock('someuri',$lock));
|
||
|
|
||
|
$locks = $backend->getLocks('someuri', false);
|
||
|
$this->assertEquals(1,count($locks));
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|