diff options
Diffstat (limited to 'tests/lib/Share20/ManagerTest.php')
-rw-r--r-- | tests/lib/Share20/ManagerTest.php | 165 |
1 files changed, 86 insertions, 79 deletions
diff --git a/tests/lib/Share20/ManagerTest.php b/tests/lib/Share20/ManagerTest.php index a23aa6023af..e8704600e2a 100644 --- a/tests/lib/Share20/ManagerTest.php +++ b/tests/lib/Share20/ManagerTest.php @@ -51,6 +51,11 @@ use OCP\Mail\IMailer; use OCP\Security\Events\ValidatePasswordPolicyEvent; use OCP\Security\IHasher; use OCP\Security\ISecureRandom; +use OCP\Share\Events\BeforeShareCreatedEvent; +use OCP\Share\Events\BeforeShareDeletedEvent; +use OCP\Share\Events\ShareCreatedEvent; +use OCP\Share\Events\ShareDeletedEvent; +use OCP\Share\Events\ShareDeletedFromSelfEvent; use OCP\Share\Exceptions\AlreadySharedException; use OCP\Share\Exceptions\ShareNotFound; use OCP\Share\IManager; @@ -60,8 +65,6 @@ use OCP\Share\IShareProvider; use PHPUnit\Framework\MockObject\MockBuilder; use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\EventDispatcher\GenericEvent; /** * Class ManagerTest @@ -96,8 +99,6 @@ class ManagerTest extends \Test\TestCase { protected $userManager; /** @var IRootFolder | MockObject */ protected $rootFolder; - /** @var EventDispatcherInterface | MockObject */ - protected $eventDispatcher; /** @var IEventDispatcher|MockObject */ protected $dispatcher; /** @var IMailer|MockObject */ @@ -120,7 +121,6 @@ class ManagerTest extends \Test\TestCase { $this->groupManager = $this->createMock(IGroupManager::class); $this->userManager = $this->createMock(IUserManager::class); $this->rootFolder = $this->createMock(IRootFolder::class); - $this->eventDispatcher = $this->createMock(EventDispatcherInterface::class); $this->mailer = $this->createMock(IMailer::class); $this->urlGenerator = $this->createMock(IURLGenerator::class); $this->defaults = $this->createMock(\OC_Defaults::class); @@ -153,7 +153,6 @@ class ManagerTest extends \Test\TestCase { $this->factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, @@ -184,7 +183,6 @@ class ManagerTest extends \Test\TestCase { $this->factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, @@ -247,17 +245,16 @@ class ManagerTest extends \Test\TestCase { ->method('delete') ->with($share); - $this->eventDispatcher->expects($this->exactly(2)) - ->method('dispatch') + $this->dispatcher->expects($this->exactly(2)) + ->method('dispatchTyped') ->withConsecutive( - ['OCP\Share::preUnshare', - $this->callBack(function (GenericEvent $e) use ($share) { - return $e->getSubject() === $share; + [ + $this->callBack(function (BeforeShareDeletedEvent $e) use ($share) { + return $e->getShare() === $share; })], - ['OCP\Share::postUnshare', - $this->callBack(function (GenericEvent $e) use ($share) { - return $e->getSubject() === $share && - $e->getArgument('deletedShares') === [$share]; + [ + $this->callBack(function (ShareDeletedEvent $e) use ($share) { + return $e->getShare() === $share; })] ); @@ -291,17 +288,16 @@ class ManagerTest extends \Test\TestCase { ->method('delete') ->with($share); - $this->eventDispatcher->expects($this->exactly(2)) - ->method('dispatch') + $this->dispatcher->expects($this->exactly(2)) + ->method('dispatchTyped') ->withConsecutive( - ['OCP\Share::preUnshare', - $this->callBack(function (GenericEvent $e) use ($share) { - return $e->getSubject() === $share; + [ + $this->callBack(function (BeforeShareDeletedEvent $e) use ($share) { + return $e->getShare() === $share; })], - ['OCP\Share::postUnshare', - $this->callBack(function (GenericEvent $e) use ($share) { - return $e->getSubject() === $share && - $e->getArgument('deletedShares') === [$share]; + [ + $this->callBack(function (ShareDeletedEvent $e) use ($share) { + return $e->getShare() === $share; })] ); @@ -356,18 +352,39 @@ class ManagerTest extends \Test\TestCase { ->method('delete') ->withConsecutive([$share3], [$share2], [$share1]); - $this->eventDispatcher->expects($this->exactly(2)) - ->method('dispatch') + $this->dispatcher->expects($this->exactly(6)) + ->method('dispatchTyped') ->withConsecutive( - ['OCP\Share::preUnshare', - $this->callBack(function (GenericEvent $e) use ($share1) { - return $e->getSubject() === $share1; - })], - ['OCP\Share::postUnshare', - $this->callBack(function (GenericEvent $e) use ($share1, $share2, $share3) { - return $e->getSubject() === $share1 && - $e->getArgument('deletedShares') === [$share3, $share2, $share1]; - })] + [ + $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(); + }) + ], ); $manager->deleteShare($share1); @@ -395,12 +412,11 @@ class ManagerTest extends \Test\TestCase { ->method('deleteFromSelf') ->with($share, $recipientId); - $this->eventDispatcher->expects($this->once()) - ->method('dispatch') + $this->dispatcher->expects($this->once()) + ->method('dispatchTyped') ->with( - 'OCP\Share::postUnshareFromSelf', - $this->callBack(function (GenericEvent $e) use ($share) { - return $e->getSubject() === $share; + $this->callBack(function (ShareDeletedFromSelfEvent $e) use ($share) { + return $e->getShare() === $share; }) ); @@ -2317,14 +2333,13 @@ class ManagerTest extends \Test\TestCase { return $share->setId(42); }); - $this->eventDispatcher->expects($this->exactly(2)) - ->method('dispatch') + $this->dispatcher->expects($this->exactly(2)) + ->method('dispatchTyped') ->withConsecutive( // Pre share - [$this->equalTo('OCP\Share::preShare'), - $this->callback(function (GenericEvent $e) use ($path, $date) { - /** @var IShare $share */ - $share = $e->getSubject(); + [ + $this->callback(function (BeforeShareCreatedEvent $e) use ($path, $date) { + $share = $e->getShare(); return $share->getShareType() === IShare::TYPE_LINK && $share->getNode() === $path && @@ -2333,12 +2348,12 @@ class ManagerTest extends \Test\TestCase { $share->getExpirationDate() === $date && $share->getPassword() === 'hashed' && $share->getToken() === 'token'; - })], + }) + ], // Post share - [$this->equalTo('OCP\Share::postShare'), - $this->callback(function (GenericEvent $e) use ($path, $date) { - /** @var IShare $share */ - $share = $e->getSubject(); + [ + $this->callback(function (ShareCreatedEvent $e) use ($path, $date) { + $share = $e->getShare(); return $share->getShareType() === IShare::TYPE_LINK && $share->getNode() === $path && @@ -2349,7 +2364,8 @@ class ManagerTest extends \Test\TestCase { $share->getToken() === 'token' && $share->getId() === '42' && $share->getTarget() === '/target'; - })] + }) + ] ); /** @var IShare $share */ @@ -2424,13 +2440,12 @@ class ManagerTest extends \Test\TestCase { return $share->setId(42); }); - $this->eventDispatcher->expects($this->exactly(2)) - ->method('dispatch') + $this->dispatcher->expects($this->exactly(2)) + ->method('dispatchTyped') ->withConsecutive( - [$this->equalTo('OCP\Share::preShare'), - $this->callback(function (GenericEvent $e) use ($path) { - /** @var IShare $share */ - $share = $e->getSubject(); + [ + $this->callback(function (BeforeShareCreatedEvent $e) use ($path) { + $share = $e->getShare(); return $share->getShareType() === IShare::TYPE_EMAIL && $share->getNode() === $path && @@ -2439,11 +2454,11 @@ class ManagerTest extends \Test\TestCase { $share->getExpirationDate() === null && $share->getPassword() === null && $share->getToken() === 'token'; - })], - [$this->equalTo('OCP\Share::postShare'), - $this->callback(function (GenericEvent $e) use ($path) { - /** @var IShare $share */ - $share = $e->getSubject(); + }) + ], + [ + $this->callback(function (ShareCreatedEvent $e) use ($path) { + $share = $e->getShare(); return $share->getShareType() === IShare::TYPE_EMAIL && $share->getNode() === $path && @@ -2454,7 +2469,8 @@ class ManagerTest extends \Test\TestCase { $share->getToken() === 'token' && $share->getId() === '42' && $share->getTarget() === '/target'; - })], + }) + ], ); /** @var IShare $share */ @@ -2521,13 +2537,12 @@ class ManagerTest extends \Test\TestCase { ->with('/target'); // Pre share - $this->eventDispatcher->expects($this->once()) - ->method('dispatch') + $this->dispatcher->expects($this->once()) + ->method('dispatchTyped') ->with( - $this->equalTo('OCP\Share::preShare'), - $this->isInstanceOf(GenericEvent::class) - )->willReturnCallback(function ($name, GenericEvent $e) { - $e->setArgument('error', 'I won\'t let you share!'); + $this->isInstanceOf(BeforeShareCreatedEvent::class) + )->willReturnCallback(function (BeforeShareCreatedEvent $e) { + $e->setError('I won\'t let you share!'); $e->stopPropagation(); } ); @@ -2733,7 +2748,6 @@ class ManagerTest extends \Test\TestCase { $factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, @@ -2779,7 +2793,6 @@ class ManagerTest extends \Test\TestCase { $factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, @@ -2832,7 +2845,6 @@ class ManagerTest extends \Test\TestCase { $factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, @@ -4174,7 +4186,6 @@ class ManagerTest extends \Test\TestCase { $factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, @@ -4209,7 +4220,6 @@ class ManagerTest extends \Test\TestCase { $factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, @@ -4275,7 +4285,6 @@ class ManagerTest extends \Test\TestCase { $factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, @@ -4393,7 +4402,6 @@ class ManagerTest extends \Test\TestCase { $factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, @@ -4520,7 +4528,6 @@ class ManagerTest extends \Test\TestCase { $factory, $this->userManager, $this->rootFolder, - $this->eventDispatcher, $this->mailer, $this->urlGenerator, $this->defaults, |