aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/tests/Sabre/DAVACL/Property
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/dav/tests/Sabre/DAVACL/Property')
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/Property/ACLRestrictionsTest.php35
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/Property/ACLTest.php335
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/Property/CurrentUserPrivilegeSetTest.php68
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/Property/PrincipalTest.php181
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/Property/SupportedPrivilegeSetTest.php106
5 files changed, 725 insertions, 0 deletions
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Property/ACLRestrictionsTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/ACLRestrictionsTest.php
new file mode 100644
index 000000000..72a2f36a4
--- /dev/null
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/ACLRestrictionsTest.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace Sabre\DAVACL\Property;
+
+use Sabre\DAV;
+use Sabre\HTTP;
+
+class ACLRestrictionsTest extends \PHPUnit_Framework_TestCase {
+
+ function testConstruct() {
+
+ $prop = new AclRestrictions();
+
+ }
+
+ function testSerializeEmpty() {
+
+ $dom = new \DOMDocument('1.0');
+ $root = $dom->createElementNS('DAV:','d:root');
+
+ $dom->appendChild($root);
+
+ $acl = new AclRestrictions();
+ $acl->serialize(new DAV\Server(), $root);
+
+ $xml = $dom->saveXML();
+ $expected = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:"><d:grant-only/><d:no-invert/></d:root>
+';
+ $this->assertEquals($expected, $xml);
+
+ }
+
+
+}
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Property/ACLTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/ACLTest.php
new file mode 100644
index 000000000..7f2014df3
--- /dev/null
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/ACLTest.php
@@ -0,0 +1,335 @@
+<?php
+
+namespace Sabre\DAVACL\Property;
+
+use Sabre\DAV;
+use Sabre\HTTP;
+
+
+class ACLTest extends \PHPUnit_Framework_TestCase {
+
+ function testConstruct() {
+
+ $acl = new Acl(array());
+
+ }
+
+ function testSerializeEmpty() {
+
+ $dom = new \DOMDocument('1.0');
+ $root = $dom->createElementNS('DAV:','d:root');
+
+ $dom->appendChild($root);
+
+ $acl = new Acl(array());
+ $acl->serialize(new DAV\Server(), $root);
+
+ $xml = $dom->saveXML();
+ $expected = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:"/>
+';
+ $this->assertEquals($expected, $xml);
+
+ }
+
+ function testSerialize() {
+
+ $dom = new \DOMDocument('1.0');
+ $root = $dom->createElementNS('DAV:','d:root');
+
+ $dom->appendChild($root);
+
+ $privileges = array(
+ array(
+ 'principal' => 'principals/evert',
+ 'privilege' => '{DAV:}write',
+ 'uri' => 'articles',
+ ),
+ array(
+ 'principal' => 'principals/foo',
+ 'privilege' => '{DAV:}read',
+ 'uri' => 'articles',
+ 'protected' => true,
+ ),
+ );
+
+ $acl = new Acl($privileges);
+ $acl->serialize(new DAV\Server(), $root);
+
+ $dom->formatOutput = true;
+
+ $xml = $dom->saveXML();
+ $expected = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:">
+ <d:ace>
+ <d:principal>
+ <d:href>/principals/evert/</d:href>
+ </d:principal>
+ <d:grant>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:grant>
+ </d:ace>
+ <d:ace>
+ <d:principal>
+ <d:href>/principals/foo/</d:href>
+ </d:principal>
+ <d:grant>
+ <d:privilege>
+ <d:read/>
+ </d:privilege>
+ </d:grant>
+ <d:protected/>
+ </d:ace>
+</d:root>
+';
+ $this->assertEquals($expected, $xml);
+
+ }
+
+ function testSerializeSpecialPrincipals() {
+
+ $dom = new \DOMDocument('1.0');
+ $root = $dom->createElementNS('DAV:','d:root');
+
+ $dom->appendChild($root);
+
+ $privileges = array(
+ array(
+ 'principal' => '{DAV:}authenticated',
+ 'privilege' => '{DAV:}write',
+ 'uri' => 'articles',
+ ),
+ array(
+ 'principal' => '{DAV:}unauthenticated',
+ 'privilege' => '{DAV:}write',
+ 'uri' => 'articles',
+ ),
+ array(
+ 'principal' => '{DAV:}all',
+ 'privilege' => '{DAV:}write',
+ 'uri' => 'articles',
+ ),
+
+ );
+
+ $acl = new Acl($privileges);
+ $acl->serialize(new DAV\Server(), $root);
+
+ $dom->formatOutput = true;
+
+ $xml = $dom->saveXML();
+ $expected = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:">
+ <d:ace>
+ <d:principal>
+ <d:authenticated/>
+ </d:principal>
+ <d:grant>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:grant>
+ </d:ace>
+ <d:ace>
+ <d:principal>
+ <d:unauthenticated/>
+ </d:principal>
+ <d:grant>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:grant>
+ </d:ace>
+ <d:ace>
+ <d:principal>
+ <d:all/>
+ </d:principal>
+ <d:grant>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:grant>
+ </d:ace>
+</d:root>
+';
+ $this->assertEquals($expected, $xml);
+
+ }
+
+ function testUnserialize() {
+
+ $source = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:">
+ <d:ace>
+ <d:principal>
+ <d:href>/principals/evert/</d:href>
+ </d:principal>
+ <d:grant>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:grant>
+ </d:ace>
+ <d:ace>
+ <d:principal>
+ <d:href>/principals/foo/</d:href>
+ </d:principal>
+ <d:grant>
+ <d:privilege>
+ <d:read/>
+ </d:privilege>
+ </d:grant>
+ <d:protected/>
+ </d:ace>
+</d:root>
+';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($source);
+ $result = Acl::unserialize($dom->firstChild);
+
+ $this->assertInstanceOf('Sabre\\DAVACL\\Property\\ACL', $result);
+
+ $expected = array(
+ array(
+ 'principal' => '/principals/evert/',
+ 'protected' => false,
+ 'privilege' => '{DAV:}write',
+ ),
+ array(
+ 'principal' => '/principals/foo/',
+ 'protected' => true,
+ 'privilege' => '{DAV:}read',
+ ),
+ );
+
+ $this->assertEquals($expected, $result->getPrivileges());
+
+
+ }
+
+ /**
+ * @expectedException Sabre\DAV\Exception\BadRequest
+ */
+ function testUnserializeNoPrincipal() {
+
+ $source = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:">
+ <d:ace>
+ <d:grant>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:grant>
+ </d:ace>
+</d:root>
+';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($source);
+ Acl::unserialize($dom->firstChild);
+
+ }
+
+ function testUnserializeOtherPrincipal() {
+
+ $source = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:">
+ <d:ace>
+ <d:grant>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:grant>
+ <d:principal><d:authenticated /></d:principal>
+ </d:ace>
+ <d:ace>
+ <d:grant>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:grant>
+ <d:principal><d:unauthenticated /></d:principal>
+ </d:ace>
+ <d:ace>
+ <d:grant>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:grant>
+ <d:principal><d:all /></d:principal>
+ </d:ace>
+</d:root>
+';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($source);
+ $result = Acl::unserialize($dom->firstChild);
+
+ $this->assertInstanceOf('Sabre\\DAVACL\\Property\\Acl', $result);
+
+ $expected = array(
+ array(
+ 'principal' => '{DAV:}authenticated',
+ 'protected' => false,
+ 'privilege' => '{DAV:}write',
+ ),
+ array(
+ 'principal' => '{DAV:}unauthenticated',
+ 'protected' => false,
+ 'privilege' => '{DAV:}write',
+ ),
+ array(
+ 'principal' => '{DAV:}all',
+ 'protected' => false,
+ 'privilege' => '{DAV:}write',
+ ),
+ );
+
+ $this->assertEquals($expected, $result->getPrivileges());
+
+
+ }
+
+ /**
+ * @expectedException Sabre\DAV\Exception\NotImplemented
+ */
+ function testUnserializeDeny() {
+
+ $source = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:">
+ <d:ace>
+ <d:deny>
+ <d:privilege>
+ <d:write/>
+ </d:privilege>
+ </d:deny>
+ <d:principal><d:href>/principals/evert</d:href></d:principal>
+ </d:ace>
+</d:root>
+';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($source);
+ Acl::unserialize($dom->firstChild);
+ }
+
+ /**
+ * @expectedException Sabre\DAV\Exception\BadRequest
+ */
+ function testUnserializeMissingPriv() {
+
+ $source = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:">
+ <d:ace>
+ <d:grant>
+ <d:privilege />
+ </d:grant>
+ <d:principal><d:href>/principals/evert</d:href></d:principal>
+ </d:ace>
+</d:root>
+';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($source);
+ Acl::unserialize($dom->firstChild);
+
+ }
+}
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Property/CurrentUserPrivilegeSetTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/CurrentUserPrivilegeSetTest.php
new file mode 100644
index 000000000..e71addb65
--- /dev/null
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/CurrentUserPrivilegeSetTest.php
@@ -0,0 +1,68 @@
+<?php
+
+namespace Sabre\DAVACL\Property;
+
+use Sabre\DAV;
+use Sabre\HTTP;
+
+
+class CurrentUserPrivilegeSetTest extends \PHPUnit_Framework_TestCase {
+
+ function testSerialize() {
+
+ $privileges = array(
+ '{DAV:}read',
+ '{DAV:}write',
+ );
+ $prop = new CurrentUserPrivilegeSet($privileges);
+
+ $server = new DAV\Server();
+ $dom = new \DOMDocument('1.0','utf-8');
+ $root = $dom->createElementNS('DAV:','d:root');
+ $dom->appendChild($root);
+
+ $prop->serialize($server, $root);
+
+ $xpaths = array(
+ '/d:root' => 1,
+ '/d:root/d:privilege' => 2,
+ '/d:root/d:privilege/d:read' => 1,
+ '/d:root/d:privilege/d:write' => 1,
+ );
+
+ // Reloading because PHP DOM sucks
+ $dom2 = new \DOMDocument('1.0', 'utf-8');
+ $dom2->loadXML($dom->saveXML());
+
+ $dxpath = new \DOMXPath($dom2);
+ $dxpath->registerNamespace('d','DAV:');
+ foreach($xpaths as $xpath=>$count) {
+
+ $this->assertEquals($count, $dxpath->query($xpath)->length, 'Looking for : ' . $xpath . ', we could only find ' . $dxpath->query($xpath)->length . ' elements, while we expected ' . $count);
+
+ }
+
+ }
+
+ function testUnserialize() {
+
+ $source = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:">
+ <d:privilege>
+ <d:write-properties />
+ </d:privilege>
+ <d:privilege>
+ <d:read />
+ </d:privilege>
+</d:root>
+';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($source);
+ $result = CurrentUserPrivilegeSet::unserialize($dom->firstChild, array());
+ $this->assertTrue($result->has('{DAV:}read'));
+ $this->assertTrue($result->has('{DAV:}write-properties'));
+ $this->assertFalse($result->has('{DAV:}bind'));
+
+ }
+
+}
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Property/PrincipalTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/PrincipalTest.php
new file mode 100644
index 000000000..be12c79ee
--- /dev/null
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/PrincipalTest.php
@@ -0,0 +1,181 @@
+<?php
+
+namespace Sabre\DAVACL\Property;
+
+use Sabre\DAV;
+use Sabre\HTTP;
+
+class PrincipalTest extends \PHPUnit_Framework_TestCase {
+
+ function testSimple() {
+
+ $principal = new Principal(Principal::UNAUTHENTICATED);
+ $this->assertEquals(Principal::UNAUTHENTICATED, $principal->getType());
+ $this->assertNull($principal->getHref());
+
+ $principal = new Principal(Principal::AUTHENTICATED);
+ $this->assertEquals(Principal::AUTHENTICATED, $principal->getType());
+ $this->assertNull($principal->getHref());
+
+ $principal = new Principal(Principal::HREF,'admin');
+ $this->assertEquals(Principal::HREF, $principal->getType());
+ $this->assertEquals('admin',$principal->getHref());
+
+ }
+
+ /**
+ * @depends testSimple
+ * @expectedException Sabre\DAV\Exception
+ */
+ function testNoHref() {
+
+ $principal = new Principal(Principal::HREF);
+
+ }
+
+ /**
+ * @depends testSimple
+ */
+ function testSerializeUnAuthenticated() {
+
+ $prin = new Principal(Principal::UNAUTHENTICATED);
+
+ $doc = new \DOMDocument();
+ $root = $doc->createElement('d:principal');
+ $root->setAttribute('xmlns:d','DAV:');
+
+ $doc->appendChild($root);
+ $objectTree = new DAV\ObjectTree(new DAV\SimpleCollection('rootdir'));
+ $server = new DAV\Server($objectTree);
+
+ $prin->serialize($server, $root);
+
+ $xml = $doc->saveXML();
+
+ $this->assertEquals(
+'<?xml version="1.0"?>
+<d:principal xmlns:d="DAV:">' .
+'<d:unauthenticated/>' .
+'</d:principal>
+', $xml);
+
+ }
+
+
+ /**
+ * @depends testSerializeUnAuthenticated
+ */
+ function testSerializeAuthenticated() {
+
+ $prin = new Principal(Principal::AUTHENTICATED);
+
+ $doc = new \DOMDocument();
+ $root = $doc->createElement('d:principal');
+ $root->setAttribute('xmlns:d','DAV:');
+
+ $doc->appendChild($root);
+ $objectTree = new DAV\ObjectTree(new DAV\SimpleCollection('rootdir'));
+ $server = new DAV\Server($objectTree);
+
+ $prin->serialize($server, $root);
+
+ $xml = $doc->saveXML();
+
+ $this->assertEquals(
+'<?xml version="1.0"?>
+<d:principal xmlns:d="DAV:">' .
+'<d:authenticated/>' .
+'</d:principal>
+', $xml);
+
+ }
+
+
+ /**
+ * @depends testSerializeUnAuthenticated
+ */
+ function testSerializeHref() {
+
+ $prin = new Principal(Principal::HREF,'principals/admin');
+
+ $doc = new \DOMDocument();
+ $root = $doc->createElement('d:principal');
+ $root->setAttribute('xmlns:d','DAV:');
+
+ $doc->appendChild($root);
+ $objectTree = new DAV\ObjectTree(new DAV\SimpleCollection('rootdir'));
+ $server = new DAV\Server($objectTree);
+
+ $prin->serialize($server, $root);
+
+ $xml = $doc->saveXML();
+
+ $this->assertEquals(
+'<?xml version="1.0"?>
+<d:principal xmlns:d="DAV:">' .
+'<d:href>/principals/admin</d:href>' .
+'</d:principal>
+', $xml);
+
+ }
+
+ function testUnserializeHref() {
+
+ $xml = '<?xml version="1.0"?>
+<d:principal xmlns:d="DAV:">' .
+'<d:href>/principals/admin</d:href>' .
+'</d:principal>';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($xml);
+
+ $principal = Principal::unserialize($dom->firstChild);
+ $this->assertEquals(Principal::HREF, $principal->getType());
+ $this->assertEquals('/principals/admin', $principal->getHref());
+
+ }
+
+ function testUnserializeAuthenticated() {
+
+ $xml = '<?xml version="1.0"?>
+<d:principal xmlns:d="DAV:">' .
+' <d:authenticated />' .
+'</d:principal>';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($xml);
+
+ $principal = Principal::unserialize($dom->firstChild);
+ $this->assertEquals(Principal::AUTHENTICATED, $principal->getType());
+
+ }
+
+ function testUnserializeUnauthenticated() {
+
+ $xml = '<?xml version="1.0"?>
+<d:principal xmlns:d="DAV:">' .
+' <d:unauthenticated />' .
+'</d:principal>';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($xml);
+
+ $principal = Principal::unserialize($dom->firstChild);
+ $this->assertEquals(Principal::UNAUTHENTICATED, $principal->getType());
+
+ }
+
+ /**
+ * @expectedException Sabre\DAV\Exception\BadRequest
+ */
+ function testUnserializeUnknown() {
+
+ $xml = '<?xml version="1.0"?>
+<d:principal xmlns:d="DAV:">' .
+' <d:foo />' .
+'</d:principal>';
+
+ $dom = DAV\XMLUtil::loadDOMDocument($xml);
+
+ Principal::unserialize($dom->firstChild);
+
+ }
+
+}
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Property/SupportedPrivilegeSetTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/SupportedPrivilegeSetTest.php
new file mode 100644
index 000000000..943316331
--- /dev/null
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Property/SupportedPrivilegeSetTest.php
@@ -0,0 +1,106 @@
+<?php
+
+namespace Sabre\DAVACL\Property;
+
+use Sabre\DAV;
+use Sabre\HTTP;
+
+
+
+class SupportedPrivilegeSetTest extends \PHPUnit_Framework_TestCase {
+
+ function testSimple() {
+
+ $prop = new SupportedPrivilegeSet(array(
+ 'privilege' => '{DAV:}all',
+ ));
+
+ }
+
+
+ /**
+ * @depends testSimple
+ */
+ function testSerializeSimple() {
+
+ $prop = new SupportedPrivilegeSet(array(
+ 'privilege' => '{DAV:}all',
+ ));
+
+ $doc = new \DOMDocument();
+ $root = $doc->createElementNS('DAV:', 'd:supported-privilege-set');
+
+ $doc->appendChild($root);
+
+ $server = new DAV\Server();
+ $prop->serialize($server, $root);
+
+ $xml = $doc->saveXML();
+
+ $this->assertEquals(
+'<?xml version="1.0"?>
+<d:supported-privilege-set xmlns:d="DAV:">' .
+'<d:supported-privilege>' .
+'<d:privilege>' .
+'<d:all/>' .
+'</d:privilege>' .
+'</d:supported-privilege>' .
+'</d:supported-privilege-set>
+', $xml);
+
+ }
+
+ /**
+ * @depends testSimple
+ */
+ function testSerializeAggregate() {
+
+ $prop = new SupportedPrivilegeSet(array(
+ 'privilege' => '{DAV:}all',
+ 'abstract' => true,
+ 'aggregates' => array(
+ array(
+ 'privilege' => '{DAV:}read',
+ ),
+ array(
+ 'privilege' => '{DAV:}write',
+ 'description' => 'booh',
+ ),
+ ),
+ ));
+
+ $doc = new \DOMDocument();
+ $root = $doc->createElementNS('DAV:', 'd:supported-privilege-set');
+
+ $doc->appendChild($root);
+
+ $server = new DAV\Server();
+ $prop->serialize($server, $root);
+
+ $xml = $doc->saveXML();
+
+ $this->assertEquals(
+'<?xml version="1.0"?>
+<d:supported-privilege-set xmlns:d="DAV:">' .
+'<d:supported-privilege>' .
+'<d:privilege>' .
+'<d:all/>' .
+'</d:privilege>' .
+'<d:abstract/>' .
+'<d:supported-privilege>' .
+'<d:privilege>' .
+'<d:read/>' .
+'</d:privilege>' .
+'</d:supported-privilege>' .
+'<d:supported-privilege>' .
+'<d:privilege>' .
+'<d:write/>' .
+'</d:privilege>' .
+'<d:description>booh</d:description>' .
+'</d:supported-privilege>' .
+'</d:supported-privilege>' .
+'</d:supported-privilege-set>
+', $xml);
+
+ }
+}