Merge pull request #18886 from nextcloud/node_exists-instead-of-catch

use `nodeExists` instead of catching exceptions
This commit is contained in:
Roeland Jago Douma 2020-01-14 23:36:59 +01:00 committed by GitHub
commit ec0d8b8de0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 7 deletions

View File

@ -124,10 +124,9 @@ class Manager implements IManager {
public function create(string $path, string $editorId, string $creatorId, $templateId = null): string {
$userFolder = $this->rootFolder->getUserFolder($this->userId);
try {
$file = $userFolder->get($path);
if ($userFolder->nodeExists($path)) {
throw new \RuntimeException('File already exists');
} catch (\OCP\Files\NotFoundException $e) {
} else {
$file = $userFolder->newFile($path);
$editor = $this->getEditor($editorId);
$creators = $editor->getCreators();

View File

@ -153,9 +153,9 @@ class ManagerTest extends TestCase {
->method('generate')
->willReturn($expectedToken);
$this->userFolder
->method('get')
->method('nodeExists')
->with('/File.txt')
->willThrowException(new NotFoundException());
->willReturn(false);
$this->userFolder->expects($this->once())
->method('newFile')
->willReturn($file);
@ -173,9 +173,9 @@ class ManagerTest extends TestCase {
->method('generate')
->willReturn($expectedToken);
$this->userFolder
->method('get')
->method('nodeExists')
->with('/File.txt')
->willThrowException(new NotFoundException());
->willReturn(false);
$this->userFolder->expects($this->once())
->method('newFile')
->willReturn($file);
@ -188,6 +188,10 @@ class ManagerTest extends TestCase {
public function testCreateFileAlreadyExists() {
$this->expectException(\RuntimeException::class);
$this->userFolder
->method('nodeExists')
->with('/File.txt')
->willReturn(true);
$this->manager->create('/File.txt', 'testeditor', 'createEmpty');
}