From 688023868c3d6505149acfc864a750c3fede182f Mon Sep 17 00:00:00 2001 From: Torben Hansen <derhansen@gmail.com> Date: Sat, 12 Nov 2022 12:06:30 +0100 Subject: [PATCH] [TASK] Replace prophecy in EXT:core/Tests/Unit/Mail/* Resolves: #98809 Resolves: #98810 Resolves: #98811 Resolves: #98812 Releases: main Change-Id: I043c797873be9df1ce1356fd4c3425bc0018673a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/76567 Tested-by: core-ci <typo3@b13.com> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de> --- .../Event/AfterMailerSentMessageEventTest.php | 10 ++---- .../BeforeMailerSentMessageEventTest.php | 10 ++---- .../core/Tests/Unit/Mail/MailerTest.php | 22 +++++------- .../Tests/Unit/Mail/TransportFactoryTest.php | 36 ++++++++----------- 4 files changed, 28 insertions(+), 50 deletions(-) diff --git a/typo3/sysext/core/Tests/Unit/Mail/Event/AfterMailerSentMessageEventTest.php b/typo3/sysext/core/Tests/Unit/Mail/Event/AfterMailerSentMessageEventTest.php index 542349f0a91a..e2e06e4d31cc 100644 --- a/typo3/sysext/core/Tests/Unit/Mail/Event/AfterMailerSentMessageEventTest.php +++ b/typo3/sysext/core/Tests/Unit/Mail/Event/AfterMailerSentMessageEventTest.php @@ -17,8 +17,6 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Tests\Unit\Mail\Event; -use Prophecy\Argument; -use Prophecy\PhpUnit\ProphecyTrait; use Symfony\Component\Mailer\Transport\SendmailTransport; use TYPO3\CMS\Core\Mail\Event\AfterMailerSentMessageEvent; use TYPO3\CMS\Core\Mail\Mailer; @@ -28,17 +26,15 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase; class AfterMailerSentMessageEventTest extends UnitTestCase { - use ProphecyTrait; - protected bool $resetSingletonInstances = true; protected function setUp(): void { parent::setUp(); - $transportFactory = $this->prophesize(TransportFactory::class); - $transportFactory->get(Argument::any())->willReturn($this->prophesize(SendmailTransport::class)); - GeneralUtility::setSingletonInstance(TransportFactory::class, $transportFactory->reveal()); + $transportFactory = $this->createMock(TransportFactory::class); + $transportFactory->method('get')->with(self::anything())->willReturn($this->createMock(SendmailTransport::class)); + GeneralUtility::setSingletonInstance(TransportFactory::class, $transportFactory); } /** diff --git a/typo3/sysext/core/Tests/Unit/Mail/Event/BeforeMailerSentMessageEventTest.php b/typo3/sysext/core/Tests/Unit/Mail/Event/BeforeMailerSentMessageEventTest.php index a7af6d47fb0c..d64139c27773 100644 --- a/typo3/sysext/core/Tests/Unit/Mail/Event/BeforeMailerSentMessageEventTest.php +++ b/typo3/sysext/core/Tests/Unit/Mail/Event/BeforeMailerSentMessageEventTest.php @@ -17,8 +17,6 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Tests\Unit\Mail\Event; -use Prophecy\Argument; -use Prophecy\PhpUnit\ProphecyTrait; use Symfony\Component\Mailer\Envelope; use Symfony\Component\Mailer\Transport\SendmailTransport; use Symfony\Component\Mime\Address; @@ -31,17 +29,15 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase; class BeforeMailerSentMessageEventTest extends UnitTestCase { - use ProphecyTrait; - protected bool $resetSingletonInstances = true; protected function setUp(): void { parent::setUp(); - $transportFactory = $this->prophesize(TransportFactory::class); - $transportFactory->get(Argument::any())->willReturn($this->prophesize(SendmailTransport::class)); - GeneralUtility::setSingletonInstance(TransportFactory::class, $transportFactory->reveal()); + $transportFactory = $this->createMock(TransportFactory::class); + $transportFactory->method('get')->with(self::anything())->willReturn($this->createMock(SendmailTransport::class)); + GeneralUtility::setSingletonInstance(TransportFactory::class, $transportFactory); } /** diff --git a/typo3/sysext/core/Tests/Unit/Mail/MailerTest.php b/typo3/sysext/core/Tests/Unit/Mail/MailerTest.php index 1653dc0a95de..b49cc7939c33 100644 --- a/typo3/sysext/core/Tests/Unit/Mail/MailerTest.php +++ b/typo3/sysext/core/Tests/Unit/Mail/MailerTest.php @@ -17,8 +17,6 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Tests\Unit\Mail; -use Prophecy\Argument; -use Prophecy\PhpUnit\ProphecyTrait; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; use Symfony\Component\Mailer\Transport\NullTransport; @@ -36,8 +34,6 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase; class MailerTest extends UnitTestCase { - use ProphecyTrait; - protected bool $resetSingletonInstances = true; protected $subject; @@ -73,13 +69,12 @@ class MailerTest extends UnitTestCase $settings = ['transport' => 'mbox', 'transport_mbox_file' => '/path/to/file']; $GLOBALS['TYPO3_CONF_VARS']['MAIL'] = ['transport' => 'sendmail', 'transport_sendmail_command' => 'sendmail -bs']; - $transportFactory = $this->prophesize(TransportFactory::class); - $transportFactory->get(Argument::any())->willReturn($this->prophesize(SendmailTransport::class)); - GeneralUtility::setSingletonInstance(TransportFactory::class, $transportFactory->reveal()); + $transportFactory = $this->createMock(TransportFactory::class); + $transportFactory->expects(self::atLeastOnce())->method('get')->with($settings) + ->willReturn($this->createMock(SendmailTransport::class)); + GeneralUtility::setSingletonInstance(TransportFactory::class, $transportFactory); $this->subject->injectMailSettings($settings); $this->subject->__construct(); - - $transportFactory->get($settings)->shouldHaveBeenCalled(); } /** @@ -89,13 +84,12 @@ class MailerTest extends UnitTestCase { $settings = ($GLOBALS['TYPO3_CONF_VARS']['MAIL'] = ['transport' => 'sendmail', 'transport_sendmail_command' => 'sendmail -bs']); - $transportFactory = $this->prophesize(TransportFactory::class); - $transportFactory->get(Argument::any())->willReturn($this->prophesize(SendmailTransport::class)); - GeneralUtility::setSingletonInstance(TransportFactory::class, $transportFactory->reveal()); + $transportFactory = $this->createMock(TransportFactory::class); + $transportFactory->expects(self::atLeastOnce())->method('get')->with($settings) + ->willReturn($this->createMock(SendmailTransport::class)); + GeneralUtility::setSingletonInstance(TransportFactory::class, $transportFactory); $this->subject->injectMailSettings($settings); $this->subject->__construct(); - - $transportFactory->get($settings)->shouldHaveBeenCalled(); } public static function wrongConfigurationProvider(): array diff --git a/typo3/sysext/core/Tests/Unit/Mail/TransportFactoryTest.php b/typo3/sysext/core/Tests/Unit/Mail/TransportFactoryTest.php index aa63d4935bb1..12442998063c 100644 --- a/typo3/sysext/core/Tests/Unit/Mail/TransportFactoryTest.php +++ b/typo3/sysext/core/Tests/Unit/Mail/TransportFactoryTest.php @@ -17,9 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Tests\Unit\Mail; -use Prophecy\Argument; -use Prophecy\PhpUnit\ProphecyTrait; -use Psr\Log\LoggerInterface; +use Psr\Log\NullLogger; use Symfony\Component\Mailer\Exception\TransportExceptionInterface; use Symfony\Component\Mailer\Transport\NullTransport; use Symfony\Component\Mailer\Transport\Smtp\EsmtpTransport; @@ -40,23 +38,18 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase; class TransportFactoryTest extends UnitTestCase { - use ProphecyTrait; - protected bool $resetSingletonInstances = true; protected function getSubject(&$eventDispatcher): TransportFactory { - $eventDispatcher = $this->prophesize(EventDispatcherInterface::class); - $eventDispatcher->dispatch(Argument::any())->willReturn(Argument::any()); - - $logger = $this->prophesize(LoggerInterface::class); + $eventDispatcher = $this->createMock(EventDispatcherInterface::class); + $logger = new NullLogger(); - $logManager = $this->prophesize(LogManagerInterface::class); - $logManager->getLogger(Argument::any())->willReturn($logger->reveal()); - $logManager->getLogger()->willReturn($logger->reveal()); + $logManager = $this->createMock(LogManagerInterface::class); + $logManager->method('getLogger')->willReturn($logger); - $transportFactory = new TransportFactory($eventDispatcher->reveal(), $logManager->reveal()); - $transportFactory->setLogger($logger->reveal()); + $transportFactory = new TransportFactory($eventDispatcher, $logManager); + $transportFactory->setLogger($logger); return $transportFactory; } @@ -210,6 +203,8 @@ class TransportFactoryTest extends UnitTestCase ]; $transport = $this->getSubject($eventDispatcher)->get($mailSettings); + $eventDispatcher->expects(self::once())->method('dispatch')->with(self::anything()); + $message = new MailMessage(); $message->setTo(['foo@bar.com']) ->text('foo') @@ -220,8 +215,6 @@ class TransportFactoryTest extends UnitTestCase } catch (TransportExceptionInterface $exception) { // connection is not valid in tests, so we just catch the exception here. } - - $eventDispatcher->dispatch(Argument::any())->shouldHaveBeenCalledOnce(); } /** @@ -273,6 +266,7 @@ class TransportFactoryTest extends UnitTestCase ]; $transport = $this->getSubject($eventDispatcher)->get($mailSettings); + $eventDispatcher->expects(self::once())->method('dispatch')->with(self::anything()); $message = new MailMessage(); $message->setTo(['foo@bar.com']) @@ -284,8 +278,6 @@ class TransportFactoryTest extends UnitTestCase } catch (TransportExceptionInterface $exception) { // connection is not valid in tests, so we just catch the exception here. } - - $eventDispatcher->dispatch(Argument::any())->shouldHaveBeenCalledOnce(); } /** @@ -310,6 +302,8 @@ class TransportFactoryTest extends UnitTestCase ]; $transport = $this->getSubject($eventDispatcher)->get($mailSettings); + $eventDispatcher->expects(self::once())->method('dispatch')->with(self::anything()); + $message = new MailMessage(); $message->setTo(['foo@bar.com']) ->text('foo') @@ -320,8 +314,6 @@ class TransportFactoryTest extends UnitTestCase } catch (TransportExceptionInterface $exception) { // connection is not valid in tests, so we just catch the exception here. } - - $eventDispatcher->dispatch(Argument::any())->shouldHaveBeenCalledOnce(); } /** @@ -346,14 +338,14 @@ class TransportFactoryTest extends UnitTestCase ]; $transport = $this->getSubject($eventDispatcher)->get($mailSettings); + $eventDispatcher->expects(self::once())->method('dispatch')->with(self::anything()); + $message = new MailMessage(); $message->setTo(['foo@bar.com']) ->text('foo') ->from('bar@foo.com') ; $transport->send($message); - - $eventDispatcher->dispatch(Argument::any())->shouldHaveBeenCalledOnce(); } /** -- GitLab