public function testGetCollectionWithMultipleInvalidETags() { $testPath = '/collection'; $backend = new ezcWebdavFileBackend($this->tempDir . 'backend/'); $req = new ezcWebdavGetRequest($testPath); $req->setHeader('If-Match', array('sometag', 'some other tag', 'foobar')); $req->validateHeaders(); $res = $backend->get($req); // Collection ETags are ignored on purpose! $this->assertEquals(new ezcWebdavErrorResponse(ezcWebdavResponse::STATUS_412, '/collection', 'If-Match header check failed.'), $res, 'Expected response does not match real response.', 0, 20); }
public function testGetAccessPropertyStorageDirName() { mkdir($this->tempDir . 'backend/somefile.ezc'); touch($this->tempDir . 'backend/somefile.ezc/testfile'); $backend = new ezcWebdavFileBackend($this->tempDir . 'backend/'); $backend->options->useMimeExts = false; $request = new ezcWebdavGetRequest(''); $request->validateHeaders(); $response = $backend->get($request); $this->assertTrue($response instanceof ezcWebdavGetCollectionResponse); $this->assertEquals(3, count($response->collection->childs)); }
public function testResourceDeepGet() { if (version_compare(PHP_VERSION, '5.2.6', '<')) { $this->markTestSkipped('PHP DateTime broken in versions < 5.2.6'); return; } $backend = new ezcWebdavMemoryBackend(); $backend->addContents(array('foo' => 'bar', 'bar' => array('blubb' => 'Somme blubb blubbs.', 'blah' => array('fumdiidudel.txt' => 'Willst du an \'was Rundes denken, denk\' an einen Plastikball. Willst du \'was gesundes schenken, schenke einen Plastikball. Plastikball, Plastikball, ...')))); $request = new ezcWebdavGetRequest('/bar/blah/fumdiidudel.txt'); $request->validateHeaders(); $response = $backend->get($request); $expectedResponse = new ezcWebdavGetResourceResponse(new ezcWebdavResource('/bar/blah/fumdiidudel.txt', $backend->initializeProperties('/bar/blah/fumdiidudel.txt'), 'Willst du an \'was Rundes denken, denk\' an einen Plastikball. Willst du \'was gesundes schenken, schenke einen Plastikball. Plastikball, Plastikball, ...')); $expectedResponse->setHeader('ETag', '1c4cc7ffb86ee1feec13f05fb667e806'); $this->assertEquals($expectedResponse, $response, 'Expected response does not match real response.', 0, 20); }
public function testExternalAndInternalLock() { $backendDir = $this->tempDir . 'backend/'; $backend = new ezcWebdavFileBackend($backendDir); $backend->lock(1000, 200000); $this->assertFileExists($backendDir . $backend->options->lockFileName, 'Lock file not created'); $this->assertAttributeEquals(1, 'lockLevel', $backend, 'Lock level not incremented.'); $request = new ezcWebdavGetRequest('/resource'); $request->validateHeaders(); $response = $backend->get($request); $backend->unlock(); $this->assertFileNotExists($backendDir . $backend->options->lockFileName, 'Lock file not removed.'); $this->assertAttributeEquals(0, 'lockLevel', $backend, 'Lock level not decremented.'); }