]> git.mxchange.org Git - friendica-addons.git/blob - dav/SabreDAV/tests/Sabre/DAV/Locks/Backend/AbstractTest.php
3fecac43fa322532a2a02ca10b11bb19cd469255
[friendica-addons.git] / dav / SabreDAV / tests / Sabre / DAV / Locks / Backend / AbstractTest.php
1 <?php
2
3 abstract class Sabre_DAV_Locks_Backend_AbstractTest extends PHPUnit_Framework_TestCase {
4
5     /**
6      * @abstract
7      * @return Sabre_DAV_Locks_Backend_Abstract
8      */
9     abstract function getBackend();
10
11     function testSetup() {
12
13        $backend = $this->getBackend();
14        $this->assertInstanceOf('Sabre_DAV_Locks_Backend_Abstract', $backend);
15
16     }
17
18     /**
19      * @depends testSetup
20      */
21     function testGetLocks() {
22
23         $backend = $this->getBackend();
24
25         $lock = new Sabre_DAV_Locks_LockInfo();
26         $lock->owner = 'Sinterklaas';
27         $lock->timeout = 60;
28         $lock->created = time();
29         $lock->token = 'MY-UNIQUE-TOKEN';
30         $lock->uri ='someuri';
31
32         $this->assertTrue($backend->lock('someuri', $lock));
33
34         $locks = $backend->getLocks('someuri', false);
35
36         $this->assertEquals(1,count($locks));
37         $this->assertEquals('Sinterklaas',$locks[0]->owner);
38         $this->assertEquals('someuri',$locks[0]->uri);
39
40     }
41
42     /**
43      * @depends testGetLocks
44      */
45     function testGetLocksParent() {
46
47         $backend = $this->getBackend();
48
49         $lock = new Sabre_DAV_Locks_LockInfo();
50         $lock->owner = 'Sinterklaas';
51         $lock->timeout = 60;
52         $lock->created = time();
53         $lock->depth = Sabre_DAV_Server::DEPTH_INFINITY;
54         $lock->token = 'MY-UNIQUE-TOKEN';
55
56         $this->assertTrue($backend->lock('someuri', $lock));
57
58         $locks = $backend->getLocks('someuri/child', false);
59
60         $this->assertEquals(1,count($locks));
61         $this->assertEquals('Sinterklaas',$locks[0]->owner);
62         $this->assertEquals('someuri',$locks[0]->uri);
63
64     }
65
66
67     /**
68      * @depends testGetLocks
69      */
70     function testGetLocksParentDepth0() {
71
72         $backend = $this->getBackend();
73
74         $lock = new Sabre_DAV_Locks_LockInfo();
75         $lock->owner = 'Sinterklaas';
76         $lock->timeout = 60;
77         $lock->created = time();
78         $lock->depth = 0;
79         $lock->token = 'MY-UNIQUE-TOKEN';
80
81         $this->assertTrue($backend->lock('someuri', $lock));
82
83         $locks = $backend->getLocks('someuri/child', false);
84
85         $this->assertEquals(0,count($locks));
86
87     }
88
89     function testGetLocksChildren() {
90
91         $backend = $this->getBackend();
92
93         $lock = new Sabre_DAV_Locks_LockInfo();
94         $lock->owner = 'Sinterklaas';
95         $lock->timeout = 60;
96         $lock->created = time();
97         $lock->depth = 0;
98         $lock->token = 'MY-UNIQUE-TOKEN';
99
100         $this->assertTrue($backend->lock('someuri/child', $lock));
101
102         $locks = $backend->getLocks('someuri/child', false);
103         $this->assertEquals(1,count($locks));
104
105         $locks = $backend->getLocks('someuri', false);
106         $this->assertEquals(0,count($locks));
107
108         $locks = $backend->getLocks('someuri', true);
109         $this->assertEquals(1,count($locks));
110
111     }
112
113     /**
114      * @depends testGetLocks
115      */
116     function testLockRefresh() {
117
118         $backend = $this->getBackend();
119
120         $lock = new Sabre_DAV_Locks_LockInfo();
121         $lock->owner = 'Sinterklaas';
122         $lock->timeout = 60;
123         $lock->created = time();
124         $lock->token = 'MY-UNIQUE-TOKEN';
125
126         $this->assertTrue($backend->lock('someuri', $lock));
127         /* Second time */
128
129         $lock->owner = 'Santa Clause';
130         $this->assertTrue($backend->lock('someuri', $lock));
131
132         $locks = $backend->getLocks('someuri', false);
133
134         $this->assertEquals(1,count($locks));
135
136         $this->assertEquals('Santa Clause',$locks[0]->owner);
137         $this->assertEquals('someuri',$locks[0]->uri);
138
139     }
140
141     /**
142      * @depends testGetLocks
143      */
144     function testUnlock() {
145
146         $backend = $this->getBackend();
147
148         $lock = new Sabre_DAV_Locks_LockInfo();
149         $lock->owner = 'Sinterklaas';
150         $lock->timeout = 60;
151         $lock->created = time();
152         $lock->token = 'MY-UNIQUE-TOKEN';
153
154         $this->assertTrue($backend->lock('someuri', $lock));
155
156         $locks = $backend->getLocks('someuri', false);
157         $this->assertEquals(1,count($locks));
158
159         $this->assertTrue($backend->unlock('someuri',$lock));
160
161         $locks = $backend->getLocks('someuri', false);
162         $this->assertEquals(0,count($locks));
163
164     }
165
166     /**
167      * @depends testUnlock
168      */
169     function testUnlockUnknownToken() {
170
171         $backend = $this->getBackend();
172
173         $lock = new Sabre_DAV_Locks_LockInfo();
174         $lock->owner = 'Sinterklaas';
175         $lock->timeout = 60;
176         $lock->created = time();
177         $lock->token = 'MY-UNIQUE-TOKEN';
178
179         $this->assertTrue($backend->lock('someuri', $lock));
180
181         $locks = $backend->getLocks('someuri', false);
182         $this->assertEquals(1,count($locks));
183
184         $lock->token = 'SOME-OTHER-TOKEN';
185         $this->assertFalse($backend->unlock('someuri',$lock));
186
187         $locks = $backend->getLocks('someuri', false);
188         $this->assertEquals(1,count($locks));
189
190     }
191
192 }