<?php $backendBefore = new ezcWebdavMemoryBackend(); $backendBefore->addContents(array('collection' => array('resource.html' => ''), 'other_collection' => array())); $backendBefore->setProperty('/collection', new ezcWebdavLockDiscoveryProperty()); $backendBefore->setProperty('/other_collection', new ezcWebdavLockDiscoveryProperty(new ArrayObject(array(new ezcWebdavLockDiscoveryPropertyActiveLock(ezcWebdavLockRequest::TYPE_WRITE, ezcWebdavLockRequest::SCOPE_EXCLUSIVE, ezcWebdavRequest::DEPTH_INFINITY, new ezcWebdavPotentialUriContent('http://example.com/some/user', true), 604800, new ezcWebdavPotentialUriContent('opaquelocktoken:5678', true), null, new ezcWebdavDateTime()))))); return $backendBefore;
<?php $backendBefore = new ezcWebdavMemoryBackend(); $backendBefore->addContents(array('collection' => array('resource.html' => '', 'newcollection' => array()))); $backendBefore->setProperty('/collection', new ezcWebdavLockDiscoveryProperty(new ArrayObject(array(new ezcWebdavLockDiscoveryPropertyActiveLock(ezcWebdavLockRequest::TYPE_WRITE, ezcWebdavLockRequest::SCOPE_EXCLUSIVE, ezcWebdavRequest::DEPTH_ZERO, new ezcWebdavPotentialUriContent('http://example.com/some/user', true), 604800, new ezcWebdavPotentialUriContent('opaquelocktoken:5678', true), null, new ezcWebdavDateTime()))))); $backendBefore->setProperty('/collection/newcollection', new ezcWebdavLockDiscoveryProperty(new ArrayObject(array(new ezcWebdavLockDiscoveryPropertyActiveLock(ezcWebdavLockRequest::TYPE_WRITE, ezcWebdavLockRequest::SCOPE_EXCLUSIVE, ezcWebdavRequest::DEPTH_INFINITY, new ezcWebdavPotentialUriContent('http://example.com/some/user', true), 604800, new ezcWebdavPotentialUriContent('opaquelocktoken:1234', true), null, new ezcWebdavDateTime()))))); return $backendBefore;
public function testPropPatchCombinedSetDeleteValidationError() { $backend = new ezcWebdavMemoryBackend(true); $backend->addContents(array('foo' => 'bar', 'bar' => array('blubb' => 'Somme blubb blubbs.'))); // First add some custom properties. $newProperties = new ezcWebdavFlaggedPropertyStorage(); $newProperties->attach($p_bar = new ezcWebdavDeadProperty('foo:', 'bar', 'some content'), ezcWebdavPropPatchRequest::SET); $newProperties->attach($p_blubb = new ezcWebdavDeadProperty('foo:', 'blubb', 'some other content'), ezcWebdavPropPatchRequest::SET); $request = new ezcWebdavPropPatchRequest('/foo'); $request->updates = $newProperties; $request->validateHeaders(); $response = $backend->proppatch($request); $resProps = new ezcWebdavBasicPropertyStorage(); $resProps->attach(new ezcWebdavDeadProperty('foo:', 'bar')); $resProps->attach(new ezcWebdavDeadProperty('foo:', 'blubb')); $this->assertEquals(new ezcWebdavPropPatchResponse(new ezcWebdavResource('/foo'), new ezcWebdavPropStatResponse($resProps)), $response, 'Expected property adding PROPPATCH response does not match real response.', 0, 20); // Then remove them again, with one live property in the middle to // check for proper failed dependency response codes. $updateProperties = new ezcWebdavFlaggedPropertyStorage(); $updateProperties->attach($p_blubb, ezcWebdavPropPatchRequest::REMOVE); $updateProperties->attach($p_length = new ezcWebdavGetContentLengthProperty(), ezcWebdavPropPatchRequest::REMOVE); // Cause validation error $p_length->length = 'not a number'; $updateProperties->attach($p_foo = new ezcWebdavDeadProperty('foo:', 'foo', 'random content'), ezcWebdavPropPatchRequest::SET); $updateProperties->attach($p_bar, ezcWebdavPropPatchRequest::REMOVE); $request = new ezcWebdavPropPatchRequest('/foo'); $request->updates = $updateProperties; $request->validateHeaders(); $response = $backend->proppatch($request); $failed = new ezcWebdavBasicPropertyStorage(); $failed->attach($p_length); $depError = new ezcWebdavBasicPropertyStorage(); $depError->attach($p_foo); $depError->attach($p_bar); $failed->rewind(); $depError->rewind(); $this->assertEquals(new ezcWebdavMultistatusResponse(new ezcWebdavPropPatchResponse(new ezcWebdavResource('/foo'), new ezcWebdavPropStatResponse(new ezcWebdavBasicPropertyStorage(), ezcWebdavResponse::STATUS_403), new ezcWebdavPropStatResponse($failed, ezcWebdavResponse::STATUS_409), new ezcWebdavPropStatResponse($depError, ezcWebdavResponse::STATUS_424))), $response, 'Expected property removing PROPPATCH response does not match real response.', 0, 20); }
private function getBackend() { $backend = new ezcWebdavMemoryBackend(); $backend->addContents(array('a' => array('a1' => array('a11' => 'a11', 'a12' => 'a12'), 'a2' => 'a2'), 'b' => array('b1' => array('b11' => 'b11', 'b12' => 'b12'), 'b2' => 'b2'), 'c' => array('c1' => array('c11' => 'c11', 'c12' => 'c12'), 'c2' => 'c2'))); return $backend; }
<?php $backend = new ezcWebdavMemoryBackend(true); $backend->addContents(array('collection' => array('file.txt' => 'Some text content.', 'subdir' => array('file.html' => '<html><body><h1>Test</h1></body></html>', 'file.xml' => "<?xml?>\n<content/>")), 'secure_collection' => array('file.txt' => 'Some text content.', 'subdir' => array('file.html' => '<html><body><h1>Test</h1></body></html>', 'file.xml' => "<?xml?>\n<content/>")), 'file.xml' => "<?xml ?>\n<content/>", 'file.bin' => "ยง\"\$%&")); $backend->setProperty('/collection/file.txt', new ezcWebdavGetContentTypeProperty('text/plain', 'utf-8')); $backend->setProperty('/collection/subdir/file.html', new ezcWebdavGetContentTypeProperty('text/html', 'utf-8')); $backend->setProperty('/collection/subdir/file.xml', new ezcWebdavGetContentTypeProperty('text/xml', 'utf-8')); $backend->setProperty('/file.xml', new ezcWebdavGetContentTypeProperty('text/xml', 'utf-8')); $backend->setProperty('/file.bin', new ezcWebdavGetContentTypeProperty('application/octet-stream', 'utf-8')); $backend->setProperty('/secure_collection/file.txt', new ezcWebdavGetContentTypeProperty('text/plain', 'utf-8')); $backend->setProperty('/secure_collection/subdir/file.html', new ezcWebdavGetContentTypeProperty('text/html', 'utf-8')); $backend->setProperty('/secure_collection/subdir/file.xml', new ezcWebdavGetContentTypeProperty('text/xml', 'utf-8')); return $backend;
<?php $backendBefore = new ezcWebdavMemoryBackend(); $backendBefore->addContents(array('collection' => array('resource.html' => "Some content.\n"))); $backendBefore->setProperty('/collection', new ezcWebdavLockDiscoveryProperty(new ArrayObject(array(new ezcWebdavLockDiscoveryPropertyActiveLock(ezcWebdavLockRequest::TYPE_WRITE, ezcWebdavLockRequest::SCOPE_EXCLUSIVE, ezcWebdavRequest::DEPTH_ZERO, new ezcWebdavPotentialUriContent('http://example.com/some/user', true), 604800, new ezcWebdavPotentialUriContent('opaquelocktoken:1234', true), null, new ezcWebdavDateTime()))))); $backendBefore->setProperty('/collection/resource.html', new ezcWebdavLockDiscoveryProperty(new ArrayObject(array(new ezcWebdavLockDiscoveryPropertyActiveLock(ezcWebdavLockRequest::TYPE_WRITE, ezcWebdavLockRequest::SCOPE_EXCLUSIVE, ezcWebdavRequest::DEPTH_ZERO, new ezcWebdavPotentialUriContent('http://example.com/some/user', true), 604800, new ezcWebdavPotentialUriContent('opaquelocktoken:1234', true), '/collection'))))); return $backendBefore;
<?php $backend = new ezcWebdavMemoryBackend(); $backend->addContents(array('collection' => array('resource.html' => ''))); return $backend;