|
|
|
@ -1,5 +1,6 @@ |
|
|
|
|
<?php |
|
|
|
|
|
|
|
|
|
declare(strict_types=1); |
|
|
|
|
/** |
|
|
|
|
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors |
|
|
|
|
* SPDX-FileCopyrightText: 2016 ownCloud, Inc. |
|
|
|
@ -38,61 +39,39 @@ use Psr\Log\LoggerInterface; |
|
|
|
|
* @group DB |
|
|
|
|
*/ |
|
|
|
|
class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
/** @var IDBConnection */ |
|
|
|
|
protected $connection; |
|
|
|
|
/** @var AddressHandler|MockObject */ |
|
|
|
|
protected $addressHandler; |
|
|
|
|
/** @var Notifications|MockObject */ |
|
|
|
|
protected $notifications; |
|
|
|
|
/** @var TokenHandler|MockObject */ |
|
|
|
|
protected $tokenHandler; |
|
|
|
|
/** @var IL10N */ |
|
|
|
|
protected $l; |
|
|
|
|
/** @var LoggerInterface */ |
|
|
|
|
protected $logger; |
|
|
|
|
/** @var IRootFolder|MockObject */ |
|
|
|
|
protected $rootFolder; |
|
|
|
|
/** @var IConfig|MockObject */ |
|
|
|
|
protected $config; |
|
|
|
|
/** @var IUserManager|MockObject */ |
|
|
|
|
protected $userManager; |
|
|
|
|
/** @var \OCP\GlobalScale\IConfig|MockObject */ |
|
|
|
|
protected $gsConfig; |
|
|
|
|
|
|
|
|
|
/** @var IManager */ |
|
|
|
|
protected $shareManager; |
|
|
|
|
/** @var FederatedShareProvider */ |
|
|
|
|
protected $provider; |
|
|
|
|
/** @var IContactsManager|MockObject */ |
|
|
|
|
protected $contactsManager; |
|
|
|
|
|
|
|
|
|
/** @var ICloudIdManager */ |
|
|
|
|
private $cloudIdManager; |
|
|
|
|
|
|
|
|
|
/** @var MockObject|ICloudFederationProviderManager */ |
|
|
|
|
private $cloudFederationProviderManager; |
|
|
|
|
protected IDBConnection $connection; |
|
|
|
|
protected AddressHandler&MockObject $addressHandler; |
|
|
|
|
protected Notifications&MockObject $notifications; |
|
|
|
|
protected TokenHandler&MockObject $tokenHandler; |
|
|
|
|
protected IL10N $l; |
|
|
|
|
protected LoggerInterface $logger; |
|
|
|
|
protected IRootFolder&MockObject $rootFolder; |
|
|
|
|
protected IConfig&MockObject $config; |
|
|
|
|
protected IUserManager&MockObject $userManager; |
|
|
|
|
protected \OCP\GlobalScale\IConfig&MockObject $gsConfig; |
|
|
|
|
protected IManager $shareManager; |
|
|
|
|
protected FederatedShareProvider $provider; |
|
|
|
|
protected IContactsManager&MockObject $contactsManager; |
|
|
|
|
private ICloudIdManager $cloudIdManager; |
|
|
|
|
private ICloudFederationProviderManager&MockObject $cloudFederationProviderManager; |
|
|
|
|
|
|
|
|
|
protected function setUp(): void { |
|
|
|
|
parent::setUp(); |
|
|
|
|
|
|
|
|
|
$this->connection = Server::get(IDBConnection::class); |
|
|
|
|
$this->notifications = $this->getMockBuilder('OCA\FederatedFileSharing\Notifications') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$this->tokenHandler = $this->getMockBuilder('OCA\FederatedFileSharing\TokenHandler') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$this->l = $this->getMockBuilder(IL10N::class)->getMock(); |
|
|
|
|
$this->notifications = $this->createMock(Notifications::class); |
|
|
|
|
$this->tokenHandler = $this->createMock(TokenHandler::class); |
|
|
|
|
$this->l = $this->createMock(IL10N::class); |
|
|
|
|
$this->l->method('t') |
|
|
|
|
->willReturnCallback(function ($text, $parameters = []) { |
|
|
|
|
return vsprintf($text, $parameters); |
|
|
|
|
}); |
|
|
|
|
$this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock(); |
|
|
|
|
$this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->getMock(); |
|
|
|
|
$this->config = $this->getMockBuilder(IConfig::class)->getMock(); |
|
|
|
|
$this->userManager = $this->getMockBuilder(IUserManager::class)->getMock(); |
|
|
|
|
$this->logger = $this->createMock(LoggerInterface::class); |
|
|
|
|
$this->rootFolder = $this->createMock(IRootFolder::class); |
|
|
|
|
$this->config = $this->createMock(IConfig::class); |
|
|
|
|
$this->userManager = $this->createMock(IUserManager::class); |
|
|
|
|
//$this->addressHandler = new AddressHandler(\OC::$server->getURLGenerator(), $this->l); |
|
|
|
|
$this->addressHandler = $this->getMockBuilder('OCA\FederatedFileSharing\AddressHandler')->disableOriginalConstructor()->getMock(); |
|
|
|
|
$this->addressHandler = $this->createMock(AddressHandler::class); |
|
|
|
|
$this->contactsManager = $this->createMock(IContactsManager::class); |
|
|
|
|
$this->cloudIdManager = new CloudIdManager( |
|
|
|
|
$this->contactsManager, |
|
|
|
@ -122,16 +101,16 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$this->logger, |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
$this->shareManager = Server::get(\OCP\Share\IManager::class); |
|
|
|
|
$this->shareManager = Server::get(IManager::class); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected function tearDown(): void { |
|
|
|
|
$this->connection->getQueryBuilder()->delete('share')->execute(); |
|
|
|
|
$this->connection->getQueryBuilder()->delete('share')->executeStatement(); |
|
|
|
|
|
|
|
|
|
parent::tearDown(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function dataTestCreate() { |
|
|
|
|
public static function dataTestCreate(): array { |
|
|
|
|
return [ |
|
|
|
|
[null, null], |
|
|
|
|
[new \DateTime('2020-03-01T01:02:03'), '2020-03-01 01:02:03'], |
|
|
|
@ -141,11 +120,11 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
/** |
|
|
|
|
* @dataProvider dataTestCreate |
|
|
|
|
*/ |
|
|
|
|
public function testCreate($expirationDate, $expectedDataDate): void { |
|
|
|
|
public function testCreate(?\DateTime $expirationDate, ?string $expectedDataDate): void { |
|
|
|
|
$share = $this->shareManager->newShare(); |
|
|
|
|
|
|
|
|
|
/** @var File|MockObject $node */ |
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
/** @var File&MockObject $node */ |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -190,7 +169,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$stmt = $qb->select('*') |
|
|
|
|
->from('share') |
|
|
|
|
->where($qb->expr()->eq('id', $qb->createNamedParameter($share->getId()))) |
|
|
|
|
->execute(); |
|
|
|
|
->executeQuery(); |
|
|
|
|
|
|
|
|
|
$data = $stmt->fetch(); |
|
|
|
|
$stmt->closeCursor(); |
|
|
|
@ -227,7 +206,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
public function testCreateCouldNotFindServer(): void { |
|
|
|
|
$share = $this->shareManager->newShare(); |
|
|
|
|
|
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -277,7 +256,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$stmt = $qb->select('*') |
|
|
|
|
->from('share') |
|
|
|
|
->where($qb->expr()->eq('id', $qb->createNamedParameter($share->getId()))) |
|
|
|
|
->execute(); |
|
|
|
|
->executeQuery(); |
|
|
|
|
|
|
|
|
|
$data = $stmt->fetch(); |
|
|
|
|
$stmt->closeCursor(); |
|
|
|
@ -288,7 +267,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
public function testCreateException(): void { |
|
|
|
|
$share = $this->shareManager->newShare(); |
|
|
|
|
|
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -338,7 +317,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$stmt = $qb->select('*') |
|
|
|
|
->from('share') |
|
|
|
|
->where($qb->expr()->eq('id', $qb->createNamedParameter($share->getId()))) |
|
|
|
|
->execute(); |
|
|
|
|
->executeQuery(); |
|
|
|
|
|
|
|
|
|
$data = $stmt->fetch(); |
|
|
|
|
$stmt->closeCursor(); |
|
|
|
@ -349,7 +328,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
public function testCreateShareWithSelf(): void { |
|
|
|
|
$share = $this->shareManager->newShare(); |
|
|
|
|
|
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -381,7 +360,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$stmt = $qb->select('*') |
|
|
|
|
->from('share') |
|
|
|
|
->where($qb->expr()->eq('id', $qb->createNamedParameter($share->getId()))) |
|
|
|
|
->execute(); |
|
|
|
|
->executeQuery(); |
|
|
|
|
|
|
|
|
|
$data = $stmt->fetch(); |
|
|
|
|
$stmt->closeCursor(); |
|
|
|
@ -392,7 +371,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
public function testCreateAlreadyShared(): void { |
|
|
|
|
$share = $this->shareManager->newShare(); |
|
|
|
|
|
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -443,8 +422,8 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
/** |
|
|
|
|
* @dataProvider dataTestUpdate |
|
|
|
|
*/ |
|
|
|
|
public function testUpdate($owner, $sharedBy, $expirationDate): void { |
|
|
|
|
$this->provider = $this->getMockBuilder('OCA\FederatedFileSharing\FederatedShareProvider') |
|
|
|
|
public function testUpdate(string $owner, string $sharedBy, ?\DateTime $expirationDate): void { |
|
|
|
|
$this->provider = $this->getMockBuilder(FederatedShareProvider::class) |
|
|
|
|
->setConstructorArgs( |
|
|
|
|
[ |
|
|
|
|
$this->connection, |
|
|
|
@ -460,11 +439,13 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$this->cloudFederationProviderManager, |
|
|
|
|
$this->logger, |
|
|
|
|
] |
|
|
|
|
)->setMethods(['sendPermissionUpdate'])->getMock(); |
|
|
|
|
) |
|
|
|
|
->onlyMethods(['sendPermissionUpdate']) |
|
|
|
|
->getMock(); |
|
|
|
|
|
|
|
|
|
$share = $this->shareManager->newShare(); |
|
|
|
|
|
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -520,7 +501,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$this->assertEquals($expirationDate, $share->getExpirationDate()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function dataTestUpdate() { |
|
|
|
|
public static function dataTestUpdate(): array { |
|
|
|
|
return [ |
|
|
|
|
['sharedBy', 'shareOwner', new \DateTime('2020-03-01T01:02:03')], |
|
|
|
|
['shareOwner', 'shareOwner', null], |
|
|
|
@ -528,7 +509,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testGetSharedBy(): void { |
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -574,7 +555,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testGetSharedByWithNode(): void { |
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -621,7 +602,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testGetSharedByWithReshares(): void { |
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -663,7 +644,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testGetSharedByWithLimit(): void { |
|
|
|
|
$node = $this->getMockBuilder(File::class)->getMock(); |
|
|
|
|
$node = $this->createMock(File::class); |
|
|
|
|
$node->method('getId')->willReturn(42); |
|
|
|
|
$node->method('getName')->willReturn('myFile'); |
|
|
|
|
|
|
|
|
@ -713,7 +694,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$this->assertEquals('user2@server.com', $shares[0]->getSharedWith()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function dataDeleteUser() { |
|
|
|
|
public static function dataDeleteUser(): array { |
|
|
|
|
return [ |
|
|
|
|
['a', 'b', 'c', 'a', true], |
|
|
|
|
['a', 'b', 'c', 'b', false], |
|
|
|
@ -732,7 +713,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
* @param string $deletedUser The user that is deleted |
|
|
|
|
* @param bool $rowDeleted Is the row deleted in this setup |
|
|
|
|
*/ |
|
|
|
|
public function testDeleteUser($owner, $initiator, $recipient, $deletedUser, $rowDeleted): void { |
|
|
|
|
public function testDeleteUser(string $owner, string $initiator, string $recipient, string $deletedUser, bool $rowDeleted): void { |
|
|
|
|
$qb = $this->connection->getQueryBuilder(); |
|
|
|
|
$qb->insert('share') |
|
|
|
|
->setValue('share_type', $qb->createNamedParameter(IShare::TYPE_REMOTE)) |
|
|
|
@ -742,7 +723,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
->setValue('item_type', $qb->createNamedParameter('file')) |
|
|
|
|
->setValue('item_source', $qb->createNamedParameter(42)) |
|
|
|
|
->setValue('file_source', $qb->createNamedParameter(42)) |
|
|
|
|
->execute(); |
|
|
|
|
->executeStatement(); |
|
|
|
|
|
|
|
|
|
$id = $qb->getLastInsertId(); |
|
|
|
|
|
|
|
|
@ -754,7 +735,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
->where( |
|
|
|
|
$qb->expr()->eq('id', $qb->createNamedParameter($id)) |
|
|
|
|
); |
|
|
|
|
$cursor = $qb->execute(); |
|
|
|
|
$cursor = $qb->executeQuery(); |
|
|
|
|
$data = $cursor->fetchAll(); |
|
|
|
|
$cursor->closeCursor(); |
|
|
|
|
|
|
|
|
@ -763,11 +744,8 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dataProvider dataTestIsOutgoingServer2serverShareEnabled |
|
|
|
|
* |
|
|
|
|
* @param string $isEnabled |
|
|
|
|
* @param bool $expected |
|
|
|
|
*/ |
|
|
|
|
public function testIsOutgoingServer2serverShareEnabled($internalOnly, $isEnabled, $expected): void { |
|
|
|
|
public function testIsOutgoingServer2serverShareEnabled(bool $internalOnly, string $isEnabled, bool $expected): void { |
|
|
|
|
$this->gsConfig->expects($this->once())->method('onlyInternalFederation') |
|
|
|
|
->willReturn($internalOnly); |
|
|
|
|
$this->config->expects($this->any())->method('getAppValue') |
|
|
|
@ -779,7 +757,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function dataTestIsOutgoingServer2serverShareEnabled() { |
|
|
|
|
public static function dataTestIsOutgoingServer2serverShareEnabled(): array { |
|
|
|
|
return [ |
|
|
|
|
[false, 'yes', true], |
|
|
|
|
[false, 'no', false], |
|
|
|
@ -790,11 +768,8 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dataProvider dataTestIsIncomingServer2serverShareEnabled |
|
|
|
|
* |
|
|
|
|
* @param string $isEnabled |
|
|
|
|
* @param bool $expected |
|
|
|
|
*/ |
|
|
|
|
public function testIsIncomingServer2serverShareEnabled($onlyInternal, $isEnabled, $expected): void { |
|
|
|
|
public function testIsIncomingServer2serverShareEnabled(bool $onlyInternal, string $isEnabled, bool $expected): void { |
|
|
|
|
$this->gsConfig->expects($this->once())->method('onlyInternalFederation') |
|
|
|
|
->willReturn($onlyInternal); |
|
|
|
|
$this->config->expects($this->any())->method('getAppValue') |
|
|
|
@ -806,7 +781,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function dataTestIsIncomingServer2serverShareEnabled() { |
|
|
|
|
public static function dataTestIsIncomingServer2serverShareEnabled(): array { |
|
|
|
|
return [ |
|
|
|
|
[false, 'yes', true], |
|
|
|
|
[false, 'no', false], |
|
|
|
@ -817,11 +792,8 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dataProvider dataTestIsLookupServerQueriesEnabled |
|
|
|
|
* |
|
|
|
|
* @param string $isEnabled |
|
|
|
|
* @param bool $expected |
|
|
|
|
*/ |
|
|
|
|
public function testIsLookupServerQueriesEnabled($gsEnabled, $isEnabled, $expected): void { |
|
|
|
|
public function testIsLookupServerQueriesEnabled(bool $gsEnabled, string $isEnabled, bool $expected): void { |
|
|
|
|
$this->gsConfig->expects($this->once())->method('isGlobalScaleEnabled') |
|
|
|
|
->willReturn($gsEnabled); |
|
|
|
|
$this->config->expects($this->any())->method('getAppValue') |
|
|
|
@ -834,7 +806,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function dataTestIsLookupServerQueriesEnabled() { |
|
|
|
|
public static function dataTestIsLookupServerQueriesEnabled(): array { |
|
|
|
|
return [ |
|
|
|
|
[true, 'yes', true], |
|
|
|
|
[true, 'no', true], |
|
|
|
@ -848,11 +820,8 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dataProvider dataTestIsLookupServerUploadEnabled |
|
|
|
|
* |
|
|
|
|
* @param string $isEnabled |
|
|
|
|
* @param bool $expected |
|
|
|
|
*/ |
|
|
|
|
public function testIsLookupServerUploadEnabled($gsEnabled, $isEnabled, $expected): void { |
|
|
|
|
public function testIsLookupServerUploadEnabled(bool $gsEnabled, string $isEnabled, bool $expected): void { |
|
|
|
|
$this->gsConfig->expects($this->once())->method('isGlobalScaleEnabled') |
|
|
|
|
->willReturn($gsEnabled); |
|
|
|
|
$this->config->expects($this->any())->method('getAppValue') |
|
|
|
@ -864,7 +833,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function dataTestIsLookupServerUploadEnabled() { |
|
|
|
|
public static function dataTestIsLookupServerUploadEnabled(): array { |
|
|
|
|
return [ |
|
|
|
|
[true, 'yes', false], |
|
|
|
|
[true, 'no', false], |
|
|
|
@ -880,8 +849,8 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$userManager = Server::get(IUserManager::class); |
|
|
|
|
$rootFolder = Server::get(IRootFolder::class); |
|
|
|
|
|
|
|
|
|
$u1 = $userManager->createUser('testFed', md5(time())); |
|
|
|
|
$u2 = $userManager->createUser('testFed2', md5(time())); |
|
|
|
|
$u1 = $userManager->createUser('testFed', md5((string)time())); |
|
|
|
|
$u2 = $userManager->createUser('testFed2', md5((string)time())); |
|
|
|
|
|
|
|
|
|
$folder1 = $rootFolder->getUserFolder($u1->getUID())->newFolder('foo'); |
|
|
|
|
$file1 = $folder1->newFile('bar1'); |
|
|
|
@ -934,7 +903,7 @@ class FederatedShareProviderTest extends \Test\TestCase { |
|
|
|
|
$userManager = Server::get(IUserManager::class); |
|
|
|
|
$rootFolder = Server::get(IRootFolder::class); |
|
|
|
|
|
|
|
|
|
$u1 = $userManager->createUser('testFed', md5(time())); |
|
|
|
|
$u1 = $userManager->createUser('testFed', md5((string)time())); |
|
|
|
|
|
|
|
|
|
$folder1 = $rootFolder->getUserFolder($u1->getUID())->newFolder('foo'); |
|
|
|
|
$file1 = $folder1->newFile('bar1'); |
|
|
|
|