]> git.mxchange.org Git - friendica-addons.git/blob - dav/SabreDAV/tests/Sabre/DAVACL/Property/PrincipalTest.php
3f8592e80799184a71930e18ca308a48d85eba86
[friendica-addons.git] / dav / SabreDAV / tests / Sabre / DAVACL / Property / PrincipalTest.php
1 <?php
2
3 class Sabre_DAVACL_Property_PrincipalTest extends PHPUnit_Framework_TestCase {
4
5     function testSimple() {
6
7         $principal = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::UNAUTHENTICATED);
8         $this->assertEquals(Sabre_DAVACL_Property_Principal::UNAUTHENTICATED, $principal->getType());
9         $this->assertNull($principal->getHref());
10
11         $principal = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::AUTHENTICATED);
12         $this->assertEquals(Sabre_DAVACL_Property_Principal::AUTHENTICATED, $principal->getType());
13         $this->assertNull($principal->getHref());
14
15         $principal = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::HREF,'admin');
16         $this->assertEquals(Sabre_DAVACL_Property_Principal::HREF, $principal->getType());
17         $this->assertEquals('admin',$principal->getHref());
18
19     }
20
21     /**
22      * @depends testSimple
23      * @expectedException Sabre_DAV_Exception
24      */
25     function testNoHref() {
26
27         $principal = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::HREF);
28
29     }
30
31     /**
32      * @depends testSimple
33      */
34     function testSerializeUnAuthenticated() {
35
36         $prin = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::UNAUTHENTICATED);
37
38         $doc = new DOMDocument();
39         $root = $doc->createElement('d:principal');
40         $root->setAttribute('xmlns:d','DAV:');
41
42         $doc->appendChild($root);
43         $objectTree = new Sabre_DAV_ObjectTree(new Sabre_DAV_SimpleCollection('rootdir'));
44         $server = new Sabre_DAV_Server($objectTree);
45
46         $prin->serialize($server, $root);
47
48         $xml = $doc->saveXML();
49
50         $this->assertEquals(
51 '<?xml version="1.0"?>
52 <d:principal xmlns:d="DAV:">' .
53 '<d:unauthenticated/>' .
54 '</d:principal>
55 ', $xml);
56
57     }
58
59
60     /**
61      * @depends testSerializeUnAuthenticated
62      */
63     function testSerializeAuthenticated() {
64
65         $prin = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::AUTHENTICATED);
66
67         $doc = new DOMDocument();
68         $root = $doc->createElement('d:principal');
69         $root->setAttribute('xmlns:d','DAV:');
70
71         $doc->appendChild($root);
72         $objectTree = new Sabre_DAV_ObjectTree(new Sabre_DAV_SimpleCollection('rootdir'));
73         $server = new Sabre_DAV_Server($objectTree);
74
75         $prin->serialize($server, $root);
76
77         $xml = $doc->saveXML();
78
79         $this->assertEquals(
80 '<?xml version="1.0"?>
81 <d:principal xmlns:d="DAV:">' .
82 '<d:authenticated/>' .
83 '</d:principal>
84 ', $xml);
85
86     }
87
88
89     /**
90      * @depends testSerializeUnAuthenticated
91      */
92     function testSerializeHref() {
93
94         $prin = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::HREF,'principals/admin');
95
96         $doc = new DOMDocument();
97         $root = $doc->createElement('d:principal');
98         $root->setAttribute('xmlns:d','DAV:');
99
100         $doc->appendChild($root);
101         $objectTree = new Sabre_DAV_ObjectTree(new Sabre_DAV_SimpleCollection('rootdir'));
102         $server = new Sabre_DAV_Server($objectTree);
103
104         $prin->serialize($server, $root);
105
106         $xml = $doc->saveXML();
107
108         $this->assertEquals(
109 '<?xml version="1.0"?>
110 <d:principal xmlns:d="DAV:">' .
111 '<d:href>/principals/admin</d:href>' .
112 '</d:principal>
113 ', $xml);
114
115     }
116
117     function testUnserializeHref() {
118
119         $xml = '<?xml version="1.0"?>
120 <d:principal xmlns:d="DAV:">' .
121 '<d:href>/principals/admin</d:href>' .
122 '</d:principal>';
123
124         $dom = Sabre_DAV_XMLUtil::loadDOMDocument($xml);
125
126         $principal = Sabre_DAVACL_Property_Principal::unserialize($dom->firstChild);
127         $this->assertEquals(Sabre_DAVACL_Property_Principal::HREF, $principal->getType());
128         $this->assertEquals('/principals/admin', $principal->getHref());
129
130     }
131
132     function testUnserializeAuthenticated() {
133
134         $xml = '<?xml version="1.0"?>
135 <d:principal xmlns:d="DAV:">' .
136 '  <d:authenticated />' .
137 '</d:principal>';
138
139         $dom = Sabre_DAV_XMLUtil::loadDOMDocument($xml);
140
141         $principal = Sabre_DAVACL_Property_Principal::unserialize($dom->firstChild);
142         $this->assertEquals(Sabre_DAVACL_Property_Principal::AUTHENTICATED, $principal->getType());
143
144     }
145
146     function testUnserializeUnauthenticated() {
147
148         $xml = '<?xml version="1.0"?>
149 <d:principal xmlns:d="DAV:">' .
150 '  <d:unauthenticated />' .
151 '</d:principal>';
152
153         $dom = Sabre_DAV_XMLUtil::loadDOMDocument($xml);
154
155         $principal = Sabre_DAVACL_Property_Principal::unserialize($dom->firstChild);
156         $this->assertEquals(Sabre_DAVACL_Property_Principal::UNAUTHENTICATED, $principal->getType());
157
158     }
159
160     /**
161      * @expectedException Sabre_DAV_Exception_BadRequest
162      */
163     function testUnserializeUnknown() {
164
165         $xml = '<?xml version="1.0"?>
166 <d:principal xmlns:d="DAV:">' .
167 '  <d:foo />' .
168 '</d:principal>';
169
170         $dom = Sabre_DAV_XMLUtil::loadDOMDocument($xml);
171
172         Sabre_DAVACL_Property_Principal::unserialize($dom->firstChild);
173
174     }
175
176 }