mirror of
https://github.com/nextcloud/server.git
synced 2026-06-14 19:20:35 -04:00
Merge pull request #53179 from nextcloud/tests/noid/federated-file-sharing
test: Migrate federated file sharing to PHPUnit 10
This commit is contained in:
commit
14533b67b7
22 changed files with 365 additions and 579 deletions
|
|
@ -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],
|
||||
|
|
|
|||
|
|
@ -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],
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
private string $owner = 'owner';
|
||||
private string $user1 = 'user1';
|
||||
private string $user2 = 'user2';
|
||||
private string $ownerCloudId = 'owner@server0.org';
|
||||
private string $user1CloudId = 'user1@server1.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 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')
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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],
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -18,7 +20,7 @@ use Test\TestCase;
|
|||
* @group DB
|
||||
*/
|
||||
class GenericTest extends TestCase {
|
||||
public function dataFilters() {
|
||||
public static function dataFilters(): array {
|
||||
return [
|
||||
[Favorites::class],
|
||||
[FileChanges::class],
|
||||
|
|
@ -27,18 +29,16 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataFilters
|
||||
* @param string $filterClass
|
||||
*/
|
||||
public function testImplementsInterface($filterClass): void {
|
||||
public function testImplementsInterface(string $filterClass): void {
|
||||
$filter = Server::get($filterClass);
|
||||
$this->assertInstanceOf(IFilter::class, $filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider dataFilters
|
||||
* @param string $filterClass
|
||||
*/
|
||||
public function testGetIdentifier($filterClass): void {
|
||||
public function testGetIdentifier(string $filterClass): void {
|
||||
/** @var IFilter $filter */
|
||||
$filter = Server::get($filterClass);
|
||||
$this->assertIsString($filter->getIdentifier());
|
||||
|
|
@ -46,9 +46,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataFilters
|
||||
* @param string $filterClass
|
||||
*/
|
||||
public function testGetName($filterClass): void {
|
||||
public function testGetName(string $filterClass): void {
|
||||
/** @var IFilter $filter */
|
||||
$filter = Server::get($filterClass);
|
||||
$this->assertIsString($filter->getName());
|
||||
|
|
@ -56,9 +55,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataFilters
|
||||
* @param string $filterClass
|
||||
*/
|
||||
public function testGetPriority($filterClass): void {
|
||||
public function testGetPriority(string $filterClass): void {
|
||||
/** @var IFilter $filter */
|
||||
$filter = Server::get($filterClass);
|
||||
$priority = $filter->getPriority();
|
||||
|
|
@ -69,9 +67,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataFilters
|
||||
* @param string $filterClass
|
||||
*/
|
||||
public function testGetIcon($filterClass): void {
|
||||
public function testGetIcon(string $filterClass): void {
|
||||
/** @var IFilter $filter */
|
||||
$filter = Server::get($filterClass);
|
||||
$this->assertIsString($filter->getIcon());
|
||||
|
|
@ -80,9 +77,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataFilters
|
||||
* @param string $filterClass
|
||||
*/
|
||||
public function testFilterTypes($filterClass): void {
|
||||
public function testFilterTypes(string $filterClass): void {
|
||||
/** @var IFilter $filter */
|
||||
$filter = Server::get($filterClass);
|
||||
$this->assertIsArray($filter->filterTypes([]));
|
||||
|
|
@ -90,9 +86,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataFilters
|
||||
* @param string $filterClass
|
||||
*/
|
||||
public function testAllowedApps($filterClass): void {
|
||||
public function testAllowedApps(string $filterClass): void {
|
||||
/** @var IFilter $filter */
|
||||
$filter = Server::get($filterClass);
|
||||
$this->assertIsArray($filter->allowedApps());
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
|
@ -26,23 +28,14 @@ use Test\TestCase;
|
|||
* @package OCA\Files\Tests\Activity
|
||||
*/
|
||||
class ProviderTest extends TestCase {
|
||||
|
||||
/** @var IFactory|MockObject */
|
||||
protected $l10nFactory;
|
||||
/** @var IURLGenerator|MockObject */
|
||||
protected $url;
|
||||
/** @var IManager|MockObject */
|
||||
protected $activityManager;
|
||||
/** @var IUserManager|MockObject */
|
||||
protected $userManager;
|
||||
/** @var IRootFolder|MockObject */
|
||||
protected $rootFolder;
|
||||
/** @var ICloudIdManager|MockObject */
|
||||
protected $cloudIdManager;
|
||||
/** @var IContactsManager|MockObject */
|
||||
protected $contactsManager;
|
||||
/** @var IEventMerger|MockObject */
|
||||
protected $eventMerger;
|
||||
protected IFactory&MockObject $l10nFactory;
|
||||
protected IURLGenerator&MockObject $url;
|
||||
protected IManager&MockObject $activityManager;
|
||||
protected IUserManager&MockObject $userManager;
|
||||
protected IRootFolder&MockObject $rootFolder;
|
||||
protected ICloudIdManager&MockObject $cloudIdManager;
|
||||
protected IContactsManager&MockObject $contactsManager;
|
||||
protected IEventMerger&MockObject $eventMerger;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
|
@ -74,7 +67,7 @@ class ProviderTest extends TestCase {
|
|||
$this->contactsManager,
|
||||
$this->eventMerger,
|
||||
])
|
||||
->setMethods($methods)
|
||||
->onlyMethods($methods)
|
||||
->getMock();
|
||||
}
|
||||
return new Provider(
|
||||
|
|
@ -89,7 +82,7 @@ class ProviderTest extends TestCase {
|
|||
);
|
||||
}
|
||||
|
||||
public function dataGetFile() {
|
||||
public static function dataGetFile(): array {
|
||||
return [
|
||||
[[42 => '/FortyTwo.txt'], null, '42', 'FortyTwo.txt', 'FortyTwo.txt'],
|
||||
[['23' => '/Twenty/Three.txt'], null, '23', 'Three.txt', 'Twenty/Three.txt'],
|
||||
|
|
@ -99,13 +92,8 @@ class ProviderTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataGetFile
|
||||
* @param mixed $parameter
|
||||
* @param mixed $eventId
|
||||
* @param int $id
|
||||
* @param string $name
|
||||
* @param string $path
|
||||
*/
|
||||
public function testGetFile($parameter, $eventId, $id, $name, $path): void {
|
||||
public function testGetFile(array|string $parameter, ?int $eventId, string $id, string $name, string $path): void {
|
||||
$provider = $this->getProvider();
|
||||
|
||||
if ($eventId !== null) {
|
||||
|
|
@ -139,7 +127,7 @@ class ProviderTest extends TestCase {
|
|||
self::invokePrivate($provider, 'getFile', ['/Foo/Bar.txt', null]);
|
||||
}
|
||||
|
||||
public function dataGetUser() {
|
||||
public static function dataGetUser(): array {
|
||||
return [
|
||||
['test', 'Test user', null, ['type' => 'user', 'id' => 'test', 'name' => 'Test user']],
|
||||
['test@http://localhost', null, ['user' => 'test', 'displayId' => 'test@localhost', 'remote' => 'localhost', 'name' => null], ['type' => 'user', 'id' => 'test', 'name' => 'test@localhost', 'server' => 'localhost']],
|
||||
|
|
@ -150,10 +138,6 @@ class ProviderTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataGetUser
|
||||
* @param string $uid
|
||||
* @param string|null $userDisplayName
|
||||
* @param array|null $cloudIdData
|
||||
* @param array $expected
|
||||
*/
|
||||
public function testGetUser(string $uid, ?string $userDisplayName, ?array $cloudIdData, array $expected): void {
|
||||
$provider = $this->getProvider();
|
||||
|
|
|
|||
|
|
@ -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,7 +14,7 @@ use OCP\Server;
|
|||
use Test\TestCase;
|
||||
|
||||
class GenericTest extends TestCase {
|
||||
public function dataSettings() {
|
||||
public static function dataSettings(): array {
|
||||
return [
|
||||
[FavoriteAction::class],
|
||||
[FileChanged::class],
|
||||
|
|
@ -22,18 +24,16 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataSettings
|
||||
* @param string $settingClass
|
||||
*/
|
||||
public function testImplementsInterface($settingClass): void {
|
||||
public function testImplementsInterface(string $settingClass): void {
|
||||
$setting = Server::get($settingClass);
|
||||
$this->assertInstanceOf(ISetting::class, $setting);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider dataSettings
|
||||
* @param string $settingClass
|
||||
*/
|
||||
public function testGetIdentifier($settingClass): void {
|
||||
public function testGetIdentifier(string $settingClass): void {
|
||||
/** @var ISetting $setting */
|
||||
$setting = Server::get($settingClass);
|
||||
$this->assertIsString($setting->getIdentifier());
|
||||
|
|
@ -41,9 +41,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataSettings
|
||||
* @param string $settingClass
|
||||
*/
|
||||
public function testGetName($settingClass): void {
|
||||
public function testGetName(string $settingClass): void {
|
||||
/** @var ISetting $setting */
|
||||
$setting = Server::get($settingClass);
|
||||
$this->assertIsString($setting->getName());
|
||||
|
|
@ -51,9 +50,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataSettings
|
||||
* @param string $settingClass
|
||||
*/
|
||||
public function testGetPriority($settingClass): void {
|
||||
public function testGetPriority(string $settingClass): void {
|
||||
/** @var ISetting $setting */
|
||||
$setting = Server::get($settingClass);
|
||||
$priority = $setting->getPriority();
|
||||
|
|
@ -64,9 +62,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataSettings
|
||||
* @param string $settingClass
|
||||
*/
|
||||
public function testCanChangeStream($settingClass): void {
|
||||
public function testCanChangeStream(string $settingClass): void {
|
||||
/** @var ISetting $setting */
|
||||
$setting = Server::get($settingClass);
|
||||
$this->assertIsBool($setting->canChangeStream());
|
||||
|
|
@ -74,9 +71,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataSettings
|
||||
* @param string $settingClass
|
||||
*/
|
||||
public function testIsDefaultEnabledStream($settingClass): void {
|
||||
public function testIsDefaultEnabledStream(string $settingClass): void {
|
||||
/** @var ISetting $setting */
|
||||
$setting = Server::get($settingClass);
|
||||
$this->assertIsBool($setting->isDefaultEnabledStream());
|
||||
|
|
@ -84,9 +80,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataSettings
|
||||
* @param string $settingClass
|
||||
*/
|
||||
public function testCanChangeMail($settingClass): void {
|
||||
public function testCanChangeMail(string $settingClass): void {
|
||||
/** @var ISetting $setting */
|
||||
$setting = Server::get($settingClass);
|
||||
$this->assertIsBool($setting->canChangeMail());
|
||||
|
|
@ -94,9 +89,8 @@ class GenericTest extends TestCase {
|
|||
|
||||
/**
|
||||
* @dataProvider dataSettings
|
||||
* @param string $settingClass
|
||||
*/
|
||||
public function testIsDefaultEnabledMail($settingClass): void {
|
||||
public function testIsDefaultEnabledMail(string $settingClass): void {
|
||||
/** @var ISetting $setting */
|
||||
$setting = Server::get($settingClass);
|
||||
$this->assertIsBool($setting->isDefaultEnabledMail());
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ class AdvancedCapabilitiesTest extends TestCase {
|
|||
protected AdvancedCapabilities $capabilities;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->service = $this->createMock(SettingsService::class);
|
||||
$this->capabilities = new AdvancedCapabilities($this->service);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
|
|
@ -33,16 +34,16 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
$this->logger = Server::get(LoggerInterface::class);
|
||||
}
|
||||
|
||||
protected function cleanMapping($table) {
|
||||
protected function cleanMapping(string $table): void {
|
||||
$query = $this->connection->getQueryBuilder();
|
||||
$query->delete($table)->execute();
|
||||
$query->delete($table)->executeStatement();
|
||||
}
|
||||
|
||||
protected function getMappings($table) {
|
||||
protected function getMappings(string $table): array {
|
||||
$query = $this->connection->getQueryBuilder();
|
||||
$query->select('*')
|
||||
->from($table);
|
||||
$result = $query->execute();
|
||||
$result = $query->executeQuery();
|
||||
$mapping = $result->fetchAll();
|
||||
$result->closeCursor();
|
||||
|
||||
|
|
@ -61,7 +62,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'storage' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
|
||||
'path' => $query->createNamedParameter('apps/files/tests/deleteorphanedtagsjobtest.php'),
|
||||
'path_hash' => $query->createNamedParameter(md5('apps/files/tests/deleteorphanedtagsjobtest.php')),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
$fileId = $query->getLastInsertId();
|
||||
|
||||
// Existing file
|
||||
|
|
@ -71,7 +72,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'objectid' => $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT),
|
||||
'objecttype' => $query->createNamedParameter('files'),
|
||||
'systemtagid' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
|
||||
// Non-existing file
|
||||
$query = $this->connection->getQueryBuilder();
|
||||
|
|
@ -80,13 +81,13 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'objectid' => $query->createNamedParameter($fileId + 1, IQueryBuilder::PARAM_INT),
|
||||
'objecttype' => $query->createNamedParameter('files'),
|
||||
'systemtagid' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
|
||||
$mapping = $this->getMappings('systemtag_object_mapping');
|
||||
$this->assertCount(2, $mapping);
|
||||
|
||||
$job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
|
||||
$this->invokePrivate($job, 'cleanSystemTags');
|
||||
self::invokePrivate($job, 'cleanSystemTags');
|
||||
|
||||
$mapping = $this->getMappings('systemtag_object_mapping');
|
||||
$this->assertCount(1, $mapping);
|
||||
|
|
@ -94,7 +95,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
$query = $this->connection->getQueryBuilder();
|
||||
$query->delete('filecache')
|
||||
->where($query->expr()->eq('fileid', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)))
|
||||
->execute();
|
||||
->executeStatement();
|
||||
$this->cleanMapping('systemtag_object_mapping');
|
||||
}
|
||||
|
||||
|
|
@ -110,7 +111,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'storage' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
|
||||
'path' => $query->createNamedParameter('apps/files/tests/deleteorphanedtagsjobtest.php'),
|
||||
'path_hash' => $query->createNamedParameter(md5('apps/files/tests/deleteorphanedtagsjobtest.php')),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
$fileId = $query->getLastInsertId();
|
||||
|
||||
// Existing file
|
||||
|
|
@ -120,7 +121,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'objid' => $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT),
|
||||
'type' => $query->createNamedParameter('files'),
|
||||
'categoryid' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
|
||||
// Non-existing file
|
||||
$query = $this->connection->getQueryBuilder();
|
||||
|
|
@ -129,13 +130,13 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'objid' => $query->createNamedParameter($fileId + 1, IQueryBuilder::PARAM_INT),
|
||||
'type' => $query->createNamedParameter('files'),
|
||||
'categoryid' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
|
||||
$mapping = $this->getMappings('vcategory_to_object');
|
||||
$this->assertCount(2, $mapping);
|
||||
|
||||
$job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
|
||||
$this->invokePrivate($job, 'cleanUserTags');
|
||||
self::invokePrivate($job, 'cleanUserTags');
|
||||
|
||||
$mapping = $this->getMappings('vcategory_to_object');
|
||||
$this->assertCount(1, $mapping);
|
||||
|
|
@ -143,7 +144,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
$query = $this->connection->getQueryBuilder();
|
||||
$query->delete('filecache')
|
||||
->where($query->expr()->eq('fileid', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)))
|
||||
->execute();
|
||||
->executeStatement();
|
||||
$this->cleanMapping('vcategory_to_object');
|
||||
}
|
||||
|
||||
|
|
@ -159,7 +160,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'storage' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
|
||||
'path' => $query->createNamedParameter('apps/files/tests/deleteorphanedtagsjobtest.php'),
|
||||
'path_hash' => $query->createNamedParameter(md5('apps/files/tests/deleteorphanedtagsjobtest.php')),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
$fileId = $query->getLastInsertId();
|
||||
|
||||
// Existing file
|
||||
|
|
@ -170,7 +171,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'object_type' => $query->createNamedParameter('files'),
|
||||
'actor_id' => $query->createNamedParameter('Alice', IQueryBuilder::PARAM_INT),
|
||||
'actor_type' => $query->createNamedParameter('users'),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
|
||||
// Non-existing file
|
||||
$query = $this->connection->getQueryBuilder();
|
||||
|
|
@ -180,13 +181,13 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'object_type' => $query->createNamedParameter('files'),
|
||||
'actor_id' => $query->createNamedParameter('Alice', IQueryBuilder::PARAM_INT),
|
||||
'actor_type' => $query->createNamedParameter('users'),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
|
||||
$mapping = $this->getMappings('comments');
|
||||
$this->assertCount(2, $mapping);
|
||||
|
||||
$job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
|
||||
$this->invokePrivate($job, 'cleanComments');
|
||||
self::invokePrivate($job, 'cleanComments');
|
||||
|
||||
$mapping = $this->getMappings('comments');
|
||||
$this->assertCount(1, $mapping);
|
||||
|
|
@ -194,7 +195,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
$query = $this->connection->getQueryBuilder();
|
||||
$query->delete('filecache')
|
||||
->where($query->expr()->eq('fileid', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)))
|
||||
->execute();
|
||||
->executeStatement();
|
||||
$this->cleanMapping('comments');
|
||||
}
|
||||
|
||||
|
|
@ -210,7 +211,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'storage' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
|
||||
'path' => $query->createNamedParameter('apps/files/tests/deleteorphanedtagsjobtest.php'),
|
||||
'path_hash' => $query->createNamedParameter(md5('apps/files/tests/deleteorphanedtagsjobtest.php')),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
$fileId = $query->getLastInsertId();
|
||||
|
||||
// Existing file
|
||||
|
|
@ -220,7 +221,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'object_id' => $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT),
|
||||
'object_type' => $query->createNamedParameter('files'),
|
||||
'user_id' => $query->createNamedParameter('Alice', IQueryBuilder::PARAM_INT),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
|
||||
// Non-existing file
|
||||
$query = $this->connection->getQueryBuilder();
|
||||
|
|
@ -229,13 +230,13 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
'object_id' => $query->createNamedParameter($fileId + 1, IQueryBuilder::PARAM_INT),
|
||||
'object_type' => $query->createNamedParameter('files'),
|
||||
'user_id' => $query->createNamedParameter('Alice', IQueryBuilder::PARAM_INT),
|
||||
])->execute();
|
||||
])->executeStatement();
|
||||
|
||||
$mapping = $this->getMappings('comments_read_markers');
|
||||
$this->assertCount(2, $mapping);
|
||||
|
||||
$job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
|
||||
$this->invokePrivate($job, 'cleanCommentMarkers');
|
||||
self::invokePrivate($job, 'cleanCommentMarkers');
|
||||
|
||||
$mapping = $this->getMappings('comments_read_markers');
|
||||
$this->assertCount(1, $mapping);
|
||||
|
|
@ -243,7 +244,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
|
|||
$query = $this->connection->getQueryBuilder();
|
||||
$query->delete('filecache')
|
||||
->where($query->expr()->eq('fileid', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)))
|
||||
->execute();
|
||||
->executeStatement();
|
||||
$this->cleanMapping('comments_read_markers');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
|
|
@ -32,10 +33,8 @@ class ScanFilesTest extends TestCase {
|
|||
use UserTrait;
|
||||
use MountProviderTrait;
|
||||
|
||||
/** @var ScanFiles */
|
||||
private $scanFiles;
|
||||
/** @var IUserMountCache */
|
||||
private $mountCache;
|
||||
private ScanFiles $scanFiles;
|
||||
private IUserMountCache $mountCache;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
|
@ -46,7 +45,7 @@ class ScanFilesTest extends TestCase {
|
|||
$connection = Server::get(IDBConnection::class);
|
||||
$this->mountCache = Server::get(IUserMountCache::class);
|
||||
|
||||
$this->scanFiles = $this->getMockBuilder('\OCA\Files\BackgroundJob\ScanFiles')
|
||||
$this->scanFiles = $this->getMockBuilder(ScanFiles::class)
|
||||
->setConstructorArgs([
|
||||
$config,
|
||||
$dispatcher,
|
||||
|
|
@ -54,12 +53,12 @@ class ScanFilesTest extends TestCase {
|
|||
$connection,
|
||||
$this->createMock(ITimeFactory::class)
|
||||
])
|
||||
->setMethods(['runScanner'])
|
||||
->onlyMethods(['runScanner'])
|
||||
->getMock();
|
||||
}
|
||||
|
||||
private function runJob() {
|
||||
$this->invokePrivate($this->scanFiles, 'run', [[]]);
|
||||
private function runJob(): void {
|
||||
self::invokePrivate($this->scanFiles, 'run', [[]]);
|
||||
}
|
||||
|
||||
private function getUser(string $userId): IUser {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
|
|
@ -56,7 +57,7 @@ class DeleteOrphanedFilesTest extends TestCase {
|
|||
parent::tearDown();
|
||||
}
|
||||
|
||||
protected function getFile($fileId) {
|
||||
protected function getFile(int $fileId): array {
|
||||
$query = $this->connection->getQueryBuilder();
|
||||
$query->select('*')
|
||||
->from('filecache')
|
||||
|
|
@ -64,7 +65,7 @@ class DeleteOrphanedFilesTest extends TestCase {
|
|||
return $query->executeQuery()->fetchAll();
|
||||
}
|
||||
|
||||
protected function getMounts($storageId) {
|
||||
protected function getMounts(int $storageId): array {
|
||||
$query = $this->connection->getQueryBuilder();
|
||||
$query->select('*')
|
||||
->from('mounts')
|
||||
|
|
@ -76,12 +77,8 @@ class DeleteOrphanedFilesTest extends TestCase {
|
|||
* Test clearing orphaned files
|
||||
*/
|
||||
public function testClearFiles(): void {
|
||||
$input = $this->getMockBuilder(InputInterface::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$output = $this->getMockBuilder(OutputInterface::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$input = $this->createMock(InputInterface::class);
|
||||
$output = $this->createMock(OutputInterface::class);
|
||||
|
||||
$rootFolder = Server::get(IRootFolder::class);
|
||||
|
||||
|
|
@ -112,14 +109,18 @@ class DeleteOrphanedFilesTest extends TestCase {
|
|||
$this->assertSame(1, $deletedRows, 'Asserts that storage got deleted');
|
||||
|
||||
// parent folder, `files`, ´test` and `welcome.txt` => 4 elements
|
||||
$calls = [
|
||||
'3 orphaned file cache entries deleted',
|
||||
'0 orphaned file cache extended entries deleted',
|
||||
'1 orphaned mount entries deleted',
|
||||
];
|
||||
$output
|
||||
->expects($this->exactly(3))
|
||||
->method('writeln')
|
||||
->withConsecutive(
|
||||
['3 orphaned file cache entries deleted'],
|
||||
['0 orphaned file cache extended entries deleted'],
|
||||
['1 orphaned mount entries deleted'],
|
||||
);
|
||||
->willReturnCallback(function (string $message) use (&$calls) {
|
||||
$expected = array_shift($calls);
|
||||
$this->assertSame($expected, $message);
|
||||
});
|
||||
|
||||
$this->command->execute($input, $output);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
|
|
@ -31,6 +32,7 @@ use OCP\IUserSession;
|
|||
use OCP\Share\IAttributes;
|
||||
use OCP\Share\IManager;
|
||||
use OCP\Share\IShare;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Test\TestCase;
|
||||
|
||||
|
|
@ -40,41 +42,25 @@ use Test\TestCase;
|
|||
* @package OCA\Files\Controller
|
||||
*/
|
||||
class ApiControllerTest extends TestCase {
|
||||
/** @var string */
|
||||
private $appName = 'files';
|
||||
/** @var IUser */
|
||||
private $user;
|
||||
/** @var IRequest */
|
||||
private $request;
|
||||
/** @var TagService */
|
||||
private $tagService;
|
||||
/** @var IPreview|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $preview;
|
||||
/** @var ApiController */
|
||||
private $apiController;
|
||||
/** @var \OCP\Share\IManager */
|
||||
private $shareManager;
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
/** @var Folder|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $userFolder;
|
||||
/** @var UserConfig|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $userConfig;
|
||||
/** @var ViewConfig|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $viewConfig;
|
||||
/** @var IL10N|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $l10n;
|
||||
/** @var IRootFolder|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $rootFolder;
|
||||
/** @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $logger;
|
||||
private string $appName = 'files';
|
||||
private IUser $user;
|
||||
private IRequest $request;
|
||||
private TagService $tagService;
|
||||
private IPreview&MockObject $preview;
|
||||
private ApiController $apiController;
|
||||
private IManager $shareManager;
|
||||
private IConfig $config;
|
||||
private Folder&MockObject $userFolder;
|
||||
private UserConfig&MockObject $userConfig;
|
||||
private ViewConfig&MockObject $viewConfig;
|
||||
private IL10N&MockObject $l10n;
|
||||
private IRootFolder&MockObject $rootFolder;
|
||||
private LoggerInterface&MockObject $logger;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
||||
$this->request = $this->getMockBuilder(IRequest::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->request = $this->createMock(IRequest::class);
|
||||
$this->user = $this->createMock(IUser::class);
|
||||
$this->user->expects($this->any())
|
||||
->method('getUID')
|
||||
|
|
@ -83,19 +69,11 @@ class ApiControllerTest extends TestCase {
|
|||
$userSession->expects($this->any())
|
||||
->method('getUser')
|
||||
->willReturn($this->user);
|
||||
$this->tagService = $this->getMockBuilder(TagService::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->shareManager = $this->getMockBuilder(IManager::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->preview = $this->getMockBuilder(IPreview::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->tagService = $this->createMock(TagService::class);
|
||||
$this->shareManager = $this->createMock(IManager::class);
|
||||
$this->preview = $this->createMock(IPreview::class);
|
||||
$this->config = $this->createMock(IConfig::class);
|
||||
$this->userFolder = $this->getMockBuilder(Folder::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->userFolder = $this->createMock(Folder::class);
|
||||
$this->userConfig = $this->createMock(UserConfig::class);
|
||||
$this->viewConfig = $this->createMock(ViewConfig::class);
|
||||
$this->l10n = $this->createMock(IL10N::class);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
|
@ -60,12 +61,12 @@ class ConversionApiControllerTest extends TestCase {
|
|||
);
|
||||
}
|
||||
|
||||
public function testThrowsNotFoundException() {
|
||||
public function testThrowsNotFoundException(): void {
|
||||
$this->expectException(OCSNotFoundException::class);
|
||||
$this->conversionApiController->convert(42, 'image/png');
|
||||
}
|
||||
|
||||
public function testThrowsOcsException() {
|
||||
public function testThrowsOcsException(): void {
|
||||
$this->userFolder->method('getFirstNodeById')->with(42)->willReturn($this->file);
|
||||
$this->fileConversionManager->method('convert')->willThrowException(new \Exception());
|
||||
|
||||
|
|
@ -73,7 +74,7 @@ class ConversionApiControllerTest extends TestCase {
|
|||
$this->conversionApiController->convert(42, 'image/png');
|
||||
}
|
||||
|
||||
public function testConvert() {
|
||||
public function testConvert(): void {
|
||||
$convertedFileAbsolutePath = $this->user . '/files/test.png';
|
||||
|
||||
$this->userFolder->method('getFirstNodeById')->with(42)->willReturn($this->file);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
|
|
@ -192,7 +193,7 @@ class ViewControllerTest extends TestCase {
|
|||
$this->assertEquals($expected, $this->viewController->index('MyDir', 'MyView'));
|
||||
}
|
||||
|
||||
public function dataTestShortRedirect(): array {
|
||||
public static function dataTestShortRedirect(): array {
|
||||
// openfile is true by default
|
||||
// opendetails is undefined by default
|
||||
// both will be evaluated as truthy
|
||||
|
|
@ -212,7 +213,7 @@ class ViewControllerTest extends TestCase {
|
|||
/**
|
||||
* @dataProvider dataTestShortRedirect
|
||||
*/
|
||||
public function testShortRedirect($openfile, $opendetails, $result) {
|
||||
public function testShortRedirect(?string $openfile, ?string $opendetails, string $result): void {
|
||||
$this->appManager->expects($this->any())
|
||||
->method('isEnabledForUser')
|
||||
->with('files')
|
||||
|
|
@ -239,7 +240,7 @@ class ViewControllerTest extends TestCase {
|
|||
->with(123456)
|
||||
->willReturn($node);
|
||||
|
||||
$response = $this->viewController->showFile(123456, $opendetails, $openfile);
|
||||
$response = $this->viewController->showFile('123456', $opendetails, $openfile);
|
||||
$this->assertStringContainsString($result, $response->getHeaders()['Location']);
|
||||
}
|
||||
|
||||
|
|
@ -248,13 +249,13 @@ class ViewControllerTest extends TestCase {
|
|||
->method('isEnabledForUser')
|
||||
->willReturn(true);
|
||||
|
||||
$parentNode = $this->getMockBuilder(Folder::class)->getMock();
|
||||
$parentNode = $this->createMock(Folder::class);
|
||||
$parentNode->expects($this->once())
|
||||
->method('getPath')
|
||||
->willReturn('testuser1/files_trashbin/files/test.d1462861890/sub');
|
||||
|
||||
$baseFolderFiles = $this->getMockBuilder(Folder::class)->getMock();
|
||||
$baseFolderTrash = $this->getMockBuilder(Folder::class)->getMock();
|
||||
$baseFolderFiles = $this->createMock(Folder::class);
|
||||
$baseFolderTrash = $this->createMock(Folder::class);
|
||||
|
||||
$this->rootFolder->expects($this->any())
|
||||
->method('getUserFolder')
|
||||
|
|
@ -270,7 +271,7 @@ class ViewControllerTest extends TestCase {
|
|||
->with(123)
|
||||
->willReturn(null);
|
||||
|
||||
$node = $this->getMockBuilder(File::class)->getMock();
|
||||
$node = $this->createMock(File::class);
|
||||
$node->expects($this->once())
|
||||
->method('getParent')
|
||||
->willReturn($parentNode);
|
||||
|
|
|
|||
|
|
@ -1,15 +1,17 @@
|
|||
<?php
|
||||
|
||||
use OC\Files\FileInfo;
|
||||
use OCA\Files\Helper;
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
use OC\Files\FileInfo;
|
||||
use OCA\Files\Helper;
|
||||
|
||||
class HelperTest extends \Test\TestCase {
|
||||
private function makeFileInfo($name, $size, $mtime, $isDir = false) {
|
||||
private static function makeFileInfo($name, $size, $mtime, $isDir = false): FileInfo {
|
||||
return new FileInfo(
|
||||
'/' . $name,
|
||||
null,
|
||||
|
|
@ -28,7 +30,7 @@ class HelperTest extends \Test\TestCase {
|
|||
/**
|
||||
* Returns a file list for testing
|
||||
*/
|
||||
private function getTestFileList() {
|
||||
private static function getTestFileList(): array {
|
||||
return [
|
||||
self::makeFileInfo('a.txt', 4, 2.3 * pow(10, 9)),
|
||||
self::makeFileInfo('q.txt', 5, 150),
|
||||
|
|
@ -39,7 +41,7 @@ class HelperTest extends \Test\TestCase {
|
|||
];
|
||||
}
|
||||
|
||||
public function sortDataProvider() {
|
||||
public static function sortDataProvider(): array {
|
||||
return [
|
||||
[
|
||||
'name',
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
|
|
@ -10,6 +11,7 @@ namespace OCA\Files\Tests\Service;
|
|||
use OCA\Files\Service\TagService;
|
||||
use OCP\Activity\IManager;
|
||||
use OCP\Files\Folder;
|
||||
use OCP\Files\IRootFolder;
|
||||
use OCP\Files\NotFoundException;
|
||||
use OCP\ITagManager;
|
||||
use OCP\ITags;
|
||||
|
|
@ -17,6 +19,7 @@ use OCP\IUser;
|
|||
use OCP\IUserManager;
|
||||
use OCP\IUserSession;
|
||||
use OCP\Server;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
|
||||
/**
|
||||
* Class TagServiceTest
|
||||
|
|
@ -26,32 +29,12 @@ use OCP\Server;
|
|||
* @package OCA\Files
|
||||
*/
|
||||
class TagServiceTest extends \Test\TestCase {
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $user;
|
||||
|
||||
/** @var IUserSession|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $userSession;
|
||||
|
||||
/** @var IManager|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $activityManager;
|
||||
|
||||
/**
|
||||
* @var Folder
|
||||
*/
|
||||
private $root;
|
||||
|
||||
/**
|
||||
* @var TagService|\PHPUnit\Framework\MockObject\MockObject
|
||||
*/
|
||||
private $tagService;
|
||||
|
||||
/**
|
||||
* @var ITags
|
||||
*/
|
||||
private $tagger;
|
||||
private string $user;
|
||||
private IUserSession&MockObject $userSession;
|
||||
private IManager&MockObject $activityManager;
|
||||
private Folder $root;
|
||||
private TagService&MockObject $tagService;
|
||||
private ITags $tagger;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
|
@ -70,17 +53,13 @@ class TagServiceTest extends \Test\TestCase {
|
|||
->withAnyParameters()
|
||||
->willReturn($user);
|
||||
|
||||
$this->root = \OC::$server->getUserFolder();
|
||||
$this->root = \OCP\Server::get(IRootFolder::class)->getUserFolder($this->user);
|
||||
|
||||
$this->tagger = Server::get(ITagManager::class)->load('files');
|
||||
$this->tagService = $this->getTagService(['addActivity']);
|
||||
$this->tagService = $this->getTagService();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $methods
|
||||
* @return TagService|\PHPUnit\Framework\MockObject\MockObject
|
||||
*/
|
||||
protected function getTagService(array $methods = []) {
|
||||
protected function getTagService(array $methods = []): TagService&MockObject {
|
||||
return $this->getMockBuilder(TagService::class)
|
||||
->setConstructorArgs([
|
||||
$this->userSession,
|
||||
|
|
@ -88,7 +67,7 @@ class TagServiceTest extends \Test\TestCase {
|
|||
$this->tagger,
|
||||
$this->root,
|
||||
])
|
||||
->setMethods($methods)
|
||||
->onlyMethods($methods)
|
||||
->getMock();
|
||||
}
|
||||
|
||||
|
|
@ -98,6 +77,8 @@ class TagServiceTest extends \Test\TestCase {
|
|||
if ($user !== null) {
|
||||
$user->delete();
|
||||
}
|
||||
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
public function testUpdateFileTags(): void {
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ class RegistrationContext {
|
|||
|
||||
/** @var ServiceRegistration<\OCP\Files\Conversion\IConversionProvider>[] */
|
||||
private array $fileConversionProviders = [];
|
||||
|
||||
|
||||
/** @var ServiceRegistration<IMailProvider>[] */
|
||||
private $mailProviders = [];
|
||||
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ class TextProcessingTest extends \Test\TestCase {
|
|||
$this->eventDispatcher = new EventDispatcher(
|
||||
new \Symfony\Component\EventDispatcher\EventDispatcher(),
|
||||
$this->serverContainer,
|
||||
\OC::$server->get(LoggerInterface::class),
|
||||
\OCP\Server::get(LoggerInterface::class),
|
||||
);
|
||||
|
||||
$this->registrationContext = $this->createMock(RegistrationContext::class);
|
||||
|
|
@ -176,11 +176,11 @@ class TextProcessingTest extends \Test\TestCase {
|
|||
$this->manager = new Manager(
|
||||
$this->serverContainer,
|
||||
$this->coordinator,
|
||||
\OC::$server->get(LoggerInterface::class),
|
||||
\OCP\Server::get(LoggerInterface::class),
|
||||
$this->jobList,
|
||||
$this->taskMapper,
|
||||
$config,
|
||||
\OC::$server->get(\OCP\TaskProcessing\IManager::class),
|
||||
$this->createMock(\OCP\TaskProcessing\IManager::class),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -239,7 +239,7 @@ class TextProcessingTest extends \Test\TestCase {
|
|||
|
||||
// run background job
|
||||
$bgJob = new TaskBackgroundJob(
|
||||
\OC::$server->get(ITimeFactory::class),
|
||||
\OCP\Server::get(ITimeFactory::class),
|
||||
$this->manager,
|
||||
$this->eventDispatcher,
|
||||
);
|
||||
|
|
@ -314,7 +314,7 @@ class TextProcessingTest extends \Test\TestCase {
|
|||
|
||||
// run background job
|
||||
$bgJob = new TaskBackgroundJob(
|
||||
\OC::$server->get(ITimeFactory::class),
|
||||
\OCP\Server::get(ITimeFactory::class),
|
||||
$this->manager,
|
||||
$this->eventDispatcher,
|
||||
);
|
||||
|
|
@ -343,9 +343,9 @@ class TextProcessingTest extends \Test\TestCase {
|
|||
$this->currentTime = $this->currentTime->add(new \DateInterval('P1Y'));
|
||||
// run background job
|
||||
$bgJob = new RemoveOldTasksBackgroundJob(
|
||||
\OC::$server->get(ITimeFactory::class),
|
||||
\OCP\Server::get(ITimeFactory::class),
|
||||
$this->taskMapper,
|
||||
\OC::$server->get(LoggerInterface::class),
|
||||
\OCP\Server::get(LoggerInterface::class),
|
||||
);
|
||||
$bgJob->setArgument([]);
|
||||
$bgJob->start($this->jobList);
|
||||
|
|
|
|||
Loading…
Reference in a new issue