]> git.mxchange.org Git - friendica-addons.git/blobdiff - dav/SabreDAV/tests/Sabre/DAV/ServerUpdatePropertiesTest.php
Initial Release of the calendar plugin
[friendica-addons.git] / dav / SabreDAV / tests / Sabre / DAV / ServerUpdatePropertiesTest.php
diff --git a/dav/SabreDAV/tests/Sabre/DAV/ServerUpdatePropertiesTest.php b/dav/SabreDAV/tests/Sabre/DAV/ServerUpdatePropertiesTest.php
new file mode 100644 (file)
index 0000000..646f8ab
--- /dev/null
@@ -0,0 +1,127 @@
+<?php
+
+class Sabre_DAV_ServerUpdatePropertiesTest extends PHPUnit_Framework_TestCase {
+
+    function testUpdatePropertiesFail() {
+
+        $tree = array(
+            new Sabre_DAV_SimpleCollection('foo'),
+        );
+        $server = new Sabre_DAV_Server($tree);
+
+        $result = $server->updateProperties('foo', array(
+            '{DAV:}foo' => 'bar'
+        ));
+
+        $expected = array(
+            'href' => 'foo',
+            '403' => array(
+                '{DAV:}foo' => null,
+            ),
+        );
+        $this->assertEquals($expected, $result);
+
+    }
+
+    function testUpdatePropertiesProtected() {
+
+        $tree = array(
+            new Sabre_DAV_SimpleCollection('foo'),
+        );
+        $server = new Sabre_DAV_Server($tree);
+
+        $result = $server->updateProperties('foo', array(
+            '{DAV:}getetag' => 'bla',
+            '{DAV:}foo' => 'bar'
+        ));
+
+        $expected = array(
+            'href' => 'foo',
+            '403' => array(
+                '{DAV:}getetag' => null,
+            ),
+            '424' => array(
+                '{DAV:}foo' => null,
+            ),
+        );
+        $this->assertEquals($expected, $result);
+
+    }
+
+    function testUpdatePropertiesEventFail() {
+
+        $tree = array(
+            new Sabre_DAV_SimpleCollection('foo'),
+        );
+        $server = new Sabre_DAV_Server($tree);
+        $server->subscribeEvent('updateProperties', array($this,'updatepropfail'));
+
+        $result = $server->updateProperties('foo', array(
+            '{DAV:}foo' => 'bar',
+            '{DAV:}foo2' => 'bla',
+        ));
+
+        $expected = array(
+            'href' => 'foo',
+            '404' => array(
+                '{DAV:}foo' => null,
+            ),
+            '424' => array(
+                '{DAV:}foo2' => null,
+            ),
+        );
+        $this->assertEquals($expected, $result);
+
+    }
+
+    function updatePropFail(&$propertyDelta, &$result, $node) {
+
+        $result[404] = array(
+            '{DAV:}foo' => null,
+        );
+        unset($propertyDelta['{DAV:}foo']);
+        return false;
+
+    }
+
+
+    function testUpdatePropertiesEventSuccess() {
+
+        $tree = array(
+            new Sabre_DAV_SimpleCollection('foo'),
+        );
+        $server = new Sabre_DAV_Server($tree);
+        $server->subscribeEvent('updateProperties', array($this,'updatepropsuccess'));
+
+        $result = $server->updateProperties('foo', array(
+            '{DAV:}foo' => 'bar',
+            '{DAV:}foo2' => 'bla',
+        ));
+
+        $expected = array(
+            'href' => 'foo',
+            '200' => array(
+                '{DAV:}foo' => null,
+            ),
+            '201' => array(
+                '{DAV:}foo2' => null,
+            ),
+        );
+        $this->assertEquals($expected, $result);
+
+    }
+
+    function updatePropSuccess(&$propertyDelta, &$result, $node) {
+
+        $result[200] = array(
+            '{DAV:}foo' => null,
+        );
+        $result[201] = array(
+            '{DAV:}foo2' => null,
+        );
+        unset($propertyDelta['{DAV:}foo']);
+        unset($propertyDelta['{DAV:}foo2']);
+        return;
+
+    }
+}