summaryrefslogtreecommitdiffstats
path: root/tests/lib/Share20/ManagerTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/Share20/ManagerTest.php')
-rw-r--r--tests/lib/Share20/ManagerTest.php165
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,