diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-08-21 21:58:10 +0200 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-08-22 19:16:55 +0200 |
commit | dd58e5290f0790157df6077471327ebd9affb03f (patch) | |
tree | ca91ae6d1c9bd9ad554fc0ce3bea3dbf8b80051c /apps/sharebymail/tests | |
parent | 127cacdd19e43dd56d5c8dc5ae174228bdfe0021 (diff) | |
download | nextcloud-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.php | 90 |
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); |