Properly handle result when copying with failure and throw in tests

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl 2021-01-05 09:12:11 +01:00
parent 865e4ab0ec
commit 8d9fa73371
No known key found for this signature in database
GPG Key ID: 4C614C6ED2CDE6DF
2 changed files with 4 additions and 3 deletions

View File

@ -688,9 +688,9 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage {
$result = $this->copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath, true); $result = $this->copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath, true);
if ($result) { if ($result) {
if ($sourceStorage->is_dir($sourceInternalPath)) { if ($sourceStorage->is_dir($sourceInternalPath)) {
$result &= $sourceStorage->rmdir($sourceInternalPath); $result = $result && $sourceStorage->rmdir($sourceInternalPath);
} else { } else {
$result &= $sourceStorage->unlink($sourceInternalPath); $result = $result && $sourceStorage->unlink($sourceInternalPath);
} }
} }
return $result; return $result;

View File

@ -17,6 +17,7 @@ use OC\Files\View;
use OCP\Constants; use OCP\Constants;
use OCP\Files\Config\IMountProvider; use OCP\Files\Config\IMountProvider;
use OCP\Files\FileInfo; use OCP\Files\FileInfo;
use OCP\Files\GenericFileException;
use OCP\Files\Storage\IStorage; use OCP\Files\Storage\IStorage;
use OCP\Lock\ILockingProvider; use OCP\Lock\ILockingProvider;
use OCP\Lock\LockedException; use OCP\Lock\LockedException;
@ -1167,7 +1168,7 @@ class ViewTest extends \Test\TestCase {
->getMock(); ->getMock();
$storage2->method('writeStream') $storage2->method('writeStream')
->willReturn(0); ->willThrowException(new GenericFileException("Failed to copy stream"));
$storage1->mkdir('sub'); $storage1->mkdir('sub');
$storage1->file_put_contents('foo.txt', '0123456789ABCDEFGH'); $storage1->file_put_contents('foo.txt', '0123456789ABCDEFGH');