]> git.mxchange.org Git - friendica-addons.git/blob - dav/SabreDAV/tests/Sabre/DAVACL/PrincipalTest.php
Initial Release of the calendar plugin
[friendica-addons.git] / dav / SabreDAV / tests / Sabre / DAVACL / PrincipalTest.php
1 <?php
2
3 require_once 'Sabre/DAVACL/MockPrincipalBackend.php';
4
5 class Sabre_DAVACL_PrincipalTest extends PHPUnit_Framework_TestCase {
6
7     public function testConstruct() {
8
9         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
10         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
11         $this->assertTrue($principal instanceof Sabre_DAVACL_Principal);
12
13     }
14
15     /**
16      * @expectedException Sabre_DAV_Exception
17      */
18     public function testConstructNoUri() {
19
20         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
21         $principal = new Sabre_DAVACL_Principal($principalBackend, array());
22
23     }
24
25     public function testGetName() {
26
27         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
28         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
29         $this->assertEquals('admin',$principal->getName());
30
31     }
32
33     public function testGetDisplayName() {
34
35         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
36         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
37         $this->assertEquals('admin',$principal->getDisplayname());
38
39         $principal = new Sabre_DAVACL_Principal($principalBackend, array(
40             'uri' => 'principals/admin',
41             '{DAV:}displayname' => 'Mr. Admin'
42         ));
43         $this->assertEquals('Mr. Admin',$principal->getDisplayname());
44
45     }
46
47     public function testGetProperties() {
48
49         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
50         $principal = new Sabre_DAVACL_Principal($principalBackend, array(
51             'uri' => 'principals/admin',
52             '{DAV:}displayname' => 'Mr. Admin',
53             '{http://www.example.org/custom}custom' => 'Custom',
54             '{http://sabredav.org/ns}email-address' => 'admin@example.org',
55         ));
56
57         $keys = array(
58             '{DAV:}displayname',
59             '{http://www.example.org/custom}custom',
60             '{http://sabredav.org/ns}email-address',
61         );
62         $props = $principal->getProperties($keys);
63
64         foreach($keys as $key) $this->assertArrayHasKey($key,$props);
65
66         $this->assertEquals('Mr. Admin',$props['{DAV:}displayname']);
67
68         $this->assertEquals('admin@example.org', $props['{http://sabredav.org/ns}email-address']);
69     }
70
71     public function testUpdateProperties() {
72
73         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
74         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
75         $result = $principal->updateProperties(array('{DAV:}yourmom'=>'test'));
76         $this->assertEquals(true,$result);
77
78     }
79
80     public function testGetPrincipalUrl() {
81
82         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
83         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
84         $this->assertEquals('principals/admin',$principal->getPrincipalUrl());
85
86     }
87
88     public function testGetAlternateUriSet() {
89
90         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
91         $principal = new Sabre_DAVACL_Principal($principalBackend, array(
92             'uri' => 'principals/admin',
93             '{DAV:}displayname' => 'Mr. Admin',
94             '{http://www.example.org/custom}custom' => 'Custom',
95             '{http://sabredav.org/ns}email-address' => 'admin@example.org',
96             '{DAV:}alternate-URI-set' => array(
97                 'mailto:admin+1@example.org',
98                 'mailto:admin+2@example.org',
99                 'mailto:admin@example.org',
100             ),
101         ));
102
103         $expected = array(
104             'mailto:admin+1@example.org',
105             'mailto:admin+2@example.org',
106             'mailto:admin@example.org',
107         );
108
109         $this->assertEquals($expected,$principal->getAlternateUriSet());
110
111     }
112     public function testGetAlternateUriSetEmpty() {
113
114         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
115         $principal = new Sabre_DAVACL_Principal($principalBackend, array(
116             'uri' => 'principals/admin',
117         ));
118
119         $expected = array();
120
121         $this->assertEquals($expected,$principal->getAlternateUriSet());
122
123     }
124
125     public function testGetGroupMemberSet() {
126
127         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
128         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
129         $this->assertEquals(array(),$principal->getGroupMemberSet());
130
131     }
132     public function testGetGroupMembership() {
133
134         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
135         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
136         $this->assertEquals(array(),$principal->getGroupMembership());
137
138     }
139
140     public function testSetGroupMemberSet() {
141
142         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
143         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
144         $principal->setGroupMemberSet(array('principals/foo'));
145
146         $this->assertEquals(array(
147             'principals/admin' => array('principals/foo'),
148         ), $principalBackend->groupMembers);
149
150     }
151
152     public function testGetOwner() {
153
154         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
155         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
156         $this->assertEquals('principals/admin',$principal->getOwner());
157
158     }
159
160     public function testGetGroup() {
161
162         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
163         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
164         $this->assertNull($principal->getGroup());
165
166     }
167
168     public function testGetACl() {
169
170         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
171         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
172         $this->assertEquals(array(
173             array(
174                 'privilege' => '{DAV:}read',
175                 'principal' => 'principals/admin',
176                 'protected' => true,
177             )
178         ),$principal->getACL());
179
180     }
181
182     /**
183      * @expectedException Sabre_DAV_Exception_MethodNotAllowed
184      */
185     public function testSetACl() {
186
187         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
188         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
189         $principal->setACL(array());
190
191     }
192
193     public function testGetSupportedPrivilegeSet() {
194
195         $principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
196         $principal = new Sabre_DAVACL_Principal($principalBackend, array('uri' => 'principals/admin'));
197         $this->assertNull($principal->getSupportedPrivilegeSet());
198
199     }
200
201 }