aboutsummaryrefslogtreecommitdiffstats
path: root/apps/sharebymail/tests
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2024-08-21 21:58:10 +0200
committerFerdinand Thiessen <opensource@fthiessen.de>2024-08-22 19:16:55 +0200
commitdd58e5290f0790157df6077471327ebd9affb03f (patch)
treeca91ae6d1c9bd9ad554fc0ce3bea3dbf8b80051c /apps/sharebymail/tests
parent127cacdd19e43dd56d5c8dc5ae174228bdfe0021 (diff)
downloadnextcloud-server-dd58e5290f0790157df6077471327ebd9affb03f.tar.gz
nextcloud-server-dd58e5290f0790157df6077471327ebd9affb03f.zip
feat: Use new password context in sharing API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'apps/sharebymail/tests')
-rw-r--r--apps/sharebymail/tests/ShareByMailProviderTest.php90
1 files changed, 36 insertions, 54 deletions
diff --git a/apps/sharebymail/tests/ShareByMailProviderTest.php b/apps/sharebymail/tests/ShareByMailProviderTest.php
index e03fba72312..382a65154eb 100644
--- a/apps/sharebymail/tests/ShareByMailProviderTest.php
+++ b/apps/sharebymail/tests/ShareByMailProviderTest.php
@@ -9,10 +9,12 @@ use DateTime;
use OC\Mail\Message;
use OCA\ShareByMail\Settings\SettingsManager;
use OCA\ShareByMail\ShareByMailProvider;
+use OCP\Activity\IManager as IActivityManager;
use OCP\Defaults;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\File;
use OCP\Files\IRootFolder;
+use OCP\Files\Node;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IL10N;
@@ -25,9 +27,11 @@ use OCP\Mail\IMessage;
use OCP\Security\Events\GenerateSecurePasswordEvent;
use OCP\Security\IHasher;
use OCP\Security\ISecureRandom;
+use OCP\Security\PasswordContext;
use OCP\Share\IAttributes;
use OCP\Share\IManager;
use OCP\Share\IShare;
+use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Test\TestCase;
@@ -38,65 +42,36 @@ use Test\TestCase;
* @group DB
*/
class ShareByMailProviderTest extends TestCase {
- /** @var IConfig */
- private $config;
-
- /** @var IDBConnection */
- private $connection;
-
- /** @var IManager | \PHPUnit\Framework\MockObject\MockObject */
- private $shareManager;
-
- /** @var IL10N | \PHPUnit\Framework\MockObject\MockObject */
- private $l;
-
- /** @var LoggerInterface | \PHPUnit\Framework\MockObject\MockObject */
- private $logger;
-
- /** @var IRootFolder | \PHPUnit\Framework\MockObject\MockObject */
- private $rootFolder;
-
- /** @var IUserManager | \PHPUnit\Framework\MockObject\MockObject */
- private $userManager;
-
- /** @var ISecureRandom | \PHPUnit\Framework\MockObject\MockObject */
- private $secureRandom;
-
- /** @var IMailer | \PHPUnit\Framework\MockObject\MockObject */
- private $mailer;
-
- /** @var IURLGenerator | \PHPUnit\Framework\MockObject\MockObject */
- private $urlGenerator;
-
- /** @var IShare | \PHPUnit\Framework\MockObject\MockObject */
- private $share;
-
- /** @var \OCP\Activity\IManager | \PHPUnit\Framework\MockObject\MockObject */
- private $activityManager;
-
- /** @var SettingsManager | \PHPUnit\Framework\MockObject\MockObject */
- private $settingsManager;
-
- /** @var Defaults|\PHPUnit\Framework\MockObject\MockObject */
- private $defaults;
-
- /** @var IHasher | \PHPUnit\Framework\MockObject\MockObject */
- private $hasher;
-
- /** @var IEventDispatcher */
- private $eventDispatcher;
+
+ private IDBConnection $connection;
+
+ private IL10N&MockObject $l;
+ private IShare&MockObject $share;
+ private IConfig&MockObject $config;
+ private IMailer&MockObject $mailer;
+ private IHasher&MockObject $hasher;
+ private Defaults&MockObject $defaults;
+ private IManager&MockObject $shareManager;
+ private LoggerInterface&MockObject $logger;
+ private IRootFolder&MockObject $rootFolder;
+ private IUserManager&MockObject $userManager;
+ private ISecureRandom&MockObject $secureRandom;
+ private IURLGenerator&MockObject $urlGenerator;
+ private SettingsManager&MockObject $settingsManager;
+ private IActivityManager&MockObject $activityManager;
+ private IEventDispatcher&MockObject $eventDispatcher;
protected function setUp(): void {
parent::setUp();
- $this->config = $this->getMockBuilder(IConfig::class)->getMock();
- $this->connection = \OC::$server->getDatabaseConnection();
+ $this->connection = \OCP\Server::get(IDBConnection::class);
$this->l = $this->getMockBuilder(IL10N::class)->getMock();
$this->l->method('t')
->willReturnCallback(function ($text, $parameters = []) {
return vsprintf($text, $parameters);
});
+ $this->config = $this->getMockBuilder(IConfig::class)->getMock();
$this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
$this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->getMock();
$this->userManager = $this->getMockBuilder(IUserManager::class)->getMock();
@@ -165,7 +140,10 @@ class ShareByMailProviderTest extends TestCase {
}
protected function tearDown(): void {
- $this->connection->getQueryBuilder()->delete('share')->execute();
+ $this->connection
+ ->getQueryBuilder()
+ ->delete('share')
+ ->executeStatement();
parent::tearDown();
}
@@ -305,7 +283,11 @@ class ShareByMailProviderTest extends TestCase {
// Assume the mail address is valid.
$this->mailer->expects($this->any())->method('validateMailAddress')->willReturn(true);
- $instance = $this->getInstance(['getSharedWith', 'createMailShare', 'getRawShare', 'createShareObject', 'createShareActivity', 'autoGeneratePassword', 'createPasswordSendActivity', 'sendEmail', 'sendPassword', 'sendPasswordToOwner']);
+ $instance = $this->getInstance([
+ 'getSharedWith', 'createMailShare', 'getRawShare', 'createShareObject',
+ 'createShareActivity', 'autoGeneratePassword', 'createPasswordSendActivity',
+ 'sendEmail', 'sendPassword', 'sendPasswordToOwner',
+ ]);
$instance->expects($this->once())->method('getSharedWith')->willReturn([]);
$instance->expects($this->once())->method('createMailShare')->with($share)->willReturn(42);
@@ -361,7 +343,7 @@ class ShareByMailProviderTest extends TestCase {
->willReturn('autogeneratedPassword');
$this->eventDispatcher->expects($this->once())
->method('dispatchTyped')
- ->with(new GenerateSecurePasswordEvent());
+ ->with(new GenerateSecurePasswordEvent(PasswordContext::SHARING));
// Assume the mail address is valid.
$this->mailer->expects($this->any())->method('validateMailAddress')->willReturn(true);
@@ -822,7 +804,7 @@ class ShareByMailProviderTest extends TestCase {
* @param bool sendMail
*/
public function testUpdateSendPassword($plainTextPassword, string $originalPassword, string $newPassword, $originalSendPasswordByTalk, $newSendPasswordByTalk, bool $sendMail) {
- $node = $this->getMockBuilder(File::class)->getMock();
+ $node = $this->createMock(File::class);
$node->expects($this->any())->method('getName')->willReturn('filename');
$this->settingsManager->method('sendPasswordByMail')->willReturn(true);
@@ -927,7 +909,7 @@ class ShareByMailProviderTest extends TestCase {
$permissions = 1;
$token = 'token';
- $node = $this->getMockBuilder('OCP\Files\Node')->getMock();
+ $node = $this->createMock(Node::class);
$node->expects($this->once())->method('getId')->willReturn($itemSource);