Verify the src exists in webdav MOVE

* Unit test added
This commit is contained in:
Roeland Jago Douma 2015-10-27 09:14:28 +01:00
parent 0875a4a18f
commit db17598a0e
2 changed files with 17 additions and 0 deletions

View File

@ -132,6 +132,10 @@ class FilesPlugin extends \Sabre\DAV\ServerPlugin {
if ($sourceDir !== $destinationDir) {
$sourceFileInfo = $this->fileView->getFileInfo($source);
if ($sourceFileInfo === false) {
throw new \Sabre\DAV\Exception\NotFound($source . ' does not exist');
}
if (!$sourceFileInfo->isDeletable()) {
throw new \Sabre\DAV\Exception\Forbidden($source . " cannot be deleted");
}

View File

@ -251,4 +251,17 @@ class FilesPlugin extends \Test\TestCase {
$this->plugin->checkMove('FolderA/test.txt', 'test.txt');
}
/**
* @expectedException \Sabre\DAV\Exception\NotFound
* @expectedExceptionMessage FolderA/test.txt does not exist
*/
public function testMoveSrcNotExist() {
$this->view->expects($this->once())
->method('getFileInfo')
->with('FolderA/test.txt')
->willReturn(false);
$this->plugin->checkMove('FolderA/test.txt', 'test.txt');
}
}