aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib')
-rw-r--r--tests/lib/Collaboration/Collaborators/LookupPluginTest.php59
-rw-r--r--tests/lib/Comments/ManagerTest.php342
-rw-r--r--tests/lib/Contacts/ContactsMenu/ContactsStoreTest.php153
-rw-r--r--tests/lib/Contacts/ContactsMenu/ManagerTest.php27
-rw-r--r--tests/lib/DirectEditing/ManagerTest.php25
-rw-r--r--tests/lib/Encryption/DecryptAllTest.php70
-rw-r--r--tests/lib/Encryption/Keys/StorageTest.php38
-rw-r--r--tests/lib/Files/Mount/ObjectHomeMountProviderTest.php14
-rw-r--r--tests/lib/Files/Storage/Wrapper/AvailabilityTest.php12
-rw-r--r--tests/lib/Files/Type/DetectionTest.php36
-rw-r--r--tests/lib/Files/ViewTest.php122
-rw-r--r--tests/lib/Http/Client/ClientTest.php86
-rw-r--r--tests/lib/IntegrityCheck/CheckerTest.php211
-rw-r--r--tests/lib/Share20/ManagerTest.php451
14 files changed, 773 insertions, 873 deletions
diff --git a/tests/lib/Collaboration/Collaborators/LookupPluginTest.php b/tests/lib/Collaboration/Collaborators/LookupPluginTest.php
index 7ff01831e18..d74dfca3be9 100644
--- a/tests/lib/Collaboration/Collaborators/LookupPluginTest.php
+++ b/tests/lib/Collaboration/Collaborators/LookupPluginTest.php
@@ -76,13 +76,10 @@ class LookupPluginTest extends TestCase {
->willReturn('yes');
$this->config->expects($this->exactly(2))
->method('getSystemValueBool')
- ->withConsecutive(
- ['gs.enabled', false],
- ['has_internet_connection', true],
- )->willReturnOnConsecutiveCalls(
- true,
- true,
- );
+ ->willReturnMap([
+ ['gs.enabled', false, true],
+ ['has_internet_connection', true, true],
+ ]);
$this->config->expects($this->once())
->method('getSystemValueString')
@@ -105,13 +102,10 @@ class LookupPluginTest extends TestCase {
->willReturn('yes');
$this->config->expects($this->exactly(2))
->method('getSystemValueBool')
- ->withConsecutive(
- ['gs.enabled', false],
- ['has_internet_connection', true],
- )->willReturnOnConsecutiveCalls(
- false,
- false,
- );
+ ->willReturnMap([
+ ['gs.enabled', false, false],
+ ['has_internet_connection', true, false],
+ ]);
$this->clientService->expects($this->never())
->method('newClient');
@@ -141,13 +135,10 @@ class LookupPluginTest extends TestCase {
->willReturn('yes');
$this->config->expects($this->exactly(2))
->method('getSystemValueBool')
- ->withConsecutive(
- ['gs.enabled', false],
- ['has_internet_connection', true],
- )->willReturnOnConsecutiveCalls(
- true,
- true,
- );
+ ->willReturnMap([
+ ['gs.enabled', false, true],
+ ['has_internet_connection', true, true],
+ ]);
$this->config->expects($this->once())
->method('getSystemValueString')
@@ -206,13 +197,10 @@ class LookupPluginTest extends TestCase {
$this->config->expects($this->exactly(2))
->method('getSystemValueBool')
- ->withConsecutive(
- ['gs.enabled', false],
- ['has_internet_connection', true],
- )->willReturnOnConsecutiveCalls(
- $GSEnabled,
- true,
- );
+ ->willReturnMap([
+ ['gs.enabled', false, $GSEnabled],
+ ['has_internet_connection', true, true],
+ ]);
$this->config->expects($this->once())
->method('getSystemValueString')
->with('lookup_server', 'https://lookup.nextcloud.com')
@@ -239,13 +227,10 @@ class LookupPluginTest extends TestCase {
$searchResult->expects($this->never())->method('addResultSet');
$this->config->expects($this->exactly(2))
->method('getSystemValueBool')
- ->withConsecutive(
- ['gs.enabled', false],
- ['has_internet_connection', true],
- )->willReturnOnConsecutiveCalls(
- $GSEnabled,
- true,
- );
+ ->willReturnMap([
+ ['gs.enabled', false, $GSEnabled],
+ ['has_internet_connection', true, true],
+ ]);
}
$moreResults = $this->plugin->search(
$searchParams['search'],
@@ -276,7 +261,7 @@ class LookupPluginTest extends TestCase {
$this->assertFalse($this->plugin->search('irr', 10, 0, $searchResult));
}
- public function dataSearchEnableDisableLookupServer() {
+ public static function dataSearchEnableDisableLookupServer(): array {
$fedIDs = [
'foo@enceladus.moon',
'foobar@enceladus.moon',
@@ -449,7 +434,7 @@ class LookupPluginTest extends TestCase {
];
}
- public function searchDataProvider() {
+ public static function searchDataProvider(): array {
$fedIDs = [
'foo@enceladus.moon',
'foobar@enceladus.moon',
diff --git a/tests/lib/Comments/ManagerTest.php b/tests/lib/Comments/ManagerTest.php
index 02118125c24..c187f664215 100644
--- a/tests/lib/Comments/ManagerTest.php
+++ b/tests/lib/Comments/ManagerTest.php
@@ -1,4 +1,6 @@
<?php
+
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -22,6 +24,7 @@ use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IInitialStateService;
use OCP\IUser;
+use OCP\IUserManager;
use OCP\Server;
use Psr\Log\LoggerInterface;
use Test\TestCase;
@@ -50,15 +53,9 @@ class ManagerTest extends TestCase {
}
protected function addDatabaseEntry($parentId, $topmostParentId, $creationDT = null, $latestChildDT = null, $objectId = null, $expireDate = null) {
- if (is_null($creationDT)) {
- $creationDT = new \DateTime();
- }
- if (is_null($latestChildDT)) {
- $latestChildDT = new \DateTime('yesterday');
- }
- if (is_null($objectId)) {
- $objectId = 'file64';
- }
+ $creationDT ??= new \DateTime();
+ $latestChildDT ??= new \DateTime('yesterday');
+ $objectId ??= 'file64';
$qb = $this->connection->getQueryBuilder();
$qb
@@ -79,7 +76,7 @@ class ManagerTest extends TestCase {
'reference_id' => $qb->createNamedParameter('referenceId'),
'meta_data' => $qb->createNamedParameter(json_encode(['last_edit_actor_id' => 'admin'])),
])
- ->execute();
+ ->executeStatement();
return $qb->getLastInsertId();
}
@@ -116,10 +113,10 @@ class ManagerTest extends TestCase {
public function testGetComment(): void {
$manager = $this->getManager();
- $creationDT = new \DateTime();
- $latestChildDT = new \DateTime('yesterday');
+ $creationDT = new \DateTime('yesterday');
+ $latestChildDT = new \DateTime();
- $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder();
+ $qb = \OCP\Server::get(IDBConnection::class)->getQueryBuilder();
$qb
->insert('comments')
->values([
@@ -137,26 +134,26 @@ class ManagerTest extends TestCase {
'reference_id' => $qb->createNamedParameter('referenceId'),
'meta_data' => $qb->createNamedParameter(json_encode(['last_edit_actor_id' => 'admin'])),
])
- ->execute();
+ ->executeStatement();
- $id = strval($qb->getLastInsertId());
+ $id = (string)$qb->getLastInsertId();
$comment = $manager->get($id);
- $this->assertTrue($comment instanceof IComment);
- $this->assertSame($comment->getId(), $id);
- $this->assertSame($comment->getParentId(), '2');
- $this->assertSame($comment->getTopmostParentId(), '1');
- $this->assertSame($comment->getChildrenCount(), 2);
- $this->assertSame($comment->getActorType(), 'users');
- $this->assertSame($comment->getActorId(), 'alice');
- $this->assertSame($comment->getMessage(), 'nice one');
- $this->assertSame($comment->getVerb(), 'comment');
- $this->assertSame($comment->getObjectType(), 'files');
- $this->assertSame($comment->getObjectId(), 'file64');
- $this->assertEquals($comment->getCreationDateTime()->getTimestamp(), $creationDT->getTimestamp());
- $this->assertEquals($comment->getLatestChildDateTime(), $latestChildDT);
- $this->assertEquals($comment->getReferenceId(), 'referenceId');
- $this->assertEquals($comment->getMetaData(), ['last_edit_actor_id' => 'admin']);
+ $this->assertInstanceOf(IComment::class, $comment);
+ $this->assertSame($id, $comment->getId());
+ $this->assertSame('2', $comment->getParentId());
+ $this->assertSame('1', $comment->getTopmostParentId());
+ $this->assertSame(2, $comment->getChildrenCount());
+ $this->assertSame('users', $comment->getActorType());
+ $this->assertSame('alice', $comment->getActorId());
+ $this->assertSame('nice one', $comment->getMessage());
+ $this->assertSame('comment', $comment->getVerb());
+ $this->assertSame('files', $comment->getObjectType());
+ $this->assertSame('file64', $comment->getObjectId());
+ $this->assertEquals($creationDT->getTimestamp(), $comment->getCreationDateTime()->getTimestamp());
+ $this->assertEquals($latestChildDT->getTimestamp(), $comment->getLatestChildDateTime()->getTimestamp());
+ $this->assertEquals('referenceId', $comment->getReferenceId());
+ $this->assertEquals(['last_edit_actor_id' => 'admin'], $comment->getMetaData());
}
@@ -186,17 +183,17 @@ class ManagerTest extends TestCase {
$tree = $manager->getTree($headId);
// Verifying the root comment
- $this->assertTrue(isset($tree['comment']));
- $this->assertTrue($tree['comment'] instanceof IComment);
- $this->assertSame($tree['comment']->getId(), strval($headId));
- $this->assertTrue(isset($tree['replies']));
- $this->assertSame(count($tree['replies']), 3);
+ $this->assertArrayHasKey('comment', $tree);
+ $this->assertInstanceOf(IComment::class, $tree['comment']);
+ $this->assertSame((string)$headId, $tree['comment']->getId());
+ $this->assertArrayHasKey('replies', $tree);
+ $this->assertCount(3, $tree['replies']);
// one level deep
foreach ($tree['replies'] as $reply) {
- $this->assertTrue($reply['comment'] instanceof IComment);
- $this->assertSame($reply['comment']->getId(), strval($id));
- $this->assertSame(count($reply['replies']), 0);
+ $this->assertInstanceOf(IComment::class, $reply['comment']);
+ $this->assertSame((string)$id, $reply['comment']->getId());
+ $this->assertCount(0, $reply['replies']);
$id--;
}
}
@@ -208,16 +205,11 @@ class ManagerTest extends TestCase {
$tree = $manager->getTree($id);
// Verifying the root comment
- $this->assertTrue(isset($tree['comment']));
- $this->assertTrue($tree['comment'] instanceof IComment);
- $this->assertSame($tree['comment']->getId(), strval($id));
- $this->assertTrue(isset($tree['replies']));
- $this->assertSame(count($tree['replies']), 0);
-
- // one level deep
- foreach ($tree['replies'] as $reply) {
- throw new \Exception('This ain`t happen');
- }
+ $this->assertArrayHasKey('comment', $tree);
+ $this->assertInstanceOf(IComment::class, $tree['comment']);
+ $this->assertSame((string)$id, $tree['comment']->getId());
+ $this->assertArrayHasKey('replies', $tree);
+ $this->assertCount(0, $tree['replies']);
}
public function testGetTreeWithLimitAndOffset(): void {
@@ -231,20 +223,20 @@ class ManagerTest extends TestCase {
$manager = $this->getManager();
for ($offset = 0; $offset < 3; $offset += 2) {
- $tree = $manager->getTree(strval($headId), 2, $offset);
+ $tree = $manager->getTree((string)$headId, 2, $offset);
// Verifying the root comment
- $this->assertTrue(isset($tree['comment']));
- $this->assertTrue($tree['comment'] instanceof IComment);
- $this->assertSame($tree['comment']->getId(), strval($headId));
- $this->assertTrue(isset($tree['replies']));
- $this->assertSame(count($tree['replies']), 2);
+ $this->assertArrayHasKey('comment', $tree);
+ $this->assertInstanceOf(IComment::class, $tree['comment']);
+ $this->assertSame((string)$headId, $tree['comment']->getId());
+ $this->assertArrayHasKey('replies', $tree);
+ $this->assertCount(2, $tree['replies']);
// one level deep
foreach ($tree['replies'] as $reply) {
- $this->assertTrue($reply['comment'] instanceof IComment);
- $this->assertSame($reply['comment']->getId(), strval($idToVerify));
- $this->assertSame(count($reply['replies']), 0);
+ $this->assertInstanceOf(IComment::class, $reply['comment']);
+ $this->assertSame((string)$idToVerify, $reply['comment']->getId());
+ $this->assertCount(0, $reply['replies']);
$idToVerify--;
}
}
@@ -256,10 +248,10 @@ class ManagerTest extends TestCase {
$manager = $this->getManager();
$comments = $manager->getForObject('files', 'file64');
- $this->assertTrue(is_array($comments));
- $this->assertSame(count($comments), 1);
- $this->assertTrue($comments[0] instanceof IComment);
- $this->assertSame($comments[0]->getMessage(), 'nice one');
+ $this->assertIsArray($comments);
+ $this->assertCount(1, $comments);
+ $this->assertInstanceOf(IComment::class, $comments[0]);
+ $this->assertSame('nice one', $comments[0]->getMessage());
}
public function testGetForObjectWithLimitAndOffset(): void {
@@ -276,11 +268,11 @@ class ManagerTest extends TestCase {
do {
$comments = $manager->getForObject('files', 'file64', 3, $offset);
- $this->assertTrue(is_array($comments));
- foreach ($comments as $comment) {
- $this->assertTrue($comment instanceof IComment);
- $this->assertSame($comment->getMessage(), 'nice one');
- $this->assertSame($comment->getId(), strval($idToVerify));
+ $this->assertIsArray($comments);
+ foreach ($comments as $key => $comment) {
+ $this->assertInstanceOf(IComment::class, $comment);
+ $this->assertSame('nice one', $comment->getMessage());
+ $this->assertSame((string)$idToVerify, $comment->getId(), 'ID wrong for comment ' . $key . ' on offset: ' . $offset);
$idToVerify--;
}
$offset += 3;
@@ -296,9 +288,9 @@ class ManagerTest extends TestCase {
$manager = $this->getManager();
$comments = $manager->getForObject('files', 'file64', 0, 0, new \DateTime('-4 hours'));
- $this->assertSame(count($comments), 2);
- $this->assertSame($comments[0]->getId(), strval($id2));
- $this->assertSame($comments[1]->getId(), strval($id1));
+ $this->assertCount(2, $comments);
+ $this->assertSame((string)$id2, $comments[0]->getId());
+ $this->assertSame((string)$id1, $comments[1]->getId());
}
public function testGetForObjectWithLimitAndOffsetAndDateTimeConstraint(): void {
@@ -315,12 +307,12 @@ class ManagerTest extends TestCase {
do {
$comments = $manager->getForObject('files', 'file64', 3, $offset, new \DateTime('-4 hours'));
- $this->assertTrue(is_array($comments));
+ $this->assertIsArray($comments);
foreach ($comments as $comment) {
- $this->assertTrue($comment instanceof IComment);
- $this->assertSame($comment->getMessage(), 'nice one');
- $this->assertSame($comment->getId(), strval($idToVerify));
- $this->assertTrue(intval($comment->getId()) >= 4);
+ $this->assertInstanceOf(IComment::class, $comment);
+ $this->assertSame('nice one', $comment->getMessage());
+ $this->assertSame((string)$idToVerify, $comment->getId());
+ $this->assertGreaterThanOrEqual(4, $comment->getId());
$idToVerify--;
}
$offset += 3;
@@ -335,10 +327,10 @@ class ManagerTest extends TestCase {
$manager = $this->getManager();
$amount = $manager->getNumberOfCommentsForObject('untype', '00');
- $this->assertSame($amount, 0);
+ $this->assertSame(0, $amount);
$amount = $manager->getNumberOfCommentsForObject('files', 'file64');
- $this->assertSame($amount, 4);
+ $this->assertSame(4, $amount);
}
public function testGetNumberOfUnreadCommentsForFolder(): void {
@@ -386,13 +378,8 @@ class ManagerTest extends TestCase {
/**
* @dataProvider dataGetForObjectSince
- * @param $lastKnown
- * @param $order
- * @param $limit
- * @param $resultFrom
- * @param $resultTo
*/
- public function testGetForObjectSince($lastKnown, $order, $limit, $resultFrom, $resultTo): void {
+ public function testGetForObjectSince(?int $lastKnown, string $order, int $limit, int $resultFrom, int $resultTo): void {
$ids = [];
$ids[] = $this->addDatabaseEntry(0, 0);
$ids[] = $this->addDatabaseEntry(0, 0);
@@ -408,12 +395,10 @@ class ManagerTest extends TestCase {
$expected = array_reverse($expected);
}
- $this->assertSame($expected, array_map(function (IComment $c) {
- return (int)$c->getId();
- }, $comments));
+ $this->assertSame($expected, array_map(static fn (IComment $c): int => (int)$c->getId(), $comments));
}
- public function dataGetForObjectSince() {
+ public static function dataGetForObjectSince(): array {
return [
[null, 'asc', 20, 0, 4],
[null, 'asc', 2, 0, 1],
@@ -426,7 +411,7 @@ class ManagerTest extends TestCase {
];
}
- public function invalidCreateArgsProvider() {
+ public static function invalidCreateArgsProvider(): array {
return [
['', 'aId-1', 'oType-1', 'oId-1'],
['aType-1', '', 'oType-1', 'oId-1'],
@@ -441,12 +426,8 @@ class ManagerTest extends TestCase {
/**
* @dataProvider invalidCreateArgsProvider
- * @param string $aType
- * @param string $aId
- * @param string $oType
- * @param string $oId
*/
- public function testCreateCommentInvalidArguments($aType, $aId, $oType, $oId): void {
+ public function testCreateCommentInvalidArguments(string|int $aType, string|int $aId, string|int $oType, string|int $oId): void {
$this->expectException(\InvalidArgumentException::class);
$manager = $this->getManager();
@@ -460,11 +441,11 @@ class ManagerTest extends TestCase {
$objectId = 'bielefeld';
$comment = $this->getManager()->create($actorType, $actorId, $objectType, $objectId);
- $this->assertTrue($comment instanceof IComment);
- $this->assertSame($comment->getActorType(), $actorType);
- $this->assertSame($comment->getActorId(), $actorId);
- $this->assertSame($comment->getObjectType(), $objectType);
- $this->assertSame($comment->getObjectId(), $objectId);
+ $this->assertInstanceOf(IComment::class, $comment);
+ $this->assertSame($actorType, $comment->getActorType());
+ $this->assertSame($actorId, $comment->getActorId());
+ $this->assertSame($objectType, $comment->getObjectType());
+ $this->assertSame($objectId, $comment->getObjectId());
}
@@ -482,9 +463,9 @@ class ManagerTest extends TestCase {
$done = $manager->delete('');
$this->assertFalse($done);
- $id = strval($this->addDatabaseEntry(0, 0));
+ $id = (string)$this->addDatabaseEntry(0, 0);
$comment = $manager->get($id);
- $this->assertTrue($comment instanceof IComment);
+ $this->assertInstanceOf(IComment::class, $comment);
$done = $manager->delete($id);
$this->assertTrue($done);
$manager->get($id);
@@ -518,9 +499,9 @@ class ManagerTest extends TestCase {
return $comment;
}
- public function providerTestSave(): array {
+ public static function providerTestSave(): array {
return [
- ['very beautiful, I am impressed!', 'alice', 'comment', null]
+ ['very beautiful, I am impressed!', 'alice', 'comment', null],
];
}
@@ -570,8 +551,6 @@ class ManagerTest extends TestCase {
public function testSaveUpdateException(): void {
- $this->expectException(\OCP\Comments\NotFoundException::class);
-
$manager = $this->getManager();
$comment = new Comment();
$comment
@@ -583,22 +562,25 @@ class ManagerTest extends TestCase {
$manager->save($comment);
$manager->delete($comment->getId());
+
$comment->setMessage('very beautiful, I am really so much impressed!');
+ $this->expectException(\OCP\Comments\NotFoundException::class);
$manager->save($comment);
}
public function testSaveIncomplete(): void {
- $this->expectException(\UnexpectedValueException::class);
$manager = $this->getManager();
$comment = new Comment();
$comment->setMessage('from no one to nothing');
+
+ $this->expectException(\UnexpectedValueException::class);
$manager->save($comment);
}
public function testSaveAsChild(): void {
- $id = $this->addDatabaseEntry(0, 0);
+ $id = (string)$this->addDatabaseEntry(0, 0);
$manager = $this->getManager();
@@ -607,7 +589,7 @@ class ManagerTest extends TestCase {
$comment
->setActor('users', 'alice')
->setObject('files', 'file64')
- ->setParentId(strval($id))
+ ->setParentId($id)
->setMessage('full ack')
->setVerb('comment')
// setting the creation time avoids using sleep() while making sure to test with different timestamps
@@ -615,14 +597,14 @@ class ManagerTest extends TestCase {
$manager->save($comment);
- $this->assertSame($comment->getTopmostParentId(), strval($id));
- $parentComment = $manager->get(strval($id));
- $this->assertSame($parentComment->getChildrenCount(), $i + 1);
- $this->assertEquals($parentComment->getLatestChildDateTime()->getTimestamp(), $comment->getCreationDateTime()->getTimestamp());
+ $this->assertSame($id, $comment->getTopmostParentId());
+ $parentComment = $manager->get($id);
+ $this->assertSame($i + 1, $parentComment->getChildrenCount());
+ $this->assertEquals($comment->getCreationDateTime()->getTimestamp(), $parentComment->getLatestChildDateTime()->getTimestamp());
}
}
- public function invalidActorArgsProvider() {
+ public static function invalidActorArgsProvider(): array {
return
[
['', ''],
@@ -633,10 +615,8 @@ class ManagerTest extends TestCase {
/**
* @dataProvider invalidActorArgsProvider
- * @param string $type
- * @param string $id
*/
- public function testDeleteReferencesOfActorInvalidInput($type, $id): void {
+ public function testDeleteReferencesOfActorInvalidInput(string|int $type, string|int $id): void {
$this->expectException(\InvalidArgumentException::class);
$manager = $this->getManager();
@@ -652,17 +632,17 @@ class ManagerTest extends TestCase {
$manager = $this->getManager();
// just to make sure they are really set, with correct actor data
- $comment = $manager->get(strval($ids[1]));
- $this->assertSame($comment->getActorType(), 'users');
- $this->assertSame($comment->getActorId(), 'alice');
+ $comment = $manager->get((string)$ids[1]);
+ $this->assertSame('users', $comment->getActorType());
+ $this->assertSame('alice', $comment->getActorId());
$wasSuccessful = $manager->deleteReferencesOfActor('users', 'alice');
$this->assertTrue($wasSuccessful);
foreach ($ids as $id) {
- $comment = $manager->get(strval($id));
- $this->assertSame($comment->getActorType(), ICommentsManager::DELETED_USER);
- $this->assertSame($comment->getActorId(), ICommentsManager::DELETED_USER);
+ $comment = $manager->get((string)$id);
+ $this->assertSame(ICommentsManager::DELETED_USER, $comment->getActorType());
+ $this->assertSame(ICommentsManager::DELETED_USER, $comment->getActorId());
}
// actor info is gone from DB, but when database interaction is alright,
@@ -672,10 +652,10 @@ class ManagerTest extends TestCase {
}
public function testDeleteReferencesOfActorWithUserManagement(): void {
- $user = \OC::$server->getUserManager()->createUser('xenia', 'NotAnEasyPassword123456+');
- $this->assertTrue($user instanceof IUser);
+ $user = \OCP\Server::get(IUserManager::class)->createUser('xenia', 'NotAnEasyPassword123456+');
+ $this->assertInstanceOf(IUser::class, $user);
- $manager = \OC::$server->get(ICommentsManager::class);
+ $manager = \OCP\Server::get(ICommentsManager::class);
$comment = $manager->create('users', $user->getUID(), 'files', 'file64');
$comment
->setMessage('Most important comment I ever left on the Internet.')
@@ -687,11 +667,11 @@ class ManagerTest extends TestCase {
$user->delete();
$comment = $manager->get($commentID);
- $this->assertSame($comment->getActorType(), ICommentsManager::DELETED_USER);
- $this->assertSame($comment->getActorId(), ICommentsManager::DELETED_USER);
+ $this->assertSame(ICommentsManager::DELETED_USER, $comment->getActorType());
+ $this->assertSame(ICommentsManager::DELETED_USER, $comment->getActorId());
}
- public function invalidObjectArgsProvider() {
+ public static function invalidObjectArgsProvider(): array {
return
[
['', ''],
@@ -702,10 +682,8 @@ class ManagerTest extends TestCase {
/**
* @dataProvider invalidObjectArgsProvider
- * @param string $type
- * @param string $id
*/
- public function testDeleteCommentsAtObjectInvalidInput($type, $id): void {
+ public function testDeleteCommentsAtObjectInvalidInput(string|int $type, string|int $id): void {
$this->expectException(\InvalidArgumentException::class);
$manager = $this->getManager();
@@ -721,9 +699,9 @@ class ManagerTest extends TestCase {
$manager = $this->getManager();
// just to make sure they are really set, with correct actor data
- $comment = $manager->get(strval($ids[1]));
- $this->assertSame($comment->getObjectType(), 'files');
- $this->assertSame($comment->getObjectId(), 'file64');
+ $comment = $manager->get((string)$ids[1]);
+ $this->assertSame('files', $comment->getObjectType());
+ $this->assertSame('file64', $comment->getObjectId());
$wasSuccessful = $manager->deleteCommentsAtObject('files', 'file64');
$this->assertTrue($wasSuccessful);
@@ -731,12 +709,12 @@ class ManagerTest extends TestCase {
$verified = 0;
foreach ($ids as $id) {
try {
- $manager->get(strval($id));
- } catch (NotFoundException $e) {
+ $manager->get((string)$id);
+ } catch (NotFoundException) {
$verified++;
}
}
- $this->assertSame($verified, 3);
+ $this->assertSame(3, $verified);
// actor info is gone from DB, but when database interaction is alright,
// we still expect to get true back
@@ -766,8 +744,8 @@ class ManagerTest extends TestCase {
// just to make sure they are really set, with correct actor data
$comment = $manager->get((string)$ids[1]);
- $this->assertSame($comment->getObjectType(), 'files');
- $this->assertSame($comment->getObjectId(), 'file64');
+ $this->assertSame('files', $comment->getObjectType());
+ $this->assertSame('file64', $comment->getObjectId());
$deleted = $manager->deleteCommentsExpiredAtObject('files', 'file64');
$this->assertTrue($deleted);
@@ -778,12 +756,12 @@ class ManagerTest extends TestCase {
try {
$manager->get((string)$id);
$exists++;
- } catch (NotFoundException $e) {
+ } catch (NotFoundException) {
$deleted++;
}
}
- $this->assertSame($exists, 3);
- $this->assertSame($deleted, 3);
+ $this->assertSame(3, $exists);
+ $this->assertSame(3, $deleted);
// actor info is gone from DB, but when database interaction is alright,
// we still expect to get true back
@@ -820,12 +798,12 @@ class ManagerTest extends TestCase {
try {
$manager->get((string)$id);
$exists++;
- } catch (NotFoundException $e) {
+ } catch (NotFoundException) {
$deleted++;
}
}
- $this->assertSame($exists, 0);
- $this->assertSame($deleted, 6);
+ $this->assertSame(0, $exists);
+ $this->assertSame(6, $deleted);
// actor info is gone from DB, but when database interaction is alright,
// we still expect to get true back
@@ -847,7 +825,7 @@ class ManagerTest extends TestCase {
$dateTimeGet = $manager->getReadMark('robot', '36', $user);
- $this->assertEquals($dateTimeGet->getTimestamp(), $dateTimeSet->getTimestamp());
+ $this->assertEquals($dateTimeSet->getTimestamp(), $dateTimeGet->getTimestamp());
}
public function testSetMarkReadUpdate(): void {
@@ -867,7 +845,7 @@ class ManagerTest extends TestCase {
$dateTimeGet = $manager->getReadMark('robot', '36', $user);
- $this->assertEquals($dateTimeGet, $dateTimeSet);
+ $this->assertEquals($dateTimeSet, $dateTimeGet);
}
public function testReadMarkDeleteUser(): void {
@@ -907,11 +885,11 @@ class ManagerTest extends TestCase {
}
public function testSendEvent(): void {
- $handler1 = $this->getMockBuilder(ICommentsEventHandler::class)->getMock();
+ $handler1 = $this->createMock(ICommentsEventHandler::class);
$handler1->expects($this->exactly(4))
->method('handle');
- $handler2 = $this->getMockBuilder(ICommentsEventHandler::class)->getMock();
+ $handler2 = $this->createMock(ICommentsEventHandler::class);
$handler1->expects($this->exactly(4))
->method('handle');
@@ -1006,10 +984,23 @@ class ManagerTest extends TestCase {
};
$manager->registerDisplayNameResolver('planet', $planetClosure);
- $this->assertTrue(is_string($manager->resolveDisplayName('planet', 'neptune')));
+ $this->assertIsString($manager->resolveDisplayName('planet', 'neptune'));
+ }
+
+ public function testResolveDisplayNameInvalidType(): void {
+
+ $manager = $this->getManager();
+
+ $planetClosure = function () {
+ return null;
+ };
+
+ $manager->registerDisplayNameResolver('planet', $planetClosure);
+ $this->expectException(\InvalidArgumentException::class);
+ $this->assertIsString($manager->resolveDisplayName(1337, 'neptune'));
}
- private function skipIfNotSupport4ByteUTF() {
+ private function skipIfNotSupport4ByteUTF(): void {
if (!$this->getManager()->supportReactions()) {
$this->markTestSkipped('MySQL doesn\'t support 4 byte UTF-8');
}
@@ -1017,10 +1008,6 @@ class ManagerTest extends TestCase {
/**
* @dataProvider providerTestReactionAddAndDelete
- *
- * @param IComment[] $comments
- * @param array $reactionsExpected
- * @return void
*/
public function testReactionAddAndDelete(array $comments, array $reactionsExpected): void {
$this->skipIfNotSupport4ByteUTF();
@@ -1034,7 +1021,7 @@ class ManagerTest extends TestCase {
}
}
- public function providerTestReactionAddAndDelete(): array {
+ public static function providerTestReactionAddAndDelete(): array {
return[
[
[
@@ -1081,25 +1068,12 @@ class ManagerTest extends TestCase {
];
}
- public function testResolveDisplayNameInvalidType(): void {
- $this->expectException(\InvalidArgumentException::class);
-
- $manager = $this->getManager();
-
- $planetClosure = function () {
- return null;
- };
-
- $manager->registerDisplayNameResolver('planet', $planetClosure);
- $this->assertTrue(is_string($manager->resolveDisplayName(1337, 'neptune')));
- }
-
/**
* @param array $data
- * @return IComment[]
+ * @return array<string, IComment>
*/
private function proccessComments(array $data): array {
- /** @var IComment[] */
+ /** @var array<string, IComment> $comments */
$comments = [];
foreach ($data as $comment) {
[$message, $actorId, $verb, $parentText] = $comment;
@@ -1126,17 +1100,17 @@ class ManagerTest extends TestCase {
$processedComments = $this->proccessComments($comments);
$comment = reset($processedComments);
- $all = $manager->retrieveAllReactions($comment->getId());
- $actual = array_map(function ($row) {
+ $all = $manager->retrieveAllReactions((int)$comment->getId());
+ $actual = array_map(static function (IComment $row): array {
return [
- 'message' => $row->getMessage(),
- 'actorId' => $row->getActorId(),
+ $row->getActorId(),
+ $row->getMessage(),
];
}, $all);
$this->assertEqualsCanonicalizing($expected, $actual);
}
- public function providerTestRetrieveAllReactions(): array {
+ public static function providerTestRetrieveAllReactions(): array {
return [
[
[
@@ -2386,17 +2360,17 @@ class ManagerTest extends TestCase {
$processedComments = $this->proccessComments($comments);
$comment = reset($processedComments);
- $all = $manager->retrieveAllReactionsWithSpecificReaction($comment->getId(), $reaction);
- $actual = array_map(function ($row) {
+ $all = $manager->retrieveAllReactionsWithSpecificReaction((int)$comment->getId(), $reaction);
+ $actual = array_map(static function (IComment $row): array {
return [
- 'message' => $row->getMessage(),
- 'actorId' => $row->getActorId(),
+ $row->getActorId(),
+ $row->getMessage(),
];
}, $all);
$this->assertEqualsCanonicalizing($expected, $actual);
}
- public function providerTestRetrieveAllReactionsWithSpecificReaction(): array {
+ public static function providerTestRetrieveAllReactionsWithSpecificReaction(): array {
return [
[
[
@@ -2448,7 +2422,7 @@ class ManagerTest extends TestCase {
$this->expectException(\OCP\Comments\NotFoundException::class);
}
$comment = $processedComments[$expected['message'] . '#' . $expected['actorId']];
- $actual = $manager->getReactionComment($comment->getParentId(), $comment->getActorType(), $comment->getActorId(), $comment->getMessage());
+ $actual = $manager->getReactionComment((int)$comment->getParentId(), $comment->getActorType(), $comment->getActorId(), $comment->getMessage());
if (!$notFound) {
$this->assertEquals($expected['message'], $actual->getMessage());
$this->assertEquals($expected['actorId'], $actual->getActorId());
@@ -2457,7 +2431,7 @@ class ManagerTest extends TestCase {
}
}
- public function providerTestGetReactionComment(): array {
+ public static function providerTestGetReactionComment(): array {
return [
[
[
@@ -2504,7 +2478,7 @@ class ManagerTest extends TestCase {
/**
* @dataProvider providerTestReactionMessageSize
*/
- public function testReactionMessageSize($reactionString, $valid): void {
+ public function testReactionMessageSize(string $reactionString, bool $valid): void {
$this->skipIfNotSupport4ByteUTF();
if (!$valid) {
$this->expectException(\UnexpectedValueException::class);
@@ -2520,7 +2494,7 @@ class ManagerTest extends TestCase {
$this->assertTrue($status);
}
- public function providerTestReactionMessageSize(): array {
+ public static function providerTestReactionMessageSize(): array {
return [
['a', false],
['1', false],
@@ -2552,7 +2526,7 @@ class ManagerTest extends TestCase {
}
}
- public function providerTestReactionsSummarizeOrdered(): array {
+ public static function providerTestReactionsSummarizeOrdered(): array {
return [
[
[
diff --git a/tests/lib/Contacts/ContactsMenu/ContactsStoreTest.php b/tests/lib/Contacts/ContactsMenu/ContactsStoreTest.php
index a3151d0b040..9097ee779d2 100644
--- a/tests/lib/Contacts/ContactsMenu/ContactsStoreTest.php
+++ b/tests/lib/Contacts/ContactsMenu/ContactsStoreTest.php
@@ -255,29 +255,27 @@ class ContactsStoreTest extends TestCase {
$user2 = $this->createMock(IUser::class);
$user3 = $this->createMock(IUser::class);
+ $calls = [
+ [[$currentUser], ['group1', 'group2', 'group3']],
+ [[$user1], ['group1']],
+ [[$user2], ['group2', 'group3']],
+ [[$user3], ['group8', 'group9']],
+ ];
$this->groupManager->expects($this->exactly(4))
->method('getUserGroupIds')
- ->withConsecutive(
- [$this->equalTo($currentUser)],
- [$this->equalTo($user1)],
- [$this->equalTo($user2)],
- [$this->equalTo($user3)]
- )
- ->willReturnOnConsecutiveCalls(
- ['group1', 'group2', 'group3'],
- ['group1'],
- ['group2', 'group3'],
- ['group8', 'group9']
- );
+ ->willReturnCallback(function () use (&$calls): array {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected[0], func_get_args());
+ return $expected[1];
+ });
$this->userManager->expects($this->exactly(3))
->method('get')
- ->withConsecutive(
- ['user1'],
- ['user2'],
- ['user3']
- )
- ->willReturnOnConsecutiveCalls($user1, $user2, $user3);
+ ->willReturnMap([
+ ['user1', $user1],
+ ['user2', $user2],
+ ['user3', $user3],
+ ]);
$this->contactsManager->expects($this->once())
->method('search')
@@ -330,29 +328,27 @@ class ContactsStoreTest extends TestCase {
$user2 = $this->createMock(IUser::class);
$user3 = $this->createMock(IUser::class);
+ $calls = [
+ [[$currentUser], ['group1', 'group2', 'group3']],
+ [[$user1], ['group1']],
+ [[$user2], ['group2', 'group3']],
+ [[$user3], ['group8', 'group9']],
+ ];
$this->groupManager->expects($this->exactly(4))
->method('getUserGroupIds')
- ->withConsecutive(
- [$this->equalTo($currentUser)],
- [$this->equalTo($user1)],
- [$this->equalTo($user2)],
- [$this->equalTo($user3)]
- )
- ->willReturnOnConsecutiveCalls(
- ['group1', 'group2', 'group3'],
- ['group1'],
- ['group2', 'group3'],
- ['group8', 'group9']
- );
+ ->willReturnCallback(function () use (&$calls): array {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected[0], func_get_args());
+ return $expected[1];
+ });
$this->userManager->expects($this->exactly(3))
->method('get')
- ->withConsecutive(
- ['user1'],
- ['user2'],
- ['user3']
- )
- ->willReturn($user1, $user2, $user3);
+ ->willReturnMap([
+ ['user1', $user1],
+ ['user2', $user2],
+ ['user3', $user3],
+ ]);
$this->contactsManager->expects($this->once())
->method('search')
@@ -463,29 +459,27 @@ class ContactsStoreTest extends TestCase {
$user2 = $this->createMock(IUser::class);
$user3 = $this->createMock(IUser::class);
+ $calls = [
+ [[$currentUser], ['group1', 'group2', 'group3']],
+ [[$user1], ['group1']],
+ [[$user2], ['group2', 'group3']],
+ [[$user3], ['group8', 'group9']],
+ ];
$this->groupManager->expects($this->exactly(4))
->method('getUserGroupIds')
- ->withConsecutive(
- [$this->equalTo($currentUser)],
- [$this->equalTo($user1)],
- [$this->equalTo($user2)],
- [$this->equalTo($user3)]
- )
- ->willReturnOnConsecutiveCalls(
- ['group1', 'group2', 'group3'],
- ['group1'],
- ['group2', 'group3'],
- ['group8', 'group9']
- );
+ ->willReturnCallback(function () use (&$calls): array {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected[0], func_get_args());
+ return $expected[1];
+ });
$this->userManager->expects($this->exactly(3))
->method('get')
- ->withConsecutive(
- ['user1'],
- ['user2'],
- ['user3']
- )
- ->willReturnOnConsecutiveCalls($user1, $user2, $user3);
+ ->willReturnMap([
+ ['user1', $user1],
+ ['user2', $user2],
+ ['user3', $user3],
+ ]);
$this->knownUserService->method('isKnownToUser')
->willReturnMap([
@@ -542,16 +536,17 @@ class ContactsStoreTest extends TestCase {
$user1 = $this->createMock(IUser::class);
+ $calls = [
+ [[$currentUser], ['group1', 'group2', 'group3']],
+ [[$user1], ['group1']],
+ ];
$this->groupManager->expects($this->exactly(2))
->method('getUserGroupIds')
- ->withConsecutive(
- [$this->equalTo($currentUser)],
- [$this->equalTo($user1)]
- )
- ->willReturnOnConsecutiveCalls(
- ['group1', 'group2', 'group3'],
- ['group1']
- );
+ ->willReturnCallback(function () use (&$calls): array {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected[0], func_get_args());
+ return $expected[1];
+ });
$this->userManager->expects($this->once())
->method('get')
@@ -617,29 +612,27 @@ class ContactsStoreTest extends TestCase {
$user2 = $this->createMock(IUser::class);
$user3 = $this->createMock(IUser::class);
+ $calls = [
+ [[$currentUser], ['group1', 'group2', 'group3']],
+ [[$user1], ['group1']],
+ [[$user2], ['group2', 'group3']],
+ [[$user3], ['group8', 'group9']],
+ ];
$this->groupManager->expects($this->exactly(4))
->method('getUserGroupIds')
- ->withConsecutive(
- [$this->equalTo($currentUser)],
- [$this->equalTo($user1)],
- [$this->equalTo($user2)],
- [$this->equalTo($user3)]
- )
- ->willReturnOnConsecutiveCalls(
- ['group1', 'group2', 'group3'],
- ['group1'],
- ['group2', 'group3'],
- ['group8', 'group9']
- );
+ ->willReturnCallback(function () use (&$calls): array {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected[0], func_get_args());
+ return $expected[1];
+ });
$this->userManager->expects($this->exactly(3))
->method('get')
- ->withConsecutive(
- ['user1'],
- ['user2'],
- ['user3']
- )
- ->willReturnOnConsecutiveCalls($user1, $user2, $user3);
+ ->willReturnMap([
+ ['user1', $user1],
+ ['user2', $user2],
+ ['user3', $user3],
+ ]);
$this->knownUserService->method('isKnownToUser')
->willReturnMap([
diff --git a/tests/lib/Contacts/ContactsMenu/ManagerTest.php b/tests/lib/Contacts/ContactsMenu/ManagerTest.php
index c87bb3d5147..dd6c634c740 100644
--- a/tests/lib/Contacts/ContactsMenu/ManagerTest.php
+++ b/tests/lib/Contacts/ContactsMenu/ManagerTest.php
@@ -65,11 +65,10 @@ class ManagerTest extends TestCase {
$this->config->expects($this->exactly(2))
->method('getSystemValueInt')
- ->withConsecutive(
- ['sharing.maxAutocompleteResults', Constants::SHARING_MAX_AUTOCOMPLETE_RESULTS_DEFAULT],
- ['sharing.minSearchStringLength', 0]
- )
- ->willReturnOnConsecutiveCalls(25, 0);
+ ->willReturnMap([
+ ['sharing.maxAutocompleteResults', Constants::SHARING_MAX_AUTOCOMPLETE_RESULTS_DEFAULT, 25],
+ ['sharing.minSearchStringLength', 0, 0],
+ ]);
$this->contactsStore->expects($this->once())
->method('getContacts')
->with($user, $filter)
@@ -102,11 +101,10 @@ class ManagerTest extends TestCase {
$this->config->expects($this->exactly(2))
->method('getSystemValueInt')
- ->withConsecutive(
- ['sharing.maxAutocompleteResults', Constants::SHARING_MAX_AUTOCOMPLETE_RESULTS_DEFAULT],
- ['sharing.minSearchStringLength', 0]
- )
- ->willReturnOnConsecutiveCalls(3, 0);
+ ->willReturnMap([
+ ['sharing.maxAutocompleteResults', Constants::SHARING_MAX_AUTOCOMPLETE_RESULTS_DEFAULT, 3],
+ ['sharing.minSearchStringLength', 0, 0],
+ ]);
$this->contactsStore->expects($this->once())
->method('getContacts')
->with($user, $filter)
@@ -138,11 +136,10 @@ class ManagerTest extends TestCase {
$this->config->expects($this->exactly(2))
->method('getSystemValueInt')
- ->withConsecutive(
- ['sharing.maxAutocompleteResults', Constants::SHARING_MAX_AUTOCOMPLETE_RESULTS_DEFAULT],
- ['sharing.minSearchStringLength', 0]
- )
- ->willReturnOnConsecutiveCalls(3, 4);
+ ->willReturnMap([
+ ['sharing.maxAutocompleteResults', Constants::SHARING_MAX_AUTOCOMPLETE_RESULTS_DEFAULT, 3],
+ ['sharing.minSearchStringLength', 0, 4],
+ ]);
$this->appManager->expects($this->once())
->method('isEnabledForUser')
->with($this->equalTo('contacts'), $user)
diff --git a/tests/lib/DirectEditing/ManagerTest.php b/tests/lib/DirectEditing/ManagerTest.php
index d26817438cf..e09a87e448e 100644
--- a/tests/lib/DirectEditing/ManagerTest.php
+++ b/tests/lib/DirectEditing/ManagerTest.php
@@ -173,8 +173,10 @@ class ManagerTest extends TestCase {
$folder = $this->createMock(Folder::class);
$this->userFolder
->method('nodeExists')
- ->withConsecutive(['/File.txt'], ['/'])
- ->willReturnOnConsecutiveCalls(false, true);
+ ->willReturnMap([
+ ['/File.txt', false],
+ ['/', true],
+ ]);
$this->userFolder
->method('get')
->with('/')
@@ -198,8 +200,10 @@ class ManagerTest extends TestCase {
$folder = $this->createMock(Folder::class);
$this->userFolder
->method('nodeExists')
- ->withConsecutive(['/File.txt'], ['/'])
- ->willReturnOnConsecutiveCalls(false, true);
+ ->willReturnMap([
+ ['/File.txt', false],
+ ['/', true],
+ ]);
$this->userFolder
->method('get')
->with('/')
@@ -226,11 +230,12 @@ class ManagerTest extends TestCase {
$this->random->expects($this->once())
->method('generate')
->willReturn($expectedToken);
- $folder = $this->createMock(Folder::class);
$this->userFolder
->method('nodeExists')
- ->withConsecutive(['/File.txt'], ['/'])
- ->willReturnOnConsecutiveCalls(false, true);
+ ->willReturnMap([
+ ['/File.txt', false],
+ ['/', true],
+ ]);
$this->userFolder
->method('get')
->with('/File.txt')
@@ -277,8 +282,10 @@ class ManagerTest extends TestCase {
]);
$this->userFolder
->method('nodeExists')
- ->withConsecutive(['/File.txt'], ['/'])
- ->willReturnOnConsecutiveCalls(false, true);
+ ->willReturnMap([
+ ['/File.txt', false],
+ ['/', true],
+ ]);
$this->userFolder
->method('get')
->with('/')
diff --git a/tests/lib/Encryption/DecryptAllTest.php b/tests/lib/Encryption/DecryptAllTest.php
index 6a8453bcaf8..7385ff03785 100644
--- a/tests/lib/Encryption/DecryptAllTest.php
+++ b/tests/lib/Encryption/DecryptAllTest.php
@@ -82,7 +82,7 @@ class DecryptAllTest extends TestCase {
$this->invokePrivate($this->instance, 'output', [$this->outputInterface]);
}
- public function dataDecryptAll() {
+ public static function dataDecryptAll(): array {
return [
[true, 'user1', true],
[false, 'user1', true],
@@ -113,7 +113,7 @@ class DecryptAllTest extends TestCase {
$this->view
]
)
- ->setMethods(['prepareEncryptionModules', 'decryptAllUsersFiles'])
+ ->onlyMethods(['prepareEncryptionModules', 'decryptAllUsersFiles'])
->getMock();
$instance->expects($this->once())
@@ -145,7 +145,7 @@ class DecryptAllTest extends TestCase {
);
}
- public function dataTrueFalse() {
+ public static function dataTrueFalse(): array {
return [
[true],
[false],
@@ -198,7 +198,7 @@ class DecryptAllTest extends TestCase {
$this->view
]
)
- ->setMethods(['decryptUsersFiles'])
+ ->onlyMethods(['decryptUsersFiles'])
->getMock();
$this->invokePrivate($instance, 'input', [$this->inputInterface]);
@@ -211,12 +211,16 @@ class DecryptAllTest extends TestCase {
$this->userInterface->expects($this->any())
->method('getUsers')
->willReturn(['user1', 'user2']);
+ $calls = [
+ 'user1',
+ 'user2',
+ ];
$instance->expects($this->exactly(2))
->method('decryptUsersFiles')
- ->withConsecutive(
- ['user1'],
- ['user2'],
- );
+ ->willReturnCallback(function ($user) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, $user);
+ });
} else {
$instance->expects($this->once())
->method('decryptUsersFiles')
@@ -226,7 +230,7 @@ class DecryptAllTest extends TestCase {
$this->invokePrivate($instance, 'decryptAllUsersFiles', [$user]);
}
- public function dataTestDecryptAllUsersFiles() {
+ public static function dataTestDecryptAllUsersFiles(): array {
return [
['user1'],
['']
@@ -243,7 +247,7 @@ class DecryptAllTest extends TestCase {
$this->view
]
)
- ->setMethods(['decryptFile'])
+ ->onlyMethods(['decryptFile'])
->getMock();
$storage = $this->getMockBuilder(IStorage::class)
@@ -253,25 +257,29 @@ class DecryptAllTest extends TestCase {
$sharedStorage = $this->getMockBuilder(IStorage::class)
->disableOriginalConstructor()->getMock();
- $sharedStorage->expects($this->once())->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\SharedStorage')->willReturn(true);
+ $sharedStorage->expects($this->once())
+ ->method('instanceOfStorage')
+ ->with('OCA\Files_Sharing\SharedStorage')
+ ->willReturn(true);
$this->view->expects($this->exactly(2))
->method('getDirectoryContent')
- ->withConsecutive(
- ['/user1/files'],
- ['/user1/files/foo']
- )
- ->willReturnOnConsecutiveCalls(
+ ->willReturnMap([
[
- new FileInfo('path', $storage, 'intPath', ['name' => 'foo', 'type' => 'dir'], null),
- new FileInfo('path', $storage, 'intPath', ['name' => 'bar', 'type' => 'file', 'encrypted' => true], null),
- new FileInfo('path', $sharedStorage, 'intPath', ['name' => 'shared', 'type' => 'file', 'encrypted' => true], null),
+ '/user1/files', '', null,
+ [
+ new FileInfo('path', $storage, 'intPath', ['name' => 'foo', 'type' => 'dir'], null),
+ new FileInfo('path', $storage, 'intPath', ['name' => 'bar', 'type' => 'file', 'encrypted' => true], null),
+ new FileInfo('path', $sharedStorage, 'intPath', ['name' => 'shared', 'type' => 'file', 'encrypted' => true], null),
+ ],
],
[
- new FileInfo('path', $storage, 'intPath', ['name' => 'subfile', 'type' => 'file', 'encrypted' => true], null)
- ]
- );
+ '/user1/files/foo', '', null,
+ [
+ new FileInfo('path', $storage, 'intPath', ['name' => 'subfile', 'type' => 'file', 'encrypted' => true], null)
+ ],
+ ],
+ ]);
$this->view->expects($this->any())->method('is_dir')
->willReturnCallback(
@@ -283,12 +291,16 @@ class DecryptAllTest extends TestCase {
}
);
+ $calls = [
+ '/user1/files/bar',
+ '/user1/files/foo/subfile',
+ ];
$instance->expects($this->exactly(2))
->method('decryptFile')
- ->withConsecutive(
- ['/user1/files/bar'],
- ['/user1/files/foo/subfile'],
- );
+ ->willReturnCallback(function ($path) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, $path);
+ });
/* We need format method to return a string */
@@ -320,7 +332,7 @@ class DecryptAllTest extends TestCase {
$this->view
]
)
- ->setMethods(['getTimestamp'])
+ ->onlyMethods(['getTimestamp'])
->getMock();
$fileInfo = $this->createMock(FileInfo::class);
@@ -360,7 +372,7 @@ class DecryptAllTest extends TestCase {
$this->view
]
)
- ->setMethods(['getTimestamp'])
+ ->onlyMethods(['getTimestamp'])
->getMock();
diff --git a/tests/lib/Encryption/Keys/StorageTest.php b/tests/lib/Encryption/Keys/StorageTest.php
index 2ce30105293..bc79c5771ca 100644
--- a/tests/lib/Encryption/Keys/StorageTest.php
+++ b/tests/lib/Encryption/Keys/StorageTest.php
@@ -9,6 +9,7 @@
namespace Test\Encryption\Keys;
use OC\Encryption\Keys\Storage;
+use OC\Encryption\Util;
use OC\Files\View;
use OCP\IConfig;
use OCP\Security\ICrypto;
@@ -36,9 +37,9 @@ class StorageTest extends TestCase {
protected function setUp(): void {
parent::setUp();
- $this->util = $this->getMockBuilder('OC\Encryption\Util')
+ $this->util = $this->getMockBuilder(Util::class)
->disableOriginalConstructor()
- ->setMethodsExcept(['getFileKeyDir'])
+ ->onlyMethods(array_diff(get_class_methods(Util::class), ['getFileKeyDir']))
->getMock();
$this->view = $this->getMockBuilder(View::class)
@@ -114,7 +115,7 @@ class StorageTest extends TestCase {
);
}
- public function dataTestGetFileKey() {
+ public static function dataTestGetFileKey() {
return [
['/files/foo.txt', '/files/foo.txt', true, 'key'],
['/files/foo.txt.ocTransferId2111130212.part', '/files/foo.txt', true, 'key'],
@@ -157,13 +158,10 @@ class StorageTest extends TestCase {
if (!$originalKeyExists) {
$this->view->expects($this->exactly(2))
->method('file_exists')
- ->withConsecutive(
- [$this->equalTo('/user1/files_encryption/keys' . $strippedPartialName . '/encModule/fileKey')],
- [$this->equalTo('/user1/files_encryption/keys' . $path . '/encModule/fileKey')],
- )->willReturnOnConsecutiveCalls(
- $originalKeyExists,
- true,
- );
+ ->willReturnMap([
+ ['/user1/files_encryption/keys' . $strippedPartialName . '/encModule/fileKey', $originalKeyExists],
+ ['/user1/files_encryption/keys' . $path . '/encModule/fileKey', true],
+ ]);
$this->view->expects($this->once())
->method('file_get_contents')
@@ -481,7 +479,7 @@ class StorageTest extends TestCase {
return [$parts[1], '/' . implode('/', array_slice($parts, 2))];
}
- public function dataProviderCopyRename() {
+ public static function dataProviderCopyRename() {
return [
['/user1/files/source.txt', '/user1/files/target.txt', false, false,
'/user1/files_encryption/keys/files/source.txt/', '/user1/files_encryption/keys/files/target.txt/'],
@@ -534,7 +532,7 @@ class StorageTest extends TestCase {
);
}
- public function dataTestGetPathToKeys() {
+ public static function dataTestGetPathToKeys() {
return [
['/user1/files/source.txt', false, '', '/user1/files_encryption/keys/files/source.txt/'],
['/user1/files/source.txt', true, '', '/files_encryption/keys/files/source.txt/'],
@@ -577,7 +575,7 @@ class StorageTest extends TestCase {
public function testBackupUserKeys($createBackupDir): void {
$storage = $this->getMockBuilder('OC\Encryption\Keys\Storage')
->setConstructorArgs([$this->view, $this->util, $this->crypto, $this->config])
- ->setMethods(['getTimestamp'])
+ ->onlyMethods(['getTimestamp'])
->getMock();
$storage->expects($this->any())->method('getTimestamp')->willReturn('1234567');
@@ -586,11 +584,15 @@ class StorageTest extends TestCase {
->with('user1/files_encryption/backup')->willReturn(!$createBackupDir);
if ($createBackupDir) {
+ $calls = [
+ 'user1/files_encryption/backup',
+ 'user1/files_encryption/backup/test.encryptionModule.1234567',
+ ];
$this->view->expects($this->exactly(2))->method('mkdir')
- ->withConsecutive(
- ['user1/files_encryption/backup'],
- ['user1/files_encryption/backup/test.encryptionModule.1234567'],
- );
+ ->willReturnCallback(function ($path) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, $path);
+ });
} else {
$this->view->expects($this->once())->method('mkdir')
->with('user1/files_encryption/backup/test.encryptionModule.1234567');
@@ -605,7 +607,7 @@ class StorageTest extends TestCase {
$this->assertTrue($storage->backupUserKeys('encryptionModule', 'test', 'user1'));
}
- public function dataTestBackupUserKeys() {
+ public static function dataTestBackupUserKeys() {
return [
[true], [false]
];
diff --git a/tests/lib/Files/Mount/ObjectHomeMountProviderTest.php b/tests/lib/Files/Mount/ObjectHomeMountProviderTest.php
index f787c168130..3daf82461cb 100644
--- a/tests/lib/Files/Mount/ObjectHomeMountProviderTest.php
+++ b/tests/lib/Files/Mount/ObjectHomeMountProviderTest.php
@@ -205,16 +205,12 @@ class ObjectHomeMountProviderTest extends \Test\TestCase {
public function testMultiBucketConfigFirstFallBackSingle(): void {
$this->config->expects($this->exactly(2))
- ->method('getSystemValue')
- ->withConsecutive(
- [$this->equalTo('objectstore_multibucket')],
- [$this->equalTo('objectstore')],
- )->willReturnOnConsecutiveCalls(
- '',
- [
+ ->method('getSystemValue')->willReturnMap([
+ ['objectstore_multibucket', '', ''],
+ ['objectstore', '', [
'class' => 'Test\Files\Mount\FakeObjectStore',
- ],
- );
+ ]],
+ ]);
$this->user->method('getUID')
->willReturn('uid');
diff --git a/tests/lib/Files/Storage/Wrapper/AvailabilityTest.php b/tests/lib/Files/Storage/Wrapper/AvailabilityTest.php
index 616fd023414..29277772358 100644
--- a/tests/lib/Files/Storage/Wrapper/AvailabilityTest.php
+++ b/tests/lib/Files/Storage/Wrapper/AvailabilityTest.php
@@ -76,12 +76,16 @@ class AvailabilityTest extends \Test\TestCase {
$this->storage->expects($this->once())
->method('test')
->willReturn(true);
+ $calls = [
+ false, // prevents concurrent rechecks
+ true, // sets correct availability
+ ];
$this->storage->expects($this->exactly(2))
->method('setAvailability')
- ->withConsecutive(
- [$this->equalTo(false)], // prevents concurrent rechecks
- [$this->equalTo(true)] // sets correct availability
- );
+ ->willReturnCallback(function ($value) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, $value);
+ });
$this->storage->expects($this->once())
->method('mkdir');
diff --git a/tests/lib/Files/Type/DetectionTest.php b/tests/lib/Files/Type/DetectionTest.php
index a11a59bed1e..1005f12786a 100644
--- a/tests/lib/Files/Type/DetectionTest.php
+++ b/tests/lib/Files/Type/DetectionTest.php
@@ -25,7 +25,7 @@ class DetectionTest extends \Test\TestCase {
);
}
- public function dataDetectPath(): array {
+ public static function dataDetectPath(): array {
return [
['foo.txt', 'text/plain'],
['foo.png', 'image/png'],
@@ -54,7 +54,7 @@ class DetectionTest extends \Test\TestCase {
$this->assertEquals($expected, $this->detection->detectPath($path));
}
- public function dataDetectContent(): array {
+ public static function dataDetectContent(): array {
return [
['/', 'httpd/unix-directory'],
['/data.tar.gz', 'application/gzip'],
@@ -74,7 +74,7 @@ class DetectionTest extends \Test\TestCase {
$this->assertEquals($expected, $this->detection->detectContent(\OC::$SERVERROOT . '/tests/data' . $path));
}
- public function dataDetect(): array {
+ public static function dataDetect(): array {
return [
['/', 'httpd/unix-directory'],
['/data.tar.gz', 'application/gzip'],
@@ -100,7 +100,7 @@ class DetectionTest extends \Test\TestCase {
$this->assertEquals($expected, $result);
}
- public function dataMimeTypeCustom(): array {
+ public static function dataMimeTypeCustom(): array {
return [
['123', 'foobar/123'],
['a123', 'foobar/123'],
@@ -135,7 +135,7 @@ class DetectionTest extends \Test\TestCase {
$this->assertEquals($mime, $detection->detectPath('foo.' . $ext));
}
- public function dataGetSecureMimeType(): array {
+ public static function dataGetSecureMimeType(): array {
return [
['image/svg+xml', 'text/plain'],
['image/png', 'image/png'],
@@ -255,14 +255,16 @@ class DetectionTest extends \Test\TestCase {
->getMock();
//Only call the url generator once
+ $calls = [
+ ['core', 'filetypes/my-type.png'],
+ ['core', 'filetypes/my.png'],
+ ];
$urlGenerator->expects($this->exactly(2))
->method('imagePath')
- ->withConsecutive(
- [$this->equalTo('core'), $this->equalTo('filetypes/my-type.png')],
- [$this->equalTo('core'), $this->equalTo('filetypes/my.png')]
- )
->willReturnCallback(
- function ($appName, $file) {
+ function ($appName, $file) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, [$appName, $file]);
if ($file === 'filetypes/my.png') {
return 'my.svg';
}
@@ -285,15 +287,17 @@ class DetectionTest extends \Test\TestCase {
->getMock();
//Only call the url generator once
+ $calls = [
+ ['core', 'filetypes/foo-bar.png'],
+ ['core', 'filetypes/foo.png'],
+ ['core', 'filetypes/file.png'],
+ ];
$urlGenerator->expects($this->exactly(3))
->method('imagePath')
- ->withConsecutive(
- [$this->equalTo('core'), $this->equalTo('filetypes/foo-bar.png')],
- [$this->equalTo('core'), $this->equalTo('filetypes/foo.png')],
- [$this->equalTo('core'), $this->equalTo('filetypes/file.png')]
- )
->willReturnCallback(
- function ($appName, $file) {
+ function ($appName, $file) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, [$appName, $file]);
if ($file === 'filetypes/file.png') {
return 'file.svg';
}
diff --git a/tests/lib/Files/ViewTest.php b/tests/lib/Files/ViewTest.php
index 7cebfd01b03..53e5855d0e9 100644
--- a/tests/lib/Files/ViewTest.php
+++ b/tests/lib/Files/ViewTest.php
@@ -64,6 +64,17 @@ class TemporaryNoLocal extends Temporary {
}
}
+class TestEventHandler {
+ public function umount() {
+ }
+ public function post_umount() {
+ }
+ public function preCallback() {
+ }
+ public function postCallback() {
+ }
+}
+
/**
* Class ViewTest
*
@@ -291,7 +302,7 @@ class ViewTest extends \Test\TestCase {
$this->assertCount(4, $folderContent);
}
- public function sharingDisabledPermissionProvider() {
+ public static function sharingDisabledPermissionProvider(): array {
return [
['no', '', true],
['yes', 'group1', false],
@@ -543,7 +554,7 @@ class ViewTest extends \Test\TestCase {
$this->assertFalse($rootView->file_exists('substorage/bar.txt'));
}
- public function rmdirOrUnlinkDataProvider() {
+ public static function rmdirOrUnlinkDataProvider(): array {
return [['rmdir'], ['unlink']];
}
@@ -775,7 +786,7 @@ class ViewTest extends \Test\TestCase {
$this->assertTrue($exists);
}
- public function resolvePathTestProvider() {
+ public static function resolvePathTestProvider(): array {
return [
['foo.txt', 'foo.txt'],
['foo.txt', '/foo.txt'],
@@ -940,7 +951,7 @@ class ViewTest extends \Test\TestCase {
$this->assertEquals(6, $info->getSize());
}
- public function absolutePathProvider() {
+ public static function absolutePathProvider(): array {
return [
['/files/', ''],
['/files/0', '0'],
@@ -961,8 +972,8 @@ class ViewTest extends \Test\TestCase {
$this->assertEquals($expectedPath, $view->getRelativePath($absolutePath));
}
- public function chrootRelativePathProvider() {
- return $this->relativePathProvider('/');
+ public static function chrootRelativePathProvider(): array {
+ return self::relativePathProvider('/');
}
/**
@@ -973,11 +984,11 @@ class ViewTest extends \Test\TestCase {
$this->assertEquals($expectedPath, $view->getRelativePath($absolutePath));
}
- public function initRelativePathProvider() {
- return $this->relativePathProvider(null);
+ public static function initRelativePathProvider(): array {
+ return self::relativePathProvider(null);
}
- public function relativePathProvider($missingRootExpectedPath) {
+ public static function relativePathProvider($missingRootExpectedPath): array {
return [
// No root - returns the path
['', '/files', '/files'],
@@ -1097,7 +1108,7 @@ class ViewTest extends \Test\TestCase {
call_user_func([$rootView, $operation], $longPath, $param0);
}
- public function tooLongPathDataProvider() {
+ public static function tooLongPathDataProvider(): array {
return [
['getAbsolutePath'],
['getRelativePath'],
@@ -1180,7 +1191,7 @@ class ViewTest extends \Test\TestCase {
/** @var \PHPUnit\Framework\MockObject\MockObject|Temporary $storage2 */
$storage2 = $this->getMockBuilder(TemporaryNoCross::class)
->setConstructorArgs([[]])
- ->setMethods(['fopen', 'writeStream'])
+ ->onlyMethods(['fopen', 'writeStream'])
->getMock();
$storage2->method('writeStream')
@@ -1226,7 +1237,7 @@ class ViewTest extends \Test\TestCase {
/** @var Temporary|\PHPUnit\Framework\MockObject\MockObject $storage */
$storage = $this->getMockBuilder(Temporary::class)
->setConstructorArgs([[]])
- ->setMethods(['unlink'])
+ ->onlyMethods(['unlink'])
->getMock();
$storage->expects($this->once())
->method('unlink')
@@ -1243,7 +1254,7 @@ class ViewTest extends \Test\TestCase {
$this->assertTrue($cache->inCache('foo.txt'));
}
- public function directoryTraversalProvider() {
+ public static function directoryTraversalProvider(): array {
return [
['../test/'],
['..\\test\\my/../folder'],
@@ -1481,7 +1492,7 @@ class ViewTest extends \Test\TestCase {
$lockingProvider->releaseAll();
}
- public function dataLockPaths() {
+ public static function dataLockPaths(): array {
return [
['/testuser/{folder}', ''],
['/testuser', '/{folder}'],
@@ -1489,7 +1500,7 @@ class ViewTest extends \Test\TestCase {
];
}
- public function pathRelativeToFilesProvider() {
+ public static function pathRelativeToFilesProvider(): array {
return [
['admin/files', ''],
['admin/files/x', 'x'],
@@ -1509,7 +1520,7 @@ class ViewTest extends \Test\TestCase {
$this->assertEquals($expectedPath, $view->getPathRelativeToFiles($path));
}
- public function pathRelativeToFilesProviderExceptionCases() {
+ public static function pathRelativeToFilesProviderExceptionCases(): array {
return [
[''],
['x'],
@@ -1552,7 +1563,7 @@ class ViewTest extends \Test\TestCase {
$this->assertFalse($this->isFileLocked($view, '/test//sub', ILockingProvider::LOCK_EXCLUSIVE));
}
- public function hookPathProvider() {
+ public static function hookPathProvider(): array {
return [
['/foo/files', '/foo', true],
['/foo/files/bar', '/foo', true],
@@ -1593,7 +1604,7 @@ class ViewTest extends \Test\TestCase {
$mounts = [];
foreach ($mountPoints as $mountPoint) {
$storage = $this->getMockBuilder(Storage::class)
- ->setMethods([])
+ ->onlyMethods([])
->getMock();
$storage->method('getId')->willReturn('non-null-id');
$storage->method('getStorageCache')->willReturnCallback(function () use ($storage) {
@@ -1601,7 +1612,7 @@ class ViewTest extends \Test\TestCase {
});
$mounts[] = $this->getMockBuilder(TestMoveableMountPoint::class)
- ->setMethods(['moveMount'])
+ ->onlyMethods(['moveMount'])
->setConstructorArgs([$storage, $mountPoint])
->getMock();
}
@@ -1746,7 +1757,7 @@ class ViewTest extends \Test\TestCase {
$userObject->delete();
}
- public function basicOperationProviderForLocks() {
+ public static function basicOperationProviderForLocks(): array {
return [
// --- write hook ----
[
@@ -1931,7 +1942,7 @@ class ViewTest extends \Test\TestCase {
/** @var Temporary&MockObject $storage */
$storage = $this->getMockBuilder(Temporary::class)
- ->setMethods([$operation])
+ ->onlyMethods([$operation])
->getMock();
/* Pause trash to avoid the trashbin intercepting rmdir and unlink calls */
@@ -1987,7 +1998,7 @@ class ViewTest extends \Test\TestCase {
$path = 'test_file_put_contents.txt';
/** @var Temporary|\PHPUnit\Framework\MockObject\MockObject $storage */
$storage = $this->getMockBuilder(Temporary::class)
- ->setMethods(['fopen'])
+ ->onlyMethods(['fopen'])
->getMock();
Filesystem::mount($storage, [], $this->user . '/');
@@ -2026,7 +2037,7 @@ class ViewTest extends \Test\TestCase {
$path = 'test_file_put_contents.txt';
/** @var Temporary|\PHPUnit\Framework\MockObject\MockObject $storage */
$storage = $this->getMockBuilder(Temporary::class)
- ->setMethods(['fopen'])
+ ->onlyMethods(['fopen'])
->getMock();
Filesystem::mount($storage, [], $this->user . '/');
@@ -2081,7 +2092,7 @@ class ViewTest extends \Test\TestCase {
/** @var Temporary|\PHPUnit\Framework\MockObject\MockObject $storage */
$storage = $this->getMockBuilder(Temporary::class)
- ->setMethods([$operation])
+ ->onlyMethods([$operation])
->getMock();
/* Pause trash to avoid the trashbin intercepting rmdir and unlink calls */
@@ -2169,7 +2180,7 @@ class ViewTest extends \Test\TestCase {
/** @var Temporary|\PHPUnit\Framework\MockObject\MockObject $storage */
$storage = $this->getMockBuilder(Temporary::class)
- ->setMethods([$operation])
+ ->onlyMethods([$operation])
->getMock();
Filesystem::mount($storage, [], $this->user . '/');
@@ -2187,7 +2198,7 @@ class ViewTest extends \Test\TestCase {
$this->assertNull($this->getFileLockType($view, $path), 'File got unlocked after exception');
}
- public function lockFileRenameOrCopyDataProvider() {
+ public static function lockFileRenameOrCopyDataProvider(): array {
return [
['rename', ILockingProvider::LOCK_EXCLUSIVE],
['copy', ILockingProvider::LOCK_SHARED],
@@ -2208,7 +2219,7 @@ class ViewTest extends \Test\TestCase {
/** @var Temporary|\PHPUnit\Framework\MockObject\MockObject $storage */
$storage = $this->getMockBuilder(Temporary::class)
- ->setMethods([$operation, 'getMetaData', 'filemtime'])
+ ->onlyMethods([$operation, 'getMetaData', 'filemtime'])
->getMock();
$storage->expects($this->any())
@@ -2274,7 +2285,7 @@ class ViewTest extends \Test\TestCase {
/** @var Temporary|\PHPUnit\Framework\MockObject\MockObject $storage */
$storage = $this->getMockBuilder(Temporary::class)
- ->setMethods(['copy'])
+ ->onlyMethods(['copy'])
->getMock();
$sourcePath = 'original.txt';
@@ -2371,7 +2382,7 @@ class ViewTest extends \Test\TestCase {
$this->assertEquals('test', $folderInfo[0]->getOwner()->getUID());
}
- public function lockFileRenameOrCopyCrossStorageDataProvider() {
+ public static function lockFileRenameOrCopyCrossStorageDataProvider(): array {
return [
['rename', 'moveFromStorage', ILockingProvider::LOCK_EXCLUSIVE],
['copy', 'copyFromStorage', ILockingProvider::LOCK_SHARED],
@@ -2393,11 +2404,11 @@ class ViewTest extends \Test\TestCase {
/** @var Temporary|\PHPUnit\Framework\MockObject\MockObject $storage */
$storage = $this->getMockBuilder(Temporary::class)
- ->setMethods([$storageOperation])
+ ->onlyMethods([$storageOperation])
->getMock();
/** @var Temporary|\PHPUnit\Framework\MockObject\MockObject $storage2 */
$storage2 = $this->getMockBuilder(Temporary::class)
- ->setMethods([$storageOperation, 'getMetaData', 'filemtime'])
+ ->onlyMethods([$storageOperation, 'getMetaData', 'filemtime'])
->getMock();
$storage2->expects($this->any())
@@ -2532,8 +2543,8 @@ class ViewTest extends \Test\TestCase {
return;
}
- $eventHandler = $this->getMockBuilder(\stdclass::class)
- ->setMethods(['preCallback', 'postCallback'])
+ $eventHandler = $this->getMockBuilder(TestEventHandler::class)
+ ->onlyMethods(['preCallback', 'postCallback'])
->getMock();
$eventHandler->expects($this->any())
@@ -2607,8 +2618,8 @@ class ViewTest extends \Test\TestCase {
Filesystem::getMountManager()->addMount($mount);
// Listen for events
- $eventHandler = $this->getMockBuilder(\stdclass::class)
- ->setMethods(['umount', 'post_umount'])
+ $eventHandler = $this->getMockBuilder(TestEventHandler::class)
+ ->onlyMethods(['umount', 'post_umount'])
->getMock();
$eventHandler->expects($this->once())
->method('umount')
@@ -2634,7 +2645,7 @@ class ViewTest extends \Test\TestCase {
$this->assertEquals('foo', $view->rmdir('mount'));
}
- public function mimeFilterProvider() {
+ public static function mimeFilterProvider(): array {
return [
[null, ['test1.txt', 'test2.txt', 'test3.md', 'test4.png']],
['text/plain', ['test1.txt', 'test2.txt']],
@@ -2742,7 +2753,7 @@ class ViewTest extends \Test\TestCase {
public function testCreateParentDirectories(): void {
$view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()
- ->setMethods([
+ ->onlyMethods([
'is_file',
'file_exists',
'mkdir',
@@ -2751,29 +2762,26 @@ class ViewTest extends \Test\TestCase {
$view->expects($this->exactly(3))
->method('is_file')
- ->withConsecutive(
- ['/new'],
- ['/new/folder'],
- ['/new/folder/structure'],
- )
- ->willReturn(false);
+ ->willReturnMap([
+ ['/new', false],
+ ['/new/folder', false],
+ ['/new/folder/structure', false],
+ ]);
$view->expects($this->exactly(3))
->method('file_exists')
- ->withConsecutive(
- ['/new'],
- ['/new/folder'],
- ['/new/folder/structure'],
- )->willReturnOnConsecutiveCalls(
- true,
- false,
- false,
- );
+ ->willReturnMap([
+ ['/new', true],
+ ['/new/folder', false],
+ ['/new/folder/structure', false],
+ ]);
+
+ $calls = ['/new/folder', '/new/folder/structure'];
$view->expects($this->exactly(2))
->method('mkdir')
- ->withConsecutive(
- ['/new/folder'],
- ['/new/folder/structure'],
- );
+ ->willReturnCallback(function ($dir) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, $dir);
+ });
$this->assertTrue(self::invokePrivate($view, 'createParentDirectories', ['/new/folder/structure']));
}
@@ -2781,7 +2789,7 @@ class ViewTest extends \Test\TestCase {
public function testCreateParentDirectoriesWithExistingFile(): void {
$view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()
- ->setMethods([
+ ->onlyMethods([
'is_file',
'file_exists',
'mkdir',
diff --git a/tests/lib/Http/Client/ClientTest.php b/tests/lib/Http/Client/ClientTest.php
index 47a6b885aed..92e5f04d7f0 100644
--- a/tests/lib/Http/Client/ClientTest.php
+++ b/tests/lib/Http/Client/ClientTest.php
@@ -92,14 +92,10 @@ class ClientTest extends \Test\TestCase {
$this->config
->expects($this->exactly(2))
->method('getSystemValueString')
- ->withConsecutive(
- ['proxy', ''],
- ['proxyuserpwd', ''],
- )
- ->willReturnOnConsecutiveCalls(
- 'foo',
- 'username:password',
- );
+ ->willReturnMap([
+ ['proxy', '', 'foo'],
+ ['proxyuserpwd', '', 'username:password'],
+ ]);
$this->assertEquals([
'http' => 'username:password@foo',
'https' => 'username:password@foo'
@@ -115,14 +111,10 @@ class ClientTest extends \Test\TestCase {
$this->config
->expects($this->exactly(2))
->method('getSystemValueString')
- ->withConsecutive(
- ['proxy', ''],
- ['proxyuserpwd', ''],
- )
- ->willReturnOnConsecutiveCalls(
- 'foo',
- 'username:password',
- );
+ ->willReturnMap([
+ ['proxy', '', 'foo'],
+ ['proxyuserpwd', '', 'username:password'],
+ ]);
$this->assertEquals([
'http' => 'username:password@foo',
'https' => 'username:password@foo',
@@ -137,7 +129,7 @@ class ClientTest extends \Test\TestCase {
self::invokePrivate($this->client, 'preventLocalAddress', ['!@#$', []]);
}
- public function dataPreventLocalAddress():array {
+ public static function dataPreventLocalAddress(): array {
return [
['https://localhost/foo.bar'],
['https://localHost/foo.bar'],
@@ -461,14 +453,10 @@ class ClientTest extends \Test\TestCase {
$this->config
->expects($this->exactly(2))
->method('getSystemValueBool')
- ->withConsecutive(
- ['installed', false],
- ['allow_local_remote_servers', false],
- )
- ->willReturnOnConsecutiveCalls(
- false,
- false,
- );
+ ->willReturnMap([
+ ['installed', false, false],
+ ['allow_local_remote_servers', false, false],
+ ]);
$this->config
->expects($this->once())
->method('getSystemValueString')
@@ -503,14 +491,10 @@ class ClientTest extends \Test\TestCase {
$this->config
->expects($this->exactly(2))
->method('getSystemValueBool')
- ->withConsecutive(
- ['installed', false],
- ['allow_local_remote_servers', false],
- )
- ->willReturnOnConsecutiveCalls(
- true,
- false,
- );
+ ->willReturnMap([
+ ['installed', false, true],
+ ['allow_local_remote_servers', false, false],
+ ]);
$this->config
->expects($this->once())
->method('getSystemValue')
@@ -519,14 +503,10 @@ class ClientTest extends \Test\TestCase {
$this->config
->expects($this->exactly(2))
->method('getSystemValueString')
- ->withConsecutive(
- ['proxy', ''],
- ['proxyuserpwd', ''],
- )
- ->willReturnOnConsecutiveCalls(
- 'foo',
- '',
- );
+ ->willReturnMap([
+ ['proxy', '', 'foo'],
+ ['proxyuserpwd', '', ''],
+ ]);
$this->certificateManager
->expects($this->once())
->method('getAbsoluteBundlePath')
@@ -562,14 +542,10 @@ class ClientTest extends \Test\TestCase {
$this->config
->expects($this->exactly(2))
->method('getSystemValueBool')
- ->withConsecutive(
- ['installed', false],
- ['allow_local_remote_servers', false],
- )
- ->willReturnOnConsecutiveCalls(
- true,
- false,
- );
+ ->willReturnMap([
+ ['installed', false, true],
+ ['allow_local_remote_servers', false, false],
+ ]);
$this->config
->expects($this->once())
->method('getSystemValue')
@@ -578,14 +554,10 @@ class ClientTest extends \Test\TestCase {
$this->config
->expects($this->exactly(2))
->method('getSystemValueString')
- ->withConsecutive(
- ['proxy', ''],
- ['proxyuserpwd', ''],
- )
- ->willReturnOnConsecutiveCalls(
- 'foo',
- '',
- );
+ ->willReturnMap([
+ ['proxy', '', 'foo'],
+ ['proxyuserpwd', '', ''],
+ ]);
$this->certificateManager
->expects($this->once())
->method('getAbsoluteBundlePath')
diff --git a/tests/lib/IntegrityCheck/CheckerTest.php b/tests/lib/IntegrityCheck/CheckerTest.php
index 5858a01203f..c5a4f255397 100644
--- a/tests/lib/IntegrityCheck/CheckerTest.php
+++ b/tests/lib/IntegrityCheck/CheckerTest.php
@@ -200,14 +200,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//appinfo/signature.json'],
- ['/resources/codesigning/root.crt'],
- )
- ->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//appinfo/signature.json', $signatureDataFile],
+ ['/resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$this->assertSame([], $this->checker->verifyAppSignature('SomeApp'));
}
@@ -239,14 +235,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//appinfo/signature.json'],
- ['/resources/codesigning/root.crt'],
- )
- ->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//appinfo/signature.json', $signatureDataFile],
+ ['/resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$expected = [
'EXCEPTION' => [
@@ -284,14 +276,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//appinfo/signature.json'],
- ['/resources/codesigning/root.crt'],
- )
- ->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//appinfo/signature.json', $signatureDataFile],
+ ['/resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$expected = [
@@ -344,15 +332,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//appinfo/signature.json'],
- ['/resources/codesigning/root.crt'],
- )
- ->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
-
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//appinfo/signature.json', $signatureDataFile],
+ ['/resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$expected = [
'INVALID_HASH' => [
@@ -405,13 +388,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//appinfo/signature.json'],
- ['/resources/codesigning/root.crt'],
- )->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//appinfo/signature.json', $signatureDataFile],
+ ['/resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$expected = [
'EXCEPTION' => [
@@ -449,13 +429,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//appinfo/signature.json'],
- ['/resources/codesigning/root.crt'],
- )->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//appinfo/signature.json', $signatureDataFile],
+ ['/resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$this->assertSame([], $this->checker->verifyAppSignature('SomeApp'));
}
@@ -689,13 +666,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//core/signature.json'],
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//resources/codesigning/root.crt'],
- )->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//core/signature.json', $signatureDataFile],
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$this->assertSame([], $this->checker->verifyCoreSignature());
}
@@ -726,14 +700,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/htaccessWithValidModifiedContent/core/signature.json'],
- [\OC::$SERVERROOT . '/tests/data/integritycheck/htaccessWithValidModifiedContent/resources/codesigning/root.crt'],
- )
- ->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/htaccessWithValidModifiedContent/core/signature.json', $signatureDataFile],
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/htaccessWithValidModifiedContent/resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$this->assertSame([], $this->checker->verifyCoreSignature());
}
@@ -816,13 +786,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//core/signature.json'],
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//resources/codesigning/root.crt'],
- )->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//core/signature.json', $signatureDataFile],
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$this->assertSame([], $this->checker->verifyCoreSignature());
}
@@ -853,13 +820,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//core/signature.json'],
- [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//resources/codesigning/root.crt'],
- )->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//core/signature.json', $signatureDataFile],
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$expected = [
'EXCEPTION' => [
@@ -896,13 +860,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//core/signature.json'],
- [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//resources/codesigning/root.crt'],
- )->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//core/signature.json', $signatureDataFile],
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/appWithInvalidData//resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$expected = [
'INVALID_HASH' => [
@@ -954,13 +915,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//core/signature.json'],
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//resources/codesigning/root.crt'],
- )->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//core/signature.json', $signatureDataFile],
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$expected = [
'EXCEPTION' => [
@@ -997,13 +955,10 @@ class CheckerTest extends TestCase {
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_get_contents')
- ->withConsecutive(
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//core/signature.json'],
- [\OC::$SERVERROOT . '/tests/data/integritycheck/app//resources/codesigning/root.crt'],
- )->willReturnOnConsecutiveCalls(
- $signatureDataFile,
- file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')
- );
+ ->willReturnMap([
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//core/signature.json', $signatureDataFile],
+ [\OC::$SERVERROOT . '/tests/data/integritycheck/app//resources/codesigning/root.crt', file_get_contents(__DIR__ . '/../../data/integritycheck/root.crt')],
+ ]);
$expected = [
'EXCEPTION' => [
@@ -1027,7 +982,7 @@ class CheckerTest extends TestCase {
$this->appManager,
$this->mimeTypeDetector,
])
- ->setMethods([
+ ->onlyMethods([
'verifyCoreSignature',
'verifyAppSignature',
])
@@ -1048,45 +1003,40 @@ class CheckerTest extends TestCase {
$this->appManager
->expects($this->exactly(4))
->method('isShipped')
- ->withConsecutive(
- ['files'],
- ['calendar'],
- ['contacts'],
- ['dav'],
- )->willReturnOnConsecutiveCalls(
- true,
- false,
- false,
- true,
- );
+ ->willReturnMap([
+ ['files', true],
+ ['calendar', false],
+ ['contacts', false],
+ ['dav', true],
+ ]);
+
+ $calls = [
+ 'files',
+ 'calendar',
+ 'dav',
+ ];
$this->checker
->expects($this->exactly(3))
->method('verifyAppSignature')
- ->withConsecutive(
- ['files'],
- ['calendar'],
- ['dav'],
- );
+ ->willReturnCallback(function ($app) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertSame($expected, $app);
+ return [];
+ });
$this->appLocator
->expects($this->exactly(2))
->method('getAppPath')
- ->withConsecutive(
- ['calendar'],
- ['contacts'],
- )->willReturnOnConsecutiveCalls(
- '/apps/calendar',
- '/apps/contacts',
- );
+ ->willReturnMap([
+ ['calendar', '/apps/calendar'],
+ ['contacts', '/apps/contacts'],
+ ]);
$this->fileAccessHelper
->expects($this->exactly(2))
->method('file_exists')
- ->withConsecutive(
- ['/apps/calendar/appinfo/signature.json'],
- ['/apps/contacts/appinfo/signature.json'],
- )->willReturnOnConsecutiveCalls(
- true,
- false,
- );
+ ->willReturnMap([
+ ['/apps/calendar/appinfo/signature.json', true],
+ ['/apps/contacts/appinfo/signature.json', false],
+ ]);
$this->appConfig
->expects($this->once())
->method('deleteKey')
@@ -1110,10 +1060,7 @@ class CheckerTest extends TestCase {
$this->assertSame($expected, $this->checker->verifyAppSignature('SomeApp'));
}
- /**
- * @return array
- */
- public function channelDataProvider() {
+ public static function channelDataProvider(): array {
return [
['stable', true],
['git', false],
diff --git a/tests/lib/Share20/ManagerTest.php b/tests/lib/Share20/ManagerTest.php
index 03731a90754..9e778207a8e 100644
--- a/tests/lib/Share20/ManagerTest.php
+++ b/tests/lib/Share20/ManagerTest.php
@@ -59,6 +59,13 @@ use PHPUnit\Framework\MockObject\MockBuilder;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
+class DummyShareManagerListener {
+ public function post() {
+ }
+ public function listener() {
+ }
+}
+
/**
* Class ManagerTest
*
@@ -225,13 +232,7 @@ class ManagerTest extends \Test\TestCase {
$this->manager->deleteShare($share);
}
- public function dataTestDelete() {
- $user = $this->createMock(IUser::class);
- $user->method('getUID')->willReturn('sharedWithUser');
-
- $group = $this->createMock(IGroup::class);
- $group->method('getGID')->willReturn('sharedWithGroup');
-
+ public static function dataTestDelete(): array {
return [
[IShare::TYPE_USER, 'sharedWithUser'],
[IShare::TYPE_GROUP, 'sharedWithGroup'],
@@ -245,7 +246,7 @@ class ManagerTest extends \Test\TestCase {
*/
public function testDelete($shareType, $sharedWith): void {
$manager = $this->createManagerMock()
- ->setMethods(['getShareById', 'deleteChildren', 'promoteReshares'])
+ ->onlyMethods(['getShareById', 'deleteChildren', 'promoteReshares'])
->getMock();
$manager->method('deleteChildren')->willReturn([]);
@@ -270,25 +271,24 @@ class ManagerTest extends \Test\TestCase {
->method('delete')
->with($share);
+ $calls = [
+ BeforeShareDeletedEvent::class,
+ ShareDeletedEvent::class,
+ ];
$this->dispatcher->expects($this->exactly(2))
->method('dispatchTyped')
- ->withConsecutive(
- [
- $this->callBack(function (BeforeShareDeletedEvent $e) use ($share) {
- return $e->getShare() === $share;
- })],
- [
- $this->callBack(function (ShareDeletedEvent $e) use ($share) {
- return $e->getShare() === $share;
- })]
- );
+ ->willReturnCallback(function ($event) use (&$calls, $share) {
+ $expected = array_shift($calls);
+ $this->assertInstanceOf($expected, $event);
+ $this->assertEquals($share, $event->getShare());
+ });
$manager->deleteShare($share);
}
public function testDeleteLazyShare(): void {
$manager = $this->createManagerMock()
- ->setMethods(['getShareById', 'deleteChildren', 'promoteReshares'])
+ ->onlyMethods(['getShareById', 'deleteChildren', 'promoteReshares'])
->getMock();
$manager->method('deleteChildren')->willReturn([]);
@@ -314,25 +314,24 @@ class ManagerTest extends \Test\TestCase {
->method('delete')
->with($share);
+ $calls = [
+ BeforeShareDeletedEvent::class,
+ ShareDeletedEvent::class,
+ ];
$this->dispatcher->expects($this->exactly(2))
->method('dispatchTyped')
- ->withConsecutive(
- [
- $this->callBack(function (BeforeShareDeletedEvent $e) use ($share) {
- return $e->getShare() === $share;
- })],
- [
- $this->callBack(function (ShareDeletedEvent $e) use ($share) {
- return $e->getShare() === $share;
- })]
- );
+ ->willReturnCallback(function ($event) use (&$calls, $share) {
+ $expected = array_shift($calls);
+ $this->assertInstanceOf($expected, $event);
+ $this->assertEquals($share, $event->getShare());
+ });
$manager->deleteShare($share);
}
public function testDeleteNested(): void {
$manager = $this->createManagerMock()
- ->setMethods(['getShareById', 'promoteReshares'])
+ ->onlyMethods(['getShareById', 'promoteReshares'])
->getMock();
$path = $this->createMock(File::class);
@@ -374,51 +373,40 @@ class ManagerTest extends \Test\TestCase {
[$share3, []],
]);
- $this->defaultProvider
+ $deleteCalls = [
+ $share3,
+ $share2,
+ $share1,
+ ];
+ $this->defaultProvider->expects($this->exactly(3))
->method('delete')
- ->withConsecutive([$share3], [$share2], [$share1]);
+ ->willReturnCallback(function ($share) use (&$deleteCalls) {
+ $expected = array_shift($deleteCalls);
+ $this->assertEquals($expected, $share);
+ });
+ $dispatchCalls = [
+ [BeforeShareDeletedEvent::class, $share1],
+ [BeforeShareDeletedEvent::class, $share2],
+ [BeforeShareDeletedEvent::class, $share3],
+ [ShareDeletedEvent::class, $share3],
+ [ShareDeletedEvent::class, $share2],
+ [ShareDeletedEvent::class, $share1],
+ ];
$this->dispatcher->expects($this->exactly(6))
->method('dispatchTyped')
- ->withConsecutive(
- [
- $this->callBack(function (BeforeShareDeletedEvent $e) use ($share1) {
- return $e->getShare()->getId() === $share1->getId();
- })
- ],
- [
- $this->callBack(function (BeforeShareDeletedEvent $e) use ($share2) {
- return $e->getShare()->getId() === $share2->getId();
- })
- ],
- [
- $this->callBack(function (BeforeShareDeletedEvent $e) use ($share3) {
- return $e->getShare()->getId() === $share3->getId();
- })
- ],
- [
- $this->callBack(function (ShareDeletedEvent $e) use ($share3) {
- return $e->getShare()->getId() === $share3->getId();
- })
- ],
- [
- $this->callBack(function (ShareDeletedEvent $e) use ($share2) {
- return $e->getShare()->getId() === $share2->getId();
- })
- ],
- [
- $this->callBack(function (ShareDeletedEvent $e) use ($share1) {
- return $e->getShare()->getId() === $share1->getId();
- })
- ],
- );
+ ->willReturnCallback(function ($event) use (&$dispatchCalls) {
+ $expected = array_shift($dispatchCalls);
+ $this->assertInstanceOf($expected[0], $event);
+ $this->assertEquals($expected[1]->getId(), $event->getShare()->getId());
+ });
$manager->deleteShare($share1);
}
public function testDeleteFromSelf(): void {
$manager = $this->createManagerMock()
- ->setMethods(['getShareById'])
+ ->onlyMethods(['getShareById'])
->getMock();
$recipientId = 'unshareFrom';
@@ -451,7 +439,7 @@ class ManagerTest extends \Test\TestCase {
public function testDeleteChildren(): void {
$manager = $this->createManagerMock()
- ->setMethods(['deleteShare'])
+ ->onlyMethods(['deleteShare'])
->getMock();
$share = $this->createMock(IShare::class);
@@ -480,10 +468,17 @@ class ManagerTest extends \Test\TestCase {
return [];
});
- $this->defaultProvider
- ->expects($this->exactly(3))
+ $calls = [
+ $child1,
+ $child2,
+ $child3,
+ ];
+ $this->defaultProvider->expects($this->exactly(3))
->method('delete')
- ->withConsecutive([$child1], [$child2], [$child3]);
+ ->willReturnCallback(function ($share) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, $share);
+ });
$result = self::invokePrivate($manager, 'deleteChildren', [$share]);
$this->assertSame($shares, $result);
@@ -491,7 +486,7 @@ class ManagerTest extends \Test\TestCase {
public function testPromoteReshareFile(): void {
$manager = $this->createManagerMock()
- ->setMethods(['updateShare', 'getSharesInFolder', 'generalCreateChecks'])
+ ->onlyMethods(['updateShare', 'getSharesInFolder', 'generalCreateChecks'])
->getMock();
$file = $this->createMock(File::class);
@@ -528,7 +523,7 @@ class ManagerTest extends \Test\TestCase {
public function testPromoteReshare(): void {
$manager = $this->createManagerMock()
- ->setMethods(['updateShare', 'getSharesInFolder', 'generalCreateChecks'])
+ ->onlyMethods(['updateShare', 'getSharesInFolder', 'generalCreateChecks'])
->getMock();
$folder = $this->createFolderMock('/path/to/folder');
@@ -571,14 +566,23 @@ class ManagerTest extends \Test\TestCase {
});
$manager->method('generalCreateChecks')->willThrowException(new GenericShareException());
- $manager->expects($this->exactly(2))->method('updateShare')->withConsecutive([$reShare], [$reShareInSubFolder]);
+ $calls = [
+ $reShare,
+ $reShareInSubFolder,
+ ];
+ $manager->expects($this->exactly(2))
+ ->method('updateShare')
+ ->willReturnCallback(function ($share) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, $share);
+ });
self::invokePrivate($manager, 'promoteReshares', [$share]);
}
public function testPromoteReshareWhenUserHasAnotherShare(): void {
$manager = $this->createManagerMock()
- ->setMethods(['updateShare', 'getSharesInFolder', 'getSharedWith', 'generalCreateChecks'])
+ ->onlyMethods(['updateShare', 'getSharesInFolder', 'getSharedWith', 'generalCreateChecks'])
->getMock();
$folder = $this->createFolderMock('/path/to/folder');
@@ -606,7 +610,7 @@ class ManagerTest extends \Test\TestCase {
public function testPromoteReshareOfUsersInGroupShare(): void {
$manager = $this->createManagerMock()
- ->setMethods(['updateShare', 'getSharesInFolder', 'getSharedWith', 'generalCreateChecks'])
+ ->onlyMethods(['updateShare', 'getSharesInFolder', 'getSharedWith', 'generalCreateChecks'])
->getMock();
$folder = $this->createFolderMock('/path/to/folder');
@@ -656,7 +660,16 @@ class ManagerTest extends \Test\TestCase {
$manager->method('getSharedWith')->willReturn([]);
- $manager->expects($this->exactly(2))->method('updateShare')->withConsecutive([$reShare1], [$reShare2]);
+ $calls = [
+ $reShare1,
+ $reShare2,
+ ];
+ $manager->expects($this->exactly(2))
+ ->method('updateShare')
+ ->willReturnCallback(function ($share) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, $share);
+ });
self::invokePrivate($manager, 'promoteReshares', [$share]);
}
@@ -678,7 +691,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectException(\OCP\Share\Exceptions\ShareNotFound::class);
$manager = $this->createManagerMock()
- ->setMethods(['deleteShare'])
+ ->onlyMethods(['deleteShare'])
->getMock();
$date = new \DateTime();
@@ -1055,7 +1068,7 @@ class ManagerTest extends \Test\TestCase {
self::invokePrivate($this->manager, 'generalCreateChecks', [$share]);
}
- public function validateExpirationDateInternalProvider() {
+ public static function validateExpirationDateInternalProvider() {
return [[IShare::TYPE_USER], [IShare::TYPE_REMOTE], [IShare::TYPE_REMOTE_GROUP]];
}
@@ -1263,7 +1276,7 @@ class ManagerTest extends \Test\TestCase {
]);
}
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($future) {
return $data['expirationDate'] == $future;
@@ -1289,7 +1302,7 @@ class ManagerTest extends \Test\TestCase {
$share->setShareType($shareType);
$share->setExpirationDate($date);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($expected) {
return $data['expirationDate'] == $expected && $data['passwordSet'] === false;
@@ -1304,7 +1317,7 @@ class ManagerTest extends \Test\TestCase {
* @dataProvider validateExpirationDateInternalProvider
*/
public function testValidateExpirationDateInternalNoDateNoDefault($shareType): void {
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) {
return $data['expirationDate'] === null && $data['passwordSet'] === true;
@@ -1347,7 +1360,7 @@ class ManagerTest extends \Test\TestCase {
]);
}
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($expected) {
return $data['expirationDate'] == $expected;
@@ -1389,7 +1402,7 @@ class ManagerTest extends \Test\TestCase {
]);
}
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($expected) {
return $data['expirationDate'] == $expected;
@@ -1410,7 +1423,7 @@ class ManagerTest extends \Test\TestCase {
$save = clone $nextWeek;
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->willReturnCallback(function ($data) {
$data['expirationDate']->sub(new \DateInterval('P2D'));
@@ -1441,7 +1454,7 @@ class ManagerTest extends \Test\TestCase {
$share->setShareType($shareType);
$share->setExpirationDate($nextWeek);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->willReturnCallback(function ($data) {
$data['accepted'] = false;
@@ -1602,7 +1615,7 @@ class ManagerTest extends \Test\TestCase {
['core', 'shareapi_default_expire_date', 'no', 'yes'],
]);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($future) {
return $data['expirationDate'] == $future;
@@ -1625,7 +1638,7 @@ class ManagerTest extends \Test\TestCase {
$share = $this->manager->newShare();
$share->setExpirationDate($date);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($expected) {
return $data['expirationDate'] == $expected && $data['passwordSet'] === false;
@@ -1637,7 +1650,7 @@ class ManagerTest extends \Test\TestCase {
}
public function testValidateExpirationDateNoDateNoDefault(): void {
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) {
return $data['expirationDate'] === null && $data['passwordSet'] === true;
@@ -1666,7 +1679,7 @@ class ManagerTest extends \Test\TestCase {
['core', 'link_defaultExpDays', '3', '3'],
]);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($expected) {
return $data['expirationDate'] == $expected;
@@ -1696,7 +1709,7 @@ class ManagerTest extends \Test\TestCase {
['core', 'link_defaultExpDays', '3', '1'],
]);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($expected) {
return $data['expirationDate'] == $expected;
@@ -1727,7 +1740,7 @@ class ManagerTest extends \Test\TestCase {
['core', 'link_defaultExpDays', '3', '1'],
]);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($expected) {
return $data['expirationDate'] == $expected;
@@ -1747,7 +1760,7 @@ class ManagerTest extends \Test\TestCase {
$save->sub(new \DateInterval('P2D'));
$save->setTimezone(new \DateTimeZone(date_default_timezone_get()));
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->willReturnCallback(function ($data) {
$data['expirationDate']->sub(new \DateInterval('P2D'));
@@ -1772,7 +1785,7 @@ class ManagerTest extends \Test\TestCase {
$share = $this->manager->newShare();
$share->setExpirationDate($nextWeek);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
$hookListener->expects($this->once())->method('listener')->willReturnCallback(function ($data) {
$data['accepted'] = false;
@@ -2301,7 +2314,7 @@ class ManagerTest extends \Test\TestCase {
$this->addToAssertionCount(1);
}
- public function dataIsSharingDisabledForUser() {
+ public static function dataIsSharingDisabledForUser() {
$data = [];
// No exclude groups
@@ -2375,7 +2388,7 @@ class ManagerTest extends \Test\TestCase {
$this->assertEquals($expected, $res);
}
- public function dataCanShare() {
+ public static function dataCanShare() {
$data = [];
/*
@@ -2404,7 +2417,7 @@ class ManagerTest extends \Test\TestCase {
]);
$manager = $this->createManagerMock()
- ->setMethods(['sharingDisabledForUser'])
+ ->onlyMethods(['sharingDisabledForUser'])
->getMock();
$manager->method('sharingDisabledForUser')
@@ -2482,7 +2495,7 @@ class ManagerTest extends \Test\TestCase {
public function testCreateShareGroup(): void {
$manager = $this->createManagerMock()
- ->setMethods(['canShare', 'generalCreateChecks', 'groupCreateChecks', 'pathCreateChecks'])
+ ->onlyMethods(['canShare', 'generalCreateChecks', 'groupCreateChecks', 'pathCreateChecks'])
->getMock();
$shareOwner = $this->createMock(IUser::class);
@@ -2537,7 +2550,7 @@ class ManagerTest extends \Test\TestCase {
public function testCreateShareLink(): void {
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'generalCreateChecks',
'linkCreateChecks',
@@ -2610,40 +2623,30 @@ class ManagerTest extends \Test\TestCase {
return $share->setId(42);
});
+ $calls = [
+ BeforeShareCreatedEvent::class,
+ ShareCreatedEvent::class,
+ ];
$this->dispatcher->expects($this->exactly(2))
->method('dispatchTyped')
- ->withConsecutive(
- // Pre share
- [
- $this->callback(function (BeforeShareCreatedEvent $e) use ($path, $date) {
- $share = $e->getShare();
-
- return $share->getShareType() === IShare::TYPE_LINK &&
- $share->getNode() === $path &&
- $share->getSharedBy() === 'sharedBy' &&
- $share->getPermissions() === \OCP\Constants::PERMISSION_ALL &&
- $share->getExpirationDate() === $date &&
- $share->getPassword() === 'hashed' &&
- $share->getToken() === 'token';
- })
- ],
- // Post share
- [
- $this->callback(function (ShareCreatedEvent $e) use ($path, $date) {
- $share = $e->getShare();
-
- return $share->getShareType() === IShare::TYPE_LINK &&
- $share->getNode() === $path &&
- $share->getSharedBy() === 'sharedBy' &&
- $share->getPermissions() === \OCP\Constants::PERMISSION_ALL &&
- $share->getExpirationDate() === $date &&
- $share->getPassword() === 'hashed' &&
- $share->getToken() === 'token' &&
- $share->getId() === '42' &&
- $share->getTarget() === '/target';
- })
- ]
- );
+ ->willReturnCallback(function ($event) use (&$calls, $date, $path) {
+ $expected = array_shift($calls);
+ $this->assertInstanceOf($expected, $event);
+ $share = $event->getShare();
+
+ $this->assertEquals(IShare::TYPE_LINK, $share->getShareType(), 'getShareType');
+ $this->assertEquals($path, $share->getNode(), 'getNode');
+ $this->assertEquals('sharedBy', $share->getSharedBy(), 'getSharedBy');
+ $this->assertEquals(\OCP\Constants::PERMISSION_ALL, $share->getPermissions(), 'getPermissions');
+ $this->assertEquals($date, $share->getExpirationDate(), 'getExpirationDate');
+ $this->assertEquals('hashed', $share->getPassword(), 'getPassword');
+ $this->assertEquals('token', $share->getToken(), 'getToken');
+
+ if ($expected === ShareCreatedEvent::class) {
+ $this->assertEquals('42', $share->getId(), 'getId');
+ $this->assertEquals('/target', $share->getTarget(), 'getTarget');
+ }
+ });
/** @var IShare $share */
$share = $manager->createShare($share);
@@ -2657,7 +2660,7 @@ class ManagerTest extends \Test\TestCase {
public function testCreateShareMail(): void {
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'generalCreateChecks',
'linkCreateChecks',
@@ -2717,38 +2720,30 @@ class ManagerTest extends \Test\TestCase {
return $share->setId(42);
});
+ $calls = [
+ BeforeShareCreatedEvent::class,
+ ShareCreatedEvent::class,
+ ];
$this->dispatcher->expects($this->exactly(2))
->method('dispatchTyped')
- ->withConsecutive(
- [
- $this->callback(function (BeforeShareCreatedEvent $e) use ($path) {
- $share = $e->getShare();
-
- return $share->getShareType() === IShare::TYPE_EMAIL &&
- $share->getNode() === $path &&
- $share->getSharedBy() === 'sharedBy' &&
- $share->getPermissions() === \OCP\Constants::PERMISSION_ALL &&
- $share->getExpirationDate() === null &&
- $share->getPassword() === null &&
- $share->getToken() === 'token';
- })
- ],
- [
- $this->callback(function (ShareCreatedEvent $e) use ($path) {
- $share = $e->getShare();
-
- return $share->getShareType() === IShare::TYPE_EMAIL &&
- $share->getNode() === $path &&
- $share->getSharedBy() === 'sharedBy' &&
- $share->getPermissions() === \OCP\Constants::PERMISSION_ALL &&
- $share->getExpirationDate() === null &&
- $share->getPassword() === null &&
- $share->getToken() === 'token' &&
- $share->getId() === '42' &&
- $share->getTarget() === '/target';
- })
- ],
- );
+ ->willReturnCallback(function ($event) use (&$calls, $path) {
+ $expected = array_shift($calls);
+ $this->assertInstanceOf($expected, $event);
+ $share = $event->getShare();
+
+ $this->assertEquals(IShare::TYPE_EMAIL, $share->getShareType(), 'getShareType');
+ $this->assertEquals($path, $share->getNode(), 'getNode');
+ $this->assertEquals('sharedBy', $share->getSharedBy(), 'getSharedBy');
+ $this->assertEquals(\OCP\Constants::PERMISSION_ALL, $share->getPermissions(), 'getPermissions');
+ $this->assertNull($share->getExpirationDate(), 'getExpirationDate');
+ $this->assertNull($share->getPassword(), 'getPassword');
+ $this->assertEquals('token', $share->getToken(), 'getToken');
+
+ if ($expected === ShareCreatedEvent::class) {
+ $this->assertEquals('42', $share->getId(), 'getId');
+ $this->assertEquals('/target', $share->getTarget(), 'getTarget');
+ }
+ });
/** @var IShare $share */
$share = $manager->createShare($share);
@@ -2764,7 +2759,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('I won\'t let you share');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'generalCreateChecks',
'userCreateChecks',
@@ -2829,7 +2824,7 @@ class ManagerTest extends \Test\TestCase {
public function testCreateShareOfIncomingFederatedShare(): void {
$manager = $this->createManagerMock()
- ->setMethods(['canShare', 'generalCreateChecks', 'userCreateChecks', 'pathCreateChecks'])
+ ->onlyMethods(['canShare', 'generalCreateChecks', 'userCreateChecks', 'pathCreateChecks'])
->getMock();
$shareOwner = $this->createMock(IUser::class);
@@ -2958,7 +2953,7 @@ class ManagerTest extends \Test\TestCase {
*/
public function testGetSharesByExpiredLinkShares(): void {
$manager = $this->createManagerMock()
- ->setMethods(['deleteShare'])
+ ->onlyMethods(['deleteShare'])
->getMock();
/** @var \OCP\Share\IShare[] $shares */
@@ -3109,13 +3104,17 @@ class ManagerTest extends \Test\TestCase {
$share = $this->createMock(IShare::class);
+ $calls = [
+ [IShare::TYPE_LINK],
+ [IShare::TYPE_REMOTE],
+ ];
$factory->expects($this->exactly(2))
->method('getProviderForType')
- ->withConsecutive(
- [IShare::TYPE_LINK],
- [IShare::TYPE_REMOTE]
- )
- ->willReturn($this->defaultProvider);
+ ->willReturnCallback(function () use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertEquals($expected, func_get_args());
+ return $this->defaultProvider;
+ });
$this->defaultProvider->expects($this->exactly(2))
->method('getShareByToken')
@@ -3147,7 +3146,7 @@ class ManagerTest extends \Test\TestCase {
->willReturnArgument(0);
$manager = $this->createManagerMock()
- ->setMethods(['deleteShare'])
+ ->onlyMethods(['deleteShare'])
->getMock();
$date = new \DateTime();
@@ -3200,7 +3199,7 @@ class ManagerTest extends \Test\TestCase {
->willReturnArgument(0);
$manager = $this->createManagerMock()
- ->setMethods(['deleteShare'])
+ ->onlyMethods(['deleteShare'])
->getMock();
$date = new \DateTime();
@@ -3346,7 +3345,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Cannot change share type');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById'
])
@@ -3374,7 +3373,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Can only update recipient on user shares');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById'
])
@@ -3402,7 +3401,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Cannot share with the share owner');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById'
])
@@ -3429,7 +3428,7 @@ class ManagerTest extends \Test\TestCase {
$this->userManager->expects($this->any())->method('userExists')->willReturn(true);
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -3468,14 +3467,14 @@ class ManagerTest extends \Test\TestCase {
->with($share)
->willReturn($share);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->never())->method('post');
$this->rootFolder->method('getUserFolder')->with('newUser')->willReturnSelf();
$this->rootFolder->method('getRelativePath')->with('/newUser/files/myPath')->willReturn('/myPath');
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener2, 'post');
$hookListener2->expects($this->once())->method('post')->with([
'itemType' => 'file',
@@ -3493,7 +3492,7 @@ class ManagerTest extends \Test\TestCase {
public function testUpdateShareGroup(): void {
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -3526,11 +3525,11 @@ class ManagerTest extends \Test\TestCase {
->with($share)
->willReturn($share);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->never())->method('post');
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener2, 'post');
$hookListener2->expects($this->never())->method('post');
@@ -3539,7 +3538,7 @@ class ManagerTest extends \Test\TestCase {
public function testUpdateShareLink(): void {
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -3588,7 +3587,7 @@ class ManagerTest extends \Test\TestCase {
->with($share)
->willReturn($share);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->once())->method('post')->with([
'itemType' => 'file',
@@ -3597,7 +3596,7 @@ class ManagerTest extends \Test\TestCase {
'uidOwner' => 'owner',
]);
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->once())->method('post')->with([
'itemType' => 'file',
@@ -3607,7 +3606,7 @@ class ManagerTest extends \Test\TestCase {
'disabled' => false,
]);
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -3620,7 +3619,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Cannot enable sending the password by Talk with an empty password');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -3669,15 +3668,15 @@ class ManagerTest extends \Test\TestCase {
$this->defaultProvider->expects($this->never())
->method('update');
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->never())->method('post');
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->never())->method('post');
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -3686,7 +3685,7 @@ class ManagerTest extends \Test\TestCase {
public function testUpdateShareMail(): void {
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -3738,7 +3737,7 @@ class ManagerTest extends \Test\TestCase {
->with($share, 'password')
->willReturn($share);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->once())->method('post')->with([
'itemType' => 'file',
@@ -3747,7 +3746,7 @@ class ManagerTest extends \Test\TestCase {
'uidOwner' => 'owner',
]);
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->once())->method('post')->with([
'itemType' => 'file',
@@ -3757,7 +3756,7 @@ class ManagerTest extends \Test\TestCase {
'disabled' => false,
]);
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -3766,7 +3765,7 @@ class ManagerTest extends \Test\TestCase {
public function testUpdateShareMailEnableSendPasswordByTalk(): void {
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -3821,7 +3820,7 @@ class ManagerTest extends \Test\TestCase {
->with($share, 'password')
->willReturn($share);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->once())->method('post')->with([
'itemType' => 'file',
@@ -3830,7 +3829,7 @@ class ManagerTest extends \Test\TestCase {
'uidOwner' => 'owner',
]);
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->once())->method('post')->with([
'itemType' => 'file',
@@ -3840,7 +3839,7 @@ class ManagerTest extends \Test\TestCase {
'disabled' => false,
]);
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -3849,7 +3848,7 @@ class ManagerTest extends \Test\TestCase {
public function testUpdateShareMailEnableSendPasswordByTalkWithDifferentPassword(): void {
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -3909,7 +3908,7 @@ class ManagerTest extends \Test\TestCase {
->with($share, 'password')
->willReturn($share);
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->once())->method('post')->with([
'itemType' => 'file',
@@ -3918,7 +3917,7 @@ class ManagerTest extends \Test\TestCase {
'uidOwner' => 'owner',
]);
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->once())->method('post')->with([
'itemType' => 'file',
@@ -3928,7 +3927,7 @@ class ManagerTest extends \Test\TestCase {
'disabled' => false,
]);
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -3940,7 +3939,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Cannot enable sending the password by Talk with an empty password');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -3992,15 +3991,15 @@ class ManagerTest extends \Test\TestCase {
$this->defaultProvider->expects($this->never())
->method('update');
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->never())->method('post');
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->never())->method('post');
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -4013,7 +4012,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Cannot enable sending the password by Talk with an empty password');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -4065,15 +4064,15 @@ class ManagerTest extends \Test\TestCase {
$this->defaultProvider->expects($this->never())
->method('update');
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->never())->method('post');
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->never())->method('post');
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -4086,7 +4085,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Cannot enable sending the password by Talk with an empty password');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -4138,15 +4137,15 @@ class ManagerTest extends \Test\TestCase {
$this->defaultProvider->expects($this->never())
->method('update');
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->never())->method('post');
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->never())->method('post');
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -4159,7 +4158,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Cannot enable sending the password by Talk without setting a new password');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -4213,15 +4212,15 @@ class ManagerTest extends \Test\TestCase {
$this->defaultProvider->expects($this->never())
->method('update');
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->never())->method('post');
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->never())->method('post');
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -4233,7 +4232,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Cannot disable sending the password by Talk without setting a new password');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -4287,15 +4286,15 @@ class ManagerTest extends \Test\TestCase {
$this->defaultProvider->expects($this->never())
->method('update');
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->never())->method('post');
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->never())->method('post');
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -4307,7 +4306,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectExceptionMessage('Cannot disable sending the password by Talk without setting a new password');
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'canShare',
'getShareById',
'generalCreateChecks',
@@ -4361,15 +4360,15 @@ class ManagerTest extends \Test\TestCase {
$this->defaultProvider->expects($this->never())
->method('update');
- $hookListener = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_set_expiration_date', $hookListener, 'post');
$hookListener->expects($this->never())->method('post');
- $hookListener2 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener2 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_password', $hookListener2, 'post');
$hookListener2->expects($this->never())->method('post');
- $hookListener3 = $this->getMockBuilder('Dummy')->setMethods(['post'])->getMock();
+ $hookListener3 = $this->createMock(DummyShareManagerListener::class);
\OCP\Util::connectHook('OCP\Share', 'post_update_permissions', $hookListener3, 'post');
$hookListener3->expects($this->never())->method('post');
@@ -4492,7 +4491,7 @@ class ManagerTest extends \Test\TestCase {
);
}
- public function dataTestShareProviderExists() {
+ public static function dataTestShareProviderExists() {
return [
[IShare::TYPE_USER, true],
[42, false],
@@ -4831,7 +4830,7 @@ class ManagerTest extends \Test\TestCase {
$this->assertSame($expects, $result);
}
- public function dataCurrentUserCanEnumerateTargetUser(): array {
+ public static function dataCurrentUserCanEnumerateTargetUser(): array {
return [
'Full match guest' => [true, true, false, false, false, false, false, true],
'Full match user' => [false, true, false, false, false, false, false, true],
@@ -4860,7 +4859,7 @@ class ManagerTest extends \Test\TestCase {
public function testCurrentUserCanEnumerateTargetUser(bool $currentUserIsGuest, bool $allowEnumerationFullMatch, bool $allowEnumeration, bool $limitEnumerationToPhone, bool $limitEnumerationToGroups, bool $isKnownToUser, bool $haveCommonGroup, bool $expected): void {
/** @var IManager|MockObject $manager */
$manager = $this->createManagerMock()
- ->setMethods([
+ ->onlyMethods([
'allowEnumerationFullMatch',
'allowEnumeration',
'limitEnumerationToPhone',