aboutsummaryrefslogtreecommitdiffstats
path: root/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/federatedfilesharing/tests/FederatedShareProviderTest.php')
-rw-r--r--apps/federatedfilesharing/tests/FederatedShareProviderTest.php189
1 files changed, 73 insertions, 116 deletions
diff --git a/apps/federatedfilesharing/tests/FederatedShareProviderTest.php b/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
index 002a8bac374..7e97510af22 100644
--- a/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
+++ b/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -38,68 +39,46 @@ 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->createMock(ICacheFactory::class),
+ $this->createMock(IEventDispatcher::class),
$this->contactsManager,
$this->createMock(IURLGenerator::class),
$this->userManager,
- $this->createMock(ICacheFactory::class),
- $this->createMock(IEventDispatcher::class)
);
$this->gsConfig = $this->createMock(\OCP\GlobalScale\IConfig::class);
@@ -122,30 +101,28 @@ 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'],
];
}
- /**
- * @dataProvider dataTestCreate
- */
- public function testCreate($expirationDate, $expectedDataDate): void {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestCreate')]
+ 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 +167,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 +204,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 +254,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 +265,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 +315,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 +326,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 +358,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 +369,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');
@@ -440,11 +417,9 @@ class FederatedShareProviderTest extends \Test\TestCase {
}
}
- /**
- * @dataProvider dataTestUpdate
- */
- public function testUpdate($owner, $sharedBy, $expirationDate): void {
- $this->provider = $this->getMockBuilder('OCA\FederatedFileSharing\FederatedShareProvider')
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestUpdate')]
+ public function testUpdate(string $owner, string $sharedBy, ?\DateTime $expirationDate): void {
+ $this->provider = $this->getMockBuilder(FederatedShareProvider::class)
->setConstructorArgs(
[
$this->connection,
@@ -460,11 +435,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 +497,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 +505,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 +551,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 +598,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 +640,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 +690,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],
@@ -724,7 +701,6 @@ class FederatedShareProviderTest extends \Test\TestCase {
}
/**
- * @dataProvider dataDeleteUser
*
* @param string $owner The owner of the share (uid)
* @param string $initiator The initiator of the share (uid)
@@ -732,7 +708,8 @@ 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 {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataDeleteUser')]
+ 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 +719,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,20 +731,15 @@ class FederatedShareProviderTest extends \Test\TestCase {
->where(
$qb->expr()->eq('id', $qb->createNamedParameter($id))
);
- $cursor = $qb->execute();
+ $cursor = $qb->executeQuery();
$data = $cursor->fetchAll();
$cursor->closeCursor();
$this->assertCount($rowDeleted ? 0 : 1, $data);
}
- /**
- * @dataProvider dataTestIsOutgoingServer2serverShareEnabled
- *
- * @param string $isEnabled
- * @param bool $expected
- */
- public function testIsOutgoingServer2serverShareEnabled($internalOnly, $isEnabled, $expected): void {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestIsOutgoingServer2serverShareEnabled')]
+ 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 +751,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
);
}
- public function dataTestIsOutgoingServer2serverShareEnabled() {
+ public static function dataTestIsOutgoingServer2serverShareEnabled(): array {
return [
[false, 'yes', true],
[false, 'no', false],
@@ -788,13 +760,8 @@ class FederatedShareProviderTest extends \Test\TestCase {
];
}
- /**
- * @dataProvider dataTestIsIncomingServer2serverShareEnabled
- *
- * @param string $isEnabled
- * @param bool $expected
- */
- public function testIsIncomingServer2serverShareEnabled($onlyInternal, $isEnabled, $expected): void {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestIsIncomingServer2serverShareEnabled')]
+ 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 +773,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
);
}
- public function dataTestIsIncomingServer2serverShareEnabled() {
+ public static function dataTestIsIncomingServer2serverShareEnabled(): array {
return [
[false, 'yes', true],
[false, 'no', false],
@@ -815,13 +782,8 @@ class FederatedShareProviderTest extends \Test\TestCase {
];
}
- /**
- * @dataProvider dataTestIsLookupServerQueriesEnabled
- *
- * @param string $isEnabled
- * @param bool $expected
- */
- public function testIsLookupServerQueriesEnabled($gsEnabled, $isEnabled, $expected): void {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestIsLookupServerQueriesEnabled')]
+ 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 +796,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
}
- public function dataTestIsLookupServerQueriesEnabled() {
+ public static function dataTestIsLookupServerQueriesEnabled(): array {
return [
[true, 'yes', true],
[true, 'no', true],
@@ -846,13 +808,8 @@ class FederatedShareProviderTest extends \Test\TestCase {
];
}
- /**
- * @dataProvider dataTestIsLookupServerUploadEnabled
- *
- * @param string $isEnabled
- * @param bool $expected
- */
- public function testIsLookupServerUploadEnabled($gsEnabled, $isEnabled, $expected): void {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestIsLookupServerUploadEnabled')]
+ 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 +821,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
);
}
- public function dataTestIsLookupServerUploadEnabled() {
+ public static function dataTestIsLookupServerUploadEnabled(): array {
return [
[true, 'yes', false],
[true, 'no', false],
@@ -880,8 +837,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 +891,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');