3 abstract class Sabre_DAV_Locks_Backend_AbstractTest extends PHPUnit_Framework_TestCase {
7 * @return Sabre_DAV_Locks_Backend_Abstract
9 abstract function getBackend();
11 function testSetup() {
13 $backend = $this->getBackend();
14 $this->assertInstanceOf('Sabre_DAV_Locks_Backend_Abstract', $backend);
21 function testGetLocks() {
23 $backend = $this->getBackend();
25 $lock = new Sabre_DAV_Locks_LockInfo();
26 $lock->owner = 'Sinterklaas';
28 $lock->created = time();
29 $lock->token = 'MY-UNIQUE-TOKEN';
30 $lock->uri ='someuri';
32 $this->assertTrue($backend->lock('someuri', $lock));
34 $locks = $backend->getLocks('someuri', false);
36 $this->assertEquals(1,count($locks));
37 $this->assertEquals('Sinterklaas',$locks[0]->owner);
38 $this->assertEquals('someuri',$locks[0]->uri);
43 * @depends testGetLocks
45 function testGetLocksParent() {
47 $backend = $this->getBackend();
49 $lock = new Sabre_DAV_Locks_LockInfo();
50 $lock->owner = 'Sinterklaas';
52 $lock->created = time();
53 $lock->depth = Sabre_DAV_Server::DEPTH_INFINITY;
54 $lock->token = 'MY-UNIQUE-TOKEN';
56 $this->assertTrue($backend->lock('someuri', $lock));
58 $locks = $backend->getLocks('someuri/child', false);
60 $this->assertEquals(1,count($locks));
61 $this->assertEquals('Sinterklaas',$locks[0]->owner);
62 $this->assertEquals('someuri',$locks[0]->uri);
68 * @depends testGetLocks
70 function testGetLocksParentDepth0() {
72 $backend = $this->getBackend();
74 $lock = new Sabre_DAV_Locks_LockInfo();
75 $lock->owner = 'Sinterklaas';
77 $lock->created = time();
79 $lock->token = 'MY-UNIQUE-TOKEN';
81 $this->assertTrue($backend->lock('someuri', $lock));
83 $locks = $backend->getLocks('someuri/child', false);
85 $this->assertEquals(0,count($locks));
89 function testGetLocksChildren() {
91 $backend = $this->getBackend();
93 $lock = new Sabre_DAV_Locks_LockInfo();
94 $lock->owner = 'Sinterklaas';
96 $lock->created = time();
98 $lock->token = 'MY-UNIQUE-TOKEN';
100 $this->assertTrue($backend->lock('someuri/child', $lock));
102 $locks = $backend->getLocks('someuri/child', false);
103 $this->assertEquals(1,count($locks));
105 $locks = $backend->getLocks('someuri', false);
106 $this->assertEquals(0,count($locks));
108 $locks = $backend->getLocks('someuri', true);
109 $this->assertEquals(1,count($locks));
114 * @depends testGetLocks
116 function testLockRefresh() {
118 $backend = $this->getBackend();
120 $lock = new Sabre_DAV_Locks_LockInfo();
121 $lock->owner = 'Sinterklaas';
123 $lock->created = time();
124 $lock->token = 'MY-UNIQUE-TOKEN';
126 $this->assertTrue($backend->lock('someuri', $lock));
129 $lock->owner = 'Santa Clause';
130 $this->assertTrue($backend->lock('someuri', $lock));
132 $locks = $backend->getLocks('someuri', false);
134 $this->assertEquals(1,count($locks));
136 $this->assertEquals('Santa Clause',$locks[0]->owner);
137 $this->assertEquals('someuri',$locks[0]->uri);
142 * @depends testGetLocks
144 function testUnlock() {
146 $backend = $this->getBackend();
148 $lock = new Sabre_DAV_Locks_LockInfo();
149 $lock->owner = 'Sinterklaas';
151 $lock->created = time();
152 $lock->token = 'MY-UNIQUE-TOKEN';
154 $this->assertTrue($backend->lock('someuri', $lock));
156 $locks = $backend->getLocks('someuri', false);
157 $this->assertEquals(1,count($locks));
159 $this->assertTrue($backend->unlock('someuri',$lock));
161 $locks = $backend->getLocks('someuri', false);
162 $this->assertEquals(0,count($locks));
167 * @depends testUnlock
169 function testUnlockUnknownToken() {
171 $backend = $this->getBackend();
173 $lock = new Sabre_DAV_Locks_LockInfo();
174 $lock->owner = 'Sinterklaas';
176 $lock->created = time();
177 $lock->token = 'MY-UNIQUE-TOKEN';
179 $this->assertTrue($backend->lock('someuri', $lock));
181 $locks = $backend->getLocks('someuri', false);
182 $this->assertEquals(1,count($locks));
184 $lock->token = 'SOME-OTHER-TOKEN';
185 $this->assertFalse($backend->unlock('someuri',$lock));
187 $locks = $backend->getLocks('someuri', false);
188 $this->assertEquals(1,count($locks));