aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2025-05-29 11:50:46 +0200
committerJoas Schilling <coding@schilljs.com>2025-05-29 12:20:20 +0200
commitfa645663a891eb121fe275a203b881e0f12df4ba (patch)
tree39c17ff9e42f14538ac46d44188b4d8d25896138
parent3bdb89c3b26d1c2a8a6107467940a1846c66e34f (diff)
downloadnextcloud-server-fa645663a891eb121fe275a203b881e0f12df4ba.tar.gz
nextcloud-server-fa645663a891eb121fe275a203b881e0f12df4ba.zip
test: Migrate federated file sharing to PHPUnit 10
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r--apps/federatedfilesharing/tests/AddressHandlerTest.php72
-rw-r--r--apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php106
-rw-r--r--apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php93
-rw-r--r--apps/federatedfilesharing/tests/FederatedShareProviderTest.php159
-rw-r--r--apps/federatedfilesharing/tests/NotificationsTest.php89
-rw-r--r--apps/federatedfilesharing/tests/Settings/AdminTest.php48
-rw-r--r--apps/federatedfilesharing/tests/TestCase.php11
-rw-r--r--apps/federatedfilesharing/tests/TokenHandlerTest.php14
8 files changed, 220 insertions, 372 deletions
diff --git a/apps/federatedfilesharing/tests/AddressHandlerTest.php b/apps/federatedfilesharing/tests/AddressHandlerTest.php
index ffb34d965ce..232ac21a869 100644
--- a/apps/federatedfilesharing/tests/AddressHandlerTest.php
+++ b/apps/federatedfilesharing/tests/AddressHandlerTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -16,31 +17,20 @@ use OCP\ICacheFactory;
use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\IUserManager;
+use PHPUnit\Framework\MockObject\MockObject;
class AddressHandlerTest extends \Test\TestCase {
- /** @var IManager|\PHPUnit\Framework\MockObject\MockObject */
- protected $contactsManager;
-
- /** @var AddressHandler */
- private $addressHandler;
-
- /** @var IURLGenerator | \PHPUnit\Framework\MockObject\MockObject */
- private $urlGenerator;
-
- /** @var IL10N | \PHPUnit\Framework\MockObject\MockObject */
- private $il10n;
-
- /** @var CloudIdManager */
- private $cloudIdManager;
+ protected IManager&MockObject $contactsManager;
+ private IURLGenerator&MockObject $urlGenerator;
+ private IL10N&MockObject $il10n;
+ private CloudIdManager $cloudIdManager;
+ private AddressHandler $addressHandler;
protected function setUp(): void {
parent::setUp();
- $this->urlGenerator = $this->getMockBuilder(IURLGenerator::class)
- ->getMock();
- $this->il10n = $this->getMockBuilder(IL10N::class)
- ->getMock();
-
+ $this->urlGenerator = $this->createMock(IURLGenerator::class);
+ $this->il10n = $this->createMock(IL10N::class);
$this->contactsManager = $this->createMock(IManager::class);
$this->cloudIdManager = new CloudIdManager(
@@ -54,7 +44,7 @@ class AddressHandlerTest extends \Test\TestCase {
$this->addressHandler = new AddressHandler($this->urlGenerator, $this->il10n, $this->cloudIdManager);
}
- public function dataTestSplitUserRemote() {
+ public static function dataTestSplitUserRemote(): array {
$userPrefix = ['user@name', 'username'];
$protocols = ['', 'http://', 'https://'];
$remotes = [
@@ -92,12 +82,8 @@ class AddressHandlerTest extends \Test\TestCase {
/**
* @dataProvider dataTestSplitUserRemote
- *
- * @param string $remote
- * @param string $expectedUser
- * @param string $expectedUrl
*/
- public function testSplitUserRemote($remote, $expectedUser, $expectedUrl): void {
+ public function testSplitUserRemote(string $remote, string $expectedUser, string $expectedUrl): void {
$this->contactsManager->expects($this->any())
->method('search')
->willReturn([]);
@@ -107,7 +93,7 @@ class AddressHandlerTest extends \Test\TestCase {
$this->assertSame($expectedUrl, $remoteUrl);
}
- public function dataTestSplitUserRemoteError() {
+ public static function dataTestSplitUserRemoteError(): array {
return [
// Invalid path
['user@'],
@@ -127,10 +113,8 @@ class AddressHandlerTest extends \Test\TestCase {
/**
* @dataProvider dataTestSplitUserRemoteError
- *
- * @param string $id
*/
- public function testSplitUserRemoteError($id): void {
+ public function testSplitUserRemoteError(string $id): void {
$this->expectException(HintException::class);
$this->addressHandler->splitUserRemote($id);
@@ -138,20 +122,14 @@ class AddressHandlerTest extends \Test\TestCase {
/**
* @dataProvider dataTestCompareAddresses
- *
- * @param string $user1
- * @param string $server1
- * @param string $user2
- * @param string $server2
- * @param bool $expected
*/
- public function testCompareAddresses($user1, $server1, $user2, $server2, $expected): void {
+ public function testCompareAddresses(string $user1, string $server1, string $user2, string $server2, bool $expected): void {
$this->assertSame($expected,
$this->addressHandler->compareAddresses($user1, $server1, $user2, $server2)
);
}
- public function dataTestCompareAddresses() {
+ public static function dataTestCompareAddresses(): array {
return [
['user1', 'http://server1', 'user1', 'http://server1', true],
['user1', 'https://server1', 'user1', 'http://server1', true],
@@ -173,35 +151,29 @@ class AddressHandlerTest extends \Test\TestCase {
/**
* @dataProvider dataTestRemoveProtocolFromUrl
- *
- * @param string $url
- * @param string $expectedResult
*/
- public function testRemoveProtocolFromUrl($url, $expectedResult): void {
+ public function testRemoveProtocolFromUrl(string $url, string $expectedResult): void {
$result = $this->addressHandler->removeProtocolFromUrl($url);
$this->assertSame($expectedResult, $result);
}
- public function dataTestRemoveProtocolFromUrl() {
+ public static function dataTestRemoveProtocolFromUrl(): array {
return [
- ['http://owncloud.org', 'owncloud.org'],
- ['https://owncloud.org', 'owncloud.org'],
- ['owncloud.org', 'owncloud.org'],
+ ['http://example.tld', 'example.tld'],
+ ['https://example.tld', 'example.tld'],
+ ['example.tld', 'example.tld'],
];
}
/**
* @dataProvider dataTestUrlContainProtocol
- *
- * @param string $url
- * @param bool $expectedResult
*/
- public function testUrlContainProtocol($url, $expectedResult): void {
+ public function testUrlContainProtocol(string $url, bool $expectedResult): void {
$result = $this->addressHandler->urlContainProtocol($url);
$this->assertSame($expectedResult, $result);
}
- public function dataTestUrlContainProtocol() {
+ public static function dataTestUrlContainProtocol(): array {
return [
['http://nextcloud.com', true],
['https://nextcloud.com', true],
diff --git a/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php b/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
index 8222f25bb49..a6c10148425 100644
--- a/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
+++ b/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
@@ -1,4 +1,6 @@
<?php
+
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -31,64 +33,35 @@ use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
class MountPublicLinkControllerTest extends \Test\TestCase {
- /** @var IContactsManager|MockObject */
- protected $contactsManager;
-
- /** @var MountPublicLinkController */
- private $controller;
-
- /** @var IRequest|MockObject */
- private $request;
-
- /** @var FederatedShareProvider|MockObject */
- private $federatedShareProvider;
-
- /** @var IManager|MockObject */
- private $shareManager;
-
- /** @var AddressHandler|MockObject */
- private $addressHandler;
-
- /** @var IRootFolder|MockObject */
- private $rootFolder;
-
- /** @var IUserManager|MockObject */
- private $userManager;
-
- /** @var ISession|MockObject */
- private $session;
-
- /** @var IL10N|MockObject */
- private $l10n;
-
- /** @var IUserSession|MockObject */
- private $userSession;
-
- /** @var IClientService|MockObject */
- private $clientService;
-
- /** @var IShare */
- private $share;
-
- /** @var ICloudIdManager */
- private $cloudIdManager;
+ protected IContactsManager&MockObject $contactsManager;
+ private IRequest&MockObject $request;
+ private FederatedShareProvider&MockObject $federatedShareProvider;
+ private IManager&MockObject $shareManager;
+ private AddressHandler&MockObject $addressHandler;
+ private IRootFolder&MockObject $rootFolder;
+ private IUserManager&MockObject $userManager;
+ private ISession&MockObject $session;
+ private IL10N&MockObject $l10n;
+ private IUserSession&MockObject $userSession;
+ private IClientService&MockObject $clientService;
+ private IShare $share;
+ private ICloudIdManager $cloudIdManager;
+ private MountPublicLinkController $controller;
protected function setUp(): void {
parent::setUp();
- $this->request = $this->getMockBuilder(IRequest::class)->disableOriginalConstructor()->getMock();
- $this->federatedShareProvider = $this->getMockBuilder('OCA\FederatedFileSharing\FederatedShareProvider')
- ->disableOriginalConstructor()->getMock();
- $this->shareManager = $this->getMockBuilder(IManager::class)->disableOriginalConstructor()->getMock();
- $this->addressHandler = $this->getMockBuilder('OCA\FederatedFileSharing\AddressHandler')
- ->disableOriginalConstructor()->getMock();
- $this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->disableOriginalConstructor()->getMock();
- $this->userManager = $this->getMockBuilder(IUserManager::class)->disableOriginalConstructor()->getMock();
+ $this->request = $this->createMock(IRequest::class);
+ $this->federatedShareProvider = $this->createMock(FederatedShareProvider::class);
+ $this->shareManager = $this->createMock(IManager::class);
+ $this->addressHandler = $this->createMock(AddressHandler::class);
+ $this->rootFolder = $this->createMock(IRootFolder::class);
+ $this->userManager = $this->createMock(IUserManager::class);
$this->share = new Share($this->rootFolder, $this->userManager);
- $this->session = $this->getMockBuilder(ISession::class)->disableOriginalConstructor()->getMock();
- $this->l10n = $this->getMockBuilder(IL10N::class)->disableOriginalConstructor()->getMock();
- $this->userSession = $this->getMockBuilder(IUserSession::class)->disableOriginalConstructor()->getMock();
- $this->clientService = $this->getMockBuilder('OCP\Http\Client\IClientService')->disableOriginalConstructor()->getMock();
+ $this->session = $this->createMock(ISession::class);
+ $this->l10n = $this->createMock(IL10N::class);
+ $this->userSession = $this->createMock(IUserSession::class);
+ $this->clientService = $this->createMock(IClientService::class);
$this->contactsManager = $this->createMock(IContactsManager::class);
$this->cloudIdManager = new CloudIdManager(
$this->contactsManager,
@@ -114,23 +87,16 @@ class MountPublicLinkControllerTest extends \Test\TestCase {
/**
* @dataProvider dataTestCreateFederatedShare
- *
- * @param string $shareWith
- * @param bool $outgoingSharesAllowed
- * @param bool $validShareWith
- * @param string $token
- * @param bool $validToken
- * @param bool $createSuccessful
- * @param string $expectedReturnData
*/
- public function testCreateFederatedShare($shareWith,
- $outgoingSharesAllowed,
- $validShareWith,
- $token,
- $validToken,
- $createSuccessful,
- $expectedReturnData,
- $permissions,
+ public function testCreateFederatedShare(
+ string $shareWith,
+ bool $outgoingSharesAllowed,
+ bool $validShareWith,
+ string $token,
+ bool $validToken,
+ bool $createSuccessful,
+ string $expectedReturnData,
+ int $permissions,
): void {
$this->federatedShareProvider->expects($this->any())
->method('isOutgoingServer2serverShareEnabled')
@@ -188,7 +154,7 @@ class MountPublicLinkControllerTest extends \Test\TestCase {
}
}
- public function dataTestCreateFederatedShare() {
+ public static function dataTestCreateFederatedShare(): array {
return [
//shareWith, outgoingSharesAllowed, validShareWith, token, validToken, createSuccessful, expectedReturnData
['user@server', true, true, 'token', true, true, 'server', 31],
diff --git a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php
index c4c45c1aca5..81c67a29254 100644
--- a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php
+++ b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -23,6 +24,7 @@ use OCP\IRequest;
use OCP\IUserManager;
use OCP\Share;
use OCP\Share\IShare;
+use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
/**
@@ -32,65 +34,32 @@ use Psr\Log\LoggerInterface;
* @group DB
*/
class RequestHandlerControllerTest extends \Test\TestCase {
- private $owner = 'owner';
- private $user1 = 'user1';
- private $user2 = 'user2';
- private $ownerCloudId = 'owner@server0.org';
- private $user1CloudId = 'user1@server1.org';
- private $user2CloudId = 'user2@server2.org';
-
- /** @var RequestHandlerController */
- private $requestHandler;
-
- /** @var FederatedShareProvider|\PHPUnit\Framework\MockObject\MockObject */
- private $federatedShareProvider;
-
- /** @var Notifications|\PHPUnit\Framework\MockObject\MockObject */
- private $notifications;
-
- /** @var AddressHandler|\PHPUnit\Framework\MockObject\MockObject */
- private $addressHandler;
-
- /** @var IUserManager|\PHPUnit\Framework\MockObject\MockObject */
- private $userManager;
-
- /** @var IShare|\PHPUnit\Framework\MockObject\MockObject */
- private $share;
-
- /** @var ICloudIdManager|\PHPUnit\Framework\MockObject\MockObject */
- private $cloudIdManager;
-
- /** @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject */
- private $logger;
-
- /** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */
- private $request;
-
- /** @var IDBConnection|\PHPUnit\Framework\MockObject\MockObject */
- private $connection;
-
- /** @var Share\IManager|\PHPUnit\Framework\MockObject\MockObject */
- private $shareManager;
-
- /** @var ICloudFederationFactory|\PHPUnit\Framework\MockObject\MockObject */
- private $cloudFederationFactory;
-
- /** @var ICloudFederationProviderManager|\PHPUnit\Framework\MockObject\MockObject */
- private $cloudFederationProviderManager;
-
- /** @var ICloudFederationProvider|\PHPUnit\Framework\MockObject\MockObject */
- private $cloudFederationProvider;
-
- /** @var ICloudFederationShare|\PHPUnit\Framework\MockObject\MockObject */
- private $cloudFederationShare;
-
- /** @var IEventDispatcher|\PHPUnit\Framework\MockObject\MockObject */
- private $eventDispatcher;
+ private string $owner = 'owner';
+ private string $user1 = 'user1';
+ private string $user2 = 'user2';
+ private string $ownerCloudId = 'owner@server0.org';
+ private string $user1CloudId = 'user1@server1.org';
+
+ private RequestHandlerController $requestHandler;
+ private FederatedShareProvider&MockObject $federatedShareProvider;
+ private Notifications&MockObject $notifications;
+ private AddressHandler&MockObject $addressHandler;
+ private IUserManager&MockObject $userManager;
+ private IShare&MockObject $share;
+ private ICloudIdManager&MockObject $cloudIdManager;
+ private LoggerInterface&MockObject $logger;
+ private IRequest&MockObject $request;
+ private IDBConnection&MockObject $connection;
+ private Share\IManager&MockObject $shareManager;
+ private ICloudFederationFactory&MockObject $cloudFederationFactory;
+ private ICloudFederationProviderManager&MockObject $cloudFederationProviderManager;
+ private ICloudFederationProvider&MockObject $cloudFederationProvider;
+ private ICloudFederationShare&MockObject $cloudFederationShare;
+ private IEventDispatcher&MockObject $eventDispatcher;
protected function setUp(): void {
- $this->share = $this->getMockBuilder(IShare::class)->getMock();
- $this->federatedShareProvider = $this->getMockBuilder('OCA\FederatedFileSharing\FederatedShareProvider')
- ->disableOriginalConstructor()->getMock();
+ $this->share = $this->createMock(IShare::class);
+ $this->federatedShareProvider = $this->createMock(FederatedShareProvider::class);
$this->federatedShareProvider->expects($this->any())
->method('isOutgoingServer2serverShareEnabled')->willReturn(true);
$this->federatedShareProvider->expects($this->any())
@@ -98,11 +67,9 @@ class RequestHandlerControllerTest extends \Test\TestCase {
$this->federatedShareProvider->expects($this->any())->method('getShareById')
->willReturn($this->share);
- $this->notifications = $this->getMockBuilder('OCA\FederatedFileSharing\Notifications')
- ->disableOriginalConstructor()->getMock();
- $this->addressHandler = $this->getMockBuilder('OCA\FederatedFileSharing\AddressHandler')
- ->disableOriginalConstructor()->getMock();
- $this->userManager = $this->getMockBuilder(IUserManager::class)->getMock();
+ $this->notifications = $this->createMock(Notifications::class);
+ $this->addressHandler = $this->createMock(AddressHandler::class);
+ $this->userManager = $this->createMock(IUserManager::class);
$this->cloudIdManager = $this->createMock(ICloudIdManager::class);
$this->request = $this->createMock(IRequest::class);
$this->connection = $this->createMock(IDBConnection::class);
@@ -149,7 +116,7 @@ class RequestHandlerControllerTest extends \Test\TestCase {
'file'
)->willReturn($this->cloudFederationShare);
- /** @var ICloudFederationProvider|\PHPUnit\Framework\MockObject\MockObject $provider */
+ /** @var ICloudFederationProvider&MockObject $provider */
$this->cloudFederationProviderManager->expects($this->once())
->method('getCloudFederationProvider')
->with('file')
diff --git a/apps/federatedfilesharing/tests/FederatedShareProviderTest.php b/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
index 002a8bac374..fc6dbf7a699 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,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');
diff --git a/apps/federatedfilesharing/tests/NotificationsTest.php b/apps/federatedfilesharing/tests/NotificationsTest.php
index 7ac4e964362..94d08b5aa5d 100644
--- a/apps/federatedfilesharing/tests/NotificationsTest.php
+++ b/apps/federatedfilesharing/tests/NotificationsTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -8,6 +9,7 @@
namespace OCA\FederatedFileSharing\Tests;
use OCA\FederatedFileSharing\AddressHandler;
+use OCA\FederatedFileSharing\BackgroundJob\RetryJob;
use OCA\FederatedFileSharing\Notifications;
use OCP\BackgroundJob\IJobList;
use OCP\EventDispatcher\IEventDispatcher;
@@ -19,38 +21,22 @@ use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
class NotificationsTest extends \Test\TestCase {
- /** @var AddressHandler|MockObject */
- private $addressHandler;
-
- /** @var IClientService|MockObject */
- private $httpClientService;
-
- /** @var IDiscoveryService|MockObject */
- private $discoveryService;
-
- /** @var IJobList|MockObject */
- private $jobList;
-
- /** @var ICloudFederationProviderManager|MockObject */
- private $cloudFederationProviderManager;
-
- /** @var ICloudFederationFactory|MockObject */
- private $cloudFederationFactory;
-
- /** @var IEventDispatcher|MockObject */
- private $eventDispatcher;
-
- /** @var LoggerInterface|MockObject */
- private $logger;
+ private AddressHandler&MockObject $addressHandler;
+ private IClientService&MockObject $httpClientService;
+ private IDiscoveryService&MockObject $discoveryService;
+ private IJobList&MockObject $jobList;
+ private ICloudFederationProviderManager&MockObject $cloudFederationProviderManager;
+ private ICloudFederationFactory&MockObject $cloudFederationFactory;
+ private IEventDispatcher&MockObject $eventDispatcher;
+ private LoggerInterface&MockObject $logger;
protected function setUp(): void {
parent::setUp();
- $this->jobList = $this->getMockBuilder('OCP\BackgroundJob\IJobList')->getMock();
- $this->discoveryService = $this->getMockBuilder(IDiscoveryService::class)->getMock();
- $this->httpClientService = $this->getMockBuilder('OCP\Http\Client\IClientService')->getMock();
- $this->addressHandler = $this->getMockBuilder('OCA\FederatedFileSharing\AddressHandler')
- ->disableOriginalConstructor()->getMock();
+ $this->jobList = $this->createMock(IJobList::class);
+ $this->discoveryService = $this->createMock(IDiscoveryService::class);
+ $this->httpClientService = $this->createMock(IClientService::class);
+ $this->addressHandler = $this->createMock(AddressHandler::class);
$this->logger = $this->createMock(LoggerInterface::class);
$this->cloudFederationProviderManager = $this->createMock(ICloudFederationProviderManager::class);
$this->cloudFederationFactory = $this->createMock(ICloudFederationFactory::class);
@@ -58,14 +44,11 @@ class NotificationsTest extends \Test\TestCase {
}
/**
- * get instance of Notifications class
- *
- * @param array $mockedMethods methods which should be mocked
- * @return Notifications | \PHPUnit\Framework\MockObject\MockObject
+ * @return Notifications|MockObject
*/
private function getInstance(array $mockedMethods = []) {
if (empty($mockedMethods)) {
- $instance = new Notifications(
+ return new Notifications(
$this->addressHandler,
$this->httpClientService,
$this->discoveryService,
@@ -75,34 +58,30 @@ class NotificationsTest extends \Test\TestCase {
$this->eventDispatcher,
$this->logger,
);
- } else {
- $instance = $this->getMockBuilder('OCA\FederatedFileSharing\Notifications')
- ->setConstructorArgs(
- [
- $this->addressHandler,
- $this->httpClientService,
- $this->discoveryService,
- $this->jobList,
- $this->cloudFederationProviderManager,
- $this->cloudFederationFactory,
- $this->eventDispatcher,
- $this->logger,
- ]
- )->setMethods($mockedMethods)->getMock();
}
- return $instance;
+ return $this->getMockBuilder(Notifications::class)
+ ->setConstructorArgs(
+ [
+ $this->addressHandler,
+ $this->httpClientService,
+ $this->discoveryService,
+ $this->jobList,
+ $this->cloudFederationProviderManager,
+ $this->cloudFederationFactory,
+ $this->eventDispatcher,
+ $this->logger,
+ ]
+ )
+ ->onlyMethods($mockedMethods)
+ ->getMock();
}
/**
* @dataProvider dataTestSendUpdateToRemote
- *
- * @param int $try
- * @param array $httpRequestResult
- * @param bool $expected
*/
- public function testSendUpdateToRemote($try, $httpRequestResult, $expected): void {
+ public function testSendUpdateToRemote(int $try, array $httpRequestResult, bool $expected): void {
$remote = 'http://remote';
$id = 42;
$timestamp = 63576;
@@ -120,7 +99,7 @@ class NotificationsTest extends \Test\TestCase {
if ($try === 0 && $expected === false) {
$this->jobList->expects($this->once())->method('add')
->with(
- 'OCA\FederatedFileSharing\BackgroundJob\RetryJob',
+ RetryJob::class,
[
'remote' => $remote,
'remoteId' => $id,
@@ -141,7 +120,7 @@ class NotificationsTest extends \Test\TestCase {
}
- public function dataTestSendUpdateToRemote() {
+ public static function dataTestSendUpdateToRemote(): array {
return [
// test if background job is added correctly
[0, ['success' => true, 'result' => json_encode(['ocs' => ['meta' => ['statuscode' => 200]]])], true],
diff --git a/apps/federatedfilesharing/tests/Settings/AdminTest.php b/apps/federatedfilesharing/tests/Settings/AdminTest.php
index efbe763c633..1eb75003b4f 100644
--- a/apps/federatedfilesharing/tests/Settings/AdminTest.php
+++ b/apps/federatedfilesharing/tests/Settings/AdminTest.php
@@ -1,4 +1,6 @@
<?php
+
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -12,17 +14,14 @@ use OCP\AppFramework\Services\IInitialState;
use OCP\GlobalScale\IConfig;
use OCP\IL10N;
use OCP\IURLGenerator;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class AdminTest extends TestCase {
- /** @var Admin */
- private $admin;
- /** @var FederatedShareProvider */
- private $federatedShareProvider;
- /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */
- private $gsConfig;
- /** @var IInitialState|\PHPUnit\Framework\MockObject\MockObject */
- private $initialState;
+ private FederatedShareProvider&MockObject $federatedShareProvider;
+ private IConfig $gsConfig;
+ private IInitialState&MockObject $initialState;
+ private Admin $admin;
protected function setUp(): void {
parent::setUp();
@@ -43,7 +42,7 @@ class AdminTest extends TestCase {
);
}
- public function sharingStateProvider() {
+ public static function sharingStateProvider(): array {
return [
[
true,
@@ -56,9 +55,8 @@ class AdminTest extends TestCase {
/**
* @dataProvider sharingStateProvider
- * @param bool $state
*/
- public function testGetForm($state): void {
+ public function testGetForm(bool $state): void {
$this->federatedShareProvider
->expects($this->once())
->method('isOutgoingServer2serverShareEnabled')
@@ -98,20 +96,24 @@ class AdminTest extends TestCase {
$this->gsConfig->expects($this->once())->method('onlyInternalFederation')
->willReturn($state);
+ $calls = [
+ ['internalOnly', $state],
+ ['sharingFederatedDocUrl', 'doc-link'],
+ ['outgoingServer2serverShareEnabled', $state],
+ ['incomingServer2serverShareEnabled', $state],
+ ['federatedGroupSharingSupported', $state],
+ ['outgoingServer2serverGroupShareEnabled', $state],
+ ['incomingServer2serverGroupShareEnabled', $state],
+ ['lookupServerEnabled', $state],
+ ['lookupServerUploadEnabled', $state],
+ ['federatedTrustedShareAutoAccept', $state],
+ ];
$this->initialState->expects($this->exactly(10))
->method('provideInitialState')
- ->withConsecutive(
- ['internalOnly', $state],
- ['sharingFederatedDocUrl', 'doc-link'],
- ['outgoingServer2serverShareEnabled', $state],
- ['incomingServer2serverShareEnabled', $state],
- ['federatedGroupSharingSupported', $state],
- ['outgoingServer2serverGroupShareEnabled', $state],
- ['incomingServer2serverGroupShareEnabled', $state],
- ['lookupServerEnabled', $state],
- ['lookupServerUploadEnabled', $state],
- ['federatedTrustedShareAutoAccept', $state]
- );
+ ->willReturnCallback(function () use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertSame($expected, func_get_args());
+ });
$expected = new TemplateResponse('federatedfilesharing', 'settings-admin', [], '');
$this->assertEquals($expected, $this->admin->getForm());
diff --git a/apps/federatedfilesharing/tests/TestCase.php b/apps/federatedfilesharing/tests/TestCase.php
index b9787f2ffab..1536e1b3375 100644
--- a/apps/federatedfilesharing/tests/TestCase.php
+++ b/apps/federatedfilesharing/tests/TestCase.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -9,6 +10,7 @@ namespace OCA\FederatedFileSharing\Tests;
use OC\Files\Filesystem;
use OC\Group\Database;
+use OCP\Files\IRootFolder;
use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\IUserSession;
@@ -70,12 +72,7 @@ abstract class TestCase extends \Test\TestCase {
parent::tearDownAfterClass();
}
- /**
- * @param string $user
- * @param bool $create
- * @param bool $password
- */
- protected static function loginHelper($user, $create = false, $password = false) {
+ protected static function loginHelper(string $user, bool $create = false, bool $password = false) {
if ($password === false) {
$password = $user;
}
@@ -96,7 +93,7 @@ abstract class TestCase extends \Test\TestCase {
Server::get(IUserSession::class)->setUser(null);
Filesystem::tearDown();
Server::get(IUserSession::class)->login($user, $password);
- \OC::$server->getUserFolder($user);
+ \OCP\Server::get(IRootFolder::class)->getUserFolder($user);
\OC_Util::setupFS($user);
}
diff --git a/apps/federatedfilesharing/tests/TokenHandlerTest.php b/apps/federatedfilesharing/tests/TokenHandlerTest.php
index 9ed20779857..7a210274013 100644
--- a/apps/federatedfilesharing/tests/TokenHandlerTest.php
+++ b/apps/federatedfilesharing/tests/TokenHandlerTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -9,17 +10,12 @@ namespace OCA\FederatedFileSharing\Tests;
use OCA\FederatedFileSharing\TokenHandler;
use OCP\Security\ISecureRandom;
+use PHPUnit\Framework\MockObject\MockObject;
class TokenHandlerTest extends \Test\TestCase {
-
- /** @var TokenHandler */
- private $tokenHandler;
-
- /** @var ISecureRandom | \PHPUnit\Framework\MockObject\MockObject */
- private $secureRandom;
-
- /** @var int */
- private $expectedTokenLength = 15;
+ private TokenHandler $tokenHandler;
+ private ISecureRandom&MockObject $secureRandom;
+ private int $expectedTokenLength = 15;
protected function setUp(): void {
parent::setUp();