aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-10-21 15:46:31 -0700
committerfriendica <info@friendica.com>2013-10-21 15:46:31 -0700
commitb35122f7a6ad42756c35bb60ba1f06c3dcd45c77 (patch)
treeccdf373ce6475d264778523259cc32899b732fe7 /vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php
parente3504df514d306cfe6b83e44a11f550664564af4 (diff)
downloadvolse-hubzilla-b35122f7a6ad42756c35bb60ba1f06c3dcd45c77.tar.gz
volse-hubzilla-b35122f7a6ad42756c35bb60ba1f06c3dcd45c77.tar.bz2
volse-hubzilla-b35122f7a6ad42756c35bb60ba1f06c3dcd45c77.zip
add sabre (1.8.x) via composer in the !@#$ place it wants to be
Diffstat (limited to 'vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php')
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php135
1 files changed, 135 insertions, 0 deletions
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php
new file mode 100644
index 000000000..412389e8b
--- /dev/null
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php
@@ -0,0 +1,135 @@
+<?php
+
+namespace Sabre\DAVACL;
+
+use Sabre\DAV;
+use Sabre\HTTP;
+
+require_once 'Sabre/HTTP/ResponseMock.php';
+
+class PrincipalSearchPropertySetTest extends \PHPUnit_Framework_TestCase {
+
+ function getServer() {
+
+ $backend = new PrincipalBackend\Mock();
+
+ $dir = new DAV\SimpleCollection('root');
+ $principals = new PrincipalCollection($backend);
+ $dir->addChild($principals);
+
+ $fakeServer = new DAV\Server(new DAV\ObjectTree($dir));
+ $fakeServer->httpResponse = new HTTP\ResponseMock();
+ $plugin = new Plugin($backend,'realm');
+ $this->assertTrue($plugin instanceof Plugin);
+ $fakeServer->addPlugin($plugin);
+ $this->assertEquals($plugin, $fakeServer->getPlugin('acl'));
+
+ return $fakeServer;
+
+ }
+
+ function testDepth1() {
+
+ $xml = '<?xml version="1.0"?>
+<d:principal-search-property-set xmlns:d="DAV:" />';
+
+ $serverVars = array(
+ 'REQUEST_METHOD' => 'REPORT',
+ 'HTTP_DEPTH' => '1',
+ 'REQUEST_URI' => '/principals',
+ );
+
+ $request = new HTTP\Request($serverVars);
+ $request->setBody($xml);
+
+ $server = $this->getServer();
+ $server->httpRequest = $request;
+
+ $server->exec();
+
+ $this->assertEquals('HTTP/1.1 400 Bad request', $server->httpResponse->status);
+ $this->assertEquals(array(
+ 'Content-Type' => 'application/xml; charset=utf-8',
+ ), $server->httpResponse->headers);
+
+ }
+
+ function testDepthIncorrectXML() {
+
+ $xml = '<?xml version="1.0"?>
+<d:principal-search-property-set xmlns:d="DAV:"><d:ohell /></d:principal-search-property-set>';
+
+ $serverVars = array(
+ 'REQUEST_METHOD' => 'REPORT',
+ 'HTTP_DEPTH' => '0',
+ 'REQUEST_URI' => '/principals',
+ );
+
+ $request = new HTTP\Request($serverVars);
+ $request->setBody($xml);
+
+ $server = $this->getServer();
+ $server->httpRequest = $request;
+
+ $server->exec();
+
+ $this->assertEquals('HTTP/1.1 400 Bad request', $server->httpResponse->status, $server->httpResponse->body);
+ $this->assertEquals(array(
+ 'Content-Type' => 'application/xml; charset=utf-8',
+ ), $server->httpResponse->headers);
+
+ }
+
+ function testCorrect() {
+
+ $xml = '<?xml version="1.0"?>
+<d:principal-search-property-set xmlns:d="DAV:"/>';
+
+ $serverVars = array(
+ 'REQUEST_METHOD' => 'REPORT',
+ 'HTTP_DEPTH' => '0',
+ 'REQUEST_URI' => '/principals',
+ );
+
+ $request = new HTTP\Request($serverVars);
+ $request->setBody($xml);
+
+ $server = $this->getServer();
+ $server->httpRequest = $request;
+
+ $server->exec();
+
+ $this->assertEquals('HTTP/1.1 200 OK', $server->httpResponse->status, $server->httpResponse->body);
+ $this->assertEquals(array(
+ 'Content-Type' => 'application/xml; charset=utf-8',
+ ), $server->httpResponse->headers);
+
+
+ $check = array(
+ '/d:principal-search-property-set',
+ '/d:principal-search-property-set/d:principal-search-property' => 2,
+ '/d:principal-search-property-set/d:principal-search-property/d:prop' => 2,
+ '/d:principal-search-property-set/d:principal-search-property/d:prop/d:displayname' => 1,
+ '/d:principal-search-property-set/d:principal-search-property/d:prop/s:email-address' => 1,
+ '/d:principal-search-property-set/d:principal-search-property/d:description' => 2,
+ );
+
+ $xml = simplexml_load_string($server->httpResponse->body);
+ $xml->registerXPathNamespace('d','DAV:');
+ $xml->registerXPathNamespace('s','http://sabredav.org/ns');
+ foreach($check as $v1=>$v2) {
+
+ $xpath = is_int($v1)?$v2:$v1;
+
+ $result = $xml->xpath($xpath);
+
+ $count = 1;
+ if (!is_int($v1)) $count = $v2;
+
+ $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body);
+
+ }
+
+ }
+
+}