public function testMakeCollectionWithInvalidETag() { $testDest = "/collection/new_collection"; $backend = new ezcWebdavFileBackend($this->tempDir . 'backend/'); // Initialize all property directories $req = new ezcWebdavPropFindRequest(''); $req->allProp = true; $req->setHeader('Depth', ezcWebdavRequest::DEPTH_INFINITY); $req->validateHeaders(); $backend->propFind($req); $eTag = $backend->getProperty('/collection', 'getetag')->etag; $req = new ezcWebdavMakeCollectionRequest($testDest); $req->setHeader('If-None-Match', array($eTag)); $req->validateHeaders(); $res = $backend->makeCollection($req); $this->assertEquals(new ezcWebdavErrorResponse(ezcWebdavResponse::STATUS_412, '/collection', 'If-None-Match header check failed.'), $res, 'Expected response does not match real response.', 0, 20); }
public function testMakeCollectionWithSpaces() { $backend = new ezcWebdavMemoryBackend(true); $backend->addContents(array('foo' => 'bar', 'bar' => array('blubb' => 'Somme blubb blubbs.'))); $request = new ezcWebdavMakeCollectionRequest('/bar/collection%20with%20spaces'); $request->validateHeaders(); $response = $backend->makeCollection($request); $this->assertEquals(new ezcWebdavMakeCollectionResponse('/bar/collection%20with%20spaces'), $response, 'Expected response does not match real response.', 0, 20); $content = $this->readAttribute($backend, 'content'); $this->assertEquals(array('/' => array('/foo', '/bar'), '/foo' => 'bar', '/bar' => array('/bar/blubb', '/bar/collection%20with%20spaces'), '/bar/blubb' => 'Somme blubb blubbs.', '/bar/collection%20with%20spaces' => array()), $content); $this->assertEquals('collection with spaces', $backend->getAllProperties('/bar/collection%20with%20spaces')->get('displayname', 'DAV:')->displayName); }
public function testMakeCollection() { $backend = new ezcWebdavFileBackend($this->tempDir . 'backend/'); $this->assertFalse(is_dir($this->tempDir . 'backend/collection/new_collection'), 'Expected collection not existing yet.'); $request = new ezcWebdavMakeCollectionRequest('/collection/new_collection'); $request->validateHeaders(); $response = $backend->makeCollection($request); $this->assertEquals($response, new ezcWebdavMakeCollectionResponse('/bar/foo'), 'Expected response does not match real response.', 0, 20); $this->assertTrue(is_dir($this->tempDir . 'backend/collection/new_collection'), 'Expected created collection.'); $this->assertTrue(is_dir($this->tempDir . 'backend/collection/new_collection/.ezc'), 'Expected property storage in directory.'); }
public function testMakeCollectionWithSpaces() { $backend = new ezcWebdavFileBackend($this->tempDir . 'backend/'); $this->assertFalse(is_dir($this->tempDir . 'backend/collection/new_collection'), 'Collection to create exists.'); $request = new ezcWebdavMakeCollectionRequest('/collection/collection%20with%20spaces'); $request->validateHeaders(); $response = $backend->makeCollection($request); $this->assertEquals($response, new ezcWebdavMakeCollectionResponse('/collection/collection%20with%20spaces'), 'Expected response does not match real response.'); $this->assertTrue(is_dir($this->tempDir . 'backend/collection/collection%20with%20spaces'), 'Expected created collection.'); $this->assertTrue(is_dir($this->tempDir . 'backend/collection/collection%20with%20spaces/.ezc'), 'Expected property storage in directory.'); $this->assertEquals('collection with spaces', $backend->getAllProperties('/collection/collection%20with%20spaces')->get('displayname', 'DAV:')->displayName); }
public function testMakeCollection() { $backend = new ezcWebdavMemoryBackend(false); $backend->addContents(array('foo' => 'bar', 'bar' => array('blubb' => 'Somme blubb blubbs.'))); $request = new ezcWebdavMakeCollectionRequest('/bar/foo'); $request->validateHeaders(); $response = $backend->makeCollection($request); $this->assertEquals(new ezcWebdavMakeCollectionResponse('/bar/foo'), $response, 'Expected response does not match real response.', 0, 20); $content = $this->readAttribute($backend, 'content'); $this->assertEquals(array('/' => array('/foo', '/bar'), '/foo' => 'bar', '/bar' => array('/bar/blubb', '/bar/foo'), '/bar/blubb' => 'Somme blubb blubbs.', '/bar/foo' => array()), $content); }