<?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);
 }
Beispiel #4
0
 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;
 }
Beispiel #5
0
<?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;