|
|
@@ -24,8 +24,10 @@ namespace OCA\Files_Sharing\Tests\External; |
|
|
|
use OC\Files\Storage\StorageFactory; |
|
|
|
use OCA\Files_Sharing\External\Manager; |
|
|
|
use OCA\Files_Sharing\Tests\TestCase; |
|
|
|
use Test\Traits\UserTrait; |
|
|
|
|
|
|
|
class ManagerTest extends TestCase { |
|
|
|
use UserTrait; |
|
|
|
|
|
|
|
/** @var Manager **/ |
|
|
|
private $manager; |
|
|
@@ -38,10 +40,17 @@ class ManagerTest extends TestCase { |
|
|
|
|
|
|
|
private $uid; |
|
|
|
|
|
|
|
/** |
|
|
|
* @var \OCP\IUser |
|
|
|
*/ |
|
|
|
private $user; |
|
|
|
|
|
|
|
protected function setUp() { |
|
|
|
parent::setUp(); |
|
|
|
|
|
|
|
$this->uid = $this->getUniqueID('user'); |
|
|
|
$this->createUser($this->uid, ''); |
|
|
|
$this->user = \OC::$server->getUserManager()->get($this->uid); |
|
|
|
$this->mountManager = new \OC\Files\Mount\Manager(); |
|
|
|
$this->httpHelper = $httpHelper = $this->getMockBuilder('\OC\HTTPHelper')->disableOriginalConstructor()->getMock(); |
|
|
|
/** @var \OC\HTTPHelper $httpHelper */ |
|
|
@@ -55,6 +64,13 @@ class ManagerTest extends TestCase { |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
private function setupMounts() { |
|
|
|
$mounts = $this->manager->getMountsForUser($this->user, new StorageFactory()); |
|
|
|
foreach ($mounts as $mount) { |
|
|
|
$this->mountManager->addMount($mount); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public function testAddShare() { |
|
|
|
|
|
|
|
$shareData1 = [ |
|
|
@@ -77,7 +93,7 @@ class ManagerTest extends TestCase { |
|
|
|
$this->assertCount(1, $openShares); |
|
|
|
$this->assertExternalShareEntry($shareData1, $openShares[0], 1, '{{TemporaryMountPointName#' . $shareData1['name'] . '}}'); |
|
|
|
|
|
|
|
self::invokePrivate($this->manager, 'setupMounts'); |
|
|
|
$this->setupMounts(); |
|
|
|
$this->assertNotMount('SharedFolder'); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}'); |
|
|
|
|
|
|
@@ -89,7 +105,7 @@ class ManagerTest extends TestCase { |
|
|
|
// New share falls back to "-1" appendix, because the name is already taken |
|
|
|
$this->assertExternalShareEntry($shareData2, $openShares[1], 2, '{{TemporaryMountPointName#' . $shareData2['name'] . '}}-1'); |
|
|
|
|
|
|
|
self::invokePrivate($this->manager, 'setupMounts'); |
|
|
|
$this->setupMounts(); |
|
|
|
$this->assertNotMount('SharedFolder'); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}'); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}-1'); |
|
|
@@ -111,7 +127,7 @@ class ManagerTest extends TestCase { |
|
|
|
$this->assertCount(1, $openShares); |
|
|
|
$this->assertExternalShareEntry($shareData2, $openShares[0], 2, '{{TemporaryMountPointName#' . $shareData2['name'] . '}}-1'); |
|
|
|
|
|
|
|
self::invokePrivate($this->manager, 'setupMounts'); |
|
|
|
$this->setupMounts(); |
|
|
|
$this->assertMount($shareData1['name']); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}'); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}-1'); |
|
|
@@ -124,7 +140,7 @@ class ManagerTest extends TestCase { |
|
|
|
// New share falls back to the original name (no "-\d", because the name is not taken) |
|
|
|
$this->assertExternalShareEntry($shareData3, $openShares[1], 3, '{{TemporaryMountPointName#' . $shareData3['name'] . '}}'); |
|
|
|
|
|
|
|
self::invokePrivate($this->manager, 'setupMounts'); |
|
|
|
$this->setupMounts(); |
|
|
|
$this->assertMount($shareData1['name']); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}'); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}-1'); |
|
|
@@ -136,7 +152,7 @@ class ManagerTest extends TestCase { |
|
|
|
// Decline the third share |
|
|
|
$this->manager->declineShare($openShares[1]['id']); |
|
|
|
|
|
|
|
self::invokePrivate($this->manager, 'setupMounts'); |
|
|
|
$this->setupMounts(); |
|
|
|
$this->assertMount($shareData1['name']); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}'); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}-1'); |
|
|
@@ -151,7 +167,7 @@ class ManagerTest extends TestCase { |
|
|
|
$this->assertCount(1, $openShares); |
|
|
|
$this->assertExternalShareEntry($shareData2, $openShares[0], 2, '{{TemporaryMountPointName#' . $shareData2['name'] . '}}-1'); |
|
|
|
|
|
|
|
self::invokePrivate($this->manager, 'setupMounts'); |
|
|
|
$this->setupMounts(); |
|
|
|
$this->assertMount($shareData1['name']); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}'); |
|
|
|
$this->assertNotMount('{{TemporaryMountPointName#' . $shareData1['name'] . '}}-1'); |