mirror of
https://github.com/nextcloud/server.git
synced 2026-04-29 10:03:32 -04:00
Merge pull request #21232 from owncloud/fix-21230
Use name of ICollection for exception message
This commit is contained in:
commit
9a4ab698b7
2 changed files with 42 additions and 1 deletions
|
|
@ -190,7 +190,7 @@ class ObjectTree extends \Sabre\DAV\Tree {
|
|||
$targetNodeExists = $this->nodeExists($destinationPath);
|
||||
$sourceNode = $this->getNodeForPath($sourcePath);
|
||||
if ($sourceNode instanceof \Sabre\DAV\ICollection && $targetNodeExists) {
|
||||
throw new \Sabre\DAV\Exception\Forbidden('Could not copy directory ' . $sourceNode . ', target exists');
|
||||
throw new \Sabre\DAV\Exception\Forbidden('Could not copy directory ' . $sourceNode->getName() . ', target exists');
|
||||
}
|
||||
list($sourceDir,) = \Sabre\HTTP\URLUtil::splitPath($sourcePath);
|
||||
list($destinationDir,) = \Sabre\HTTP\URLUtil::splitPath($destinationPath);
|
||||
|
|
|
|||
|
|
@ -294,4 +294,45 @@ class ObjectTree extends \Test\TestCase {
|
|||
|
||||
$this->assertInstanceOf('\Sabre\DAV\INode', $tree->getNodeForPath($path));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Sabre\DAV\Exception\Forbidden
|
||||
* @expectedExceptionMessage Could not copy directory nameOfSourceNode, target exists
|
||||
*/
|
||||
public function testFailingMove() {
|
||||
$source = 'a/b';
|
||||
$destination = 'b/b';
|
||||
$updatables = array('a' => true, 'a/b' => true, 'b' => true, 'b/b' => false);
|
||||
$deletables = array('a/b' => true);
|
||||
|
||||
$view = new TestDoubleFileView($updatables, $deletables);
|
||||
|
||||
$info = new FileInfo('', null, null, array(), null);
|
||||
|
||||
$rootDir = new \OCA\DAV\Connector\Sabre\Directory($view, $info);
|
||||
$objectTree = $this->getMock('\OCA\DAV\Connector\Sabre\ObjectTree',
|
||||
array('nodeExists', 'getNodeForPath'),
|
||||
array($rootDir, $view));
|
||||
|
||||
$sourceNode = $this->getMockBuilder('\Sabre\DAV\ICollection')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$sourceNode->expects($this->once())
|
||||
->method('getName')
|
||||
->will($this->returnValue('nameOfSourceNode'));
|
||||
|
||||
$objectTree->expects($this->once())
|
||||
->method('nodeExists')
|
||||
->with($this->identicalTo($destination))
|
||||
->will($this->returnValue(true));
|
||||
$objectTree->expects($this->once())
|
||||
->method('getNodeForPath')
|
||||
->with($this->identicalTo($source))
|
||||
->will($this->returnValue($sourceNode));
|
||||
|
||||
/** @var $objectTree \OCA\DAV\Connector\Sabre\ObjectTree */
|
||||
$mountManager = \OC\Files\Filesystem::getMountManager();
|
||||
$objectTree->init($rootDir, $view, $mountManager);
|
||||
$objectTree->move($source, $destination);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue