diff --git a/UPGRADE-5.4.md b/UPGRADE-5.4.md index a7bf69d1fbed6..f5ca02ba653d0 100644 --- a/UPGRADE-5.4.md +++ b/UPGRADE-5.4.md @@ -63,6 +63,12 @@ Lock * Deprecate usage of `PdoStore` with a `Doctrine\DBAL\Connection` or a DBAL url, use the new `DoctrineDbalStore` instead * Deprecate usage of `PostgreSqlStore` with a `Doctrine\DBAL\Connection` or a DBAL url, use the new `DoctrineDbalPostgreSqlStore` instead +Mailer +------ + + * The following data providers for `TransportFactoryTestCase` are now static: `supportsProvider()`, `createProvider()`, `unsupportedSchemeProvider()`and `incompleteDsnProvider()` + * The following data providers for `TransportTestCase` are now static: `toStringProvider()`, `supportedMessagesProvider()` and `unsupportedMessagesProvider()` + Messenger --------- @@ -78,8 +84,8 @@ Monolog Notifier -------- - * [BC BREAK] The following data providers for `TransportTestCase` are now static: `toStringProvider()`, `supportedMessagesProvider()` and `unsupportedMessagesProvider()` - * [BC BREAK] The `TransportTestCase::createTransport()` method is now static + * The following data providers for `TransportTestCase` are now static: `toStringProvider()`, `supportedMessagesProvider()` and `unsupportedMessagesProvider()` + * The `TransportTestCase::createTransport()` method is now static SecurityBundle -------------- @@ -108,6 +114,7 @@ SecurityBundle Security -------- + * `AccessDecisionStrategyTestCase::provideStrategyTests()` is now static * Deprecate `AuthenticationEvents::AUTHENTICATION_FAILURE`, use the `LoginFailureEvent` instead * Deprecate the `$authenticationEntryPoint` argument of `ChannelListener`, and add `$httpPort` and `$httpsPort` arguments * Deprecate `RetryAuthenticationEntryPoint`, this code is now inlined in the `ChannelListener` @@ -197,3 +204,9 @@ Security $token = new PreAuthenticatedToken($user, $firewallName, $roles); $token = new SwitchUserToken($user, $firewallName, $roles, $originalToken); ``` + +Translation +----------- + + * The following data providers for `ProviderFactoryTestCase` are now static: `supportsProvider()`, `createProvider()`, `unsupportedSchemeProvider()`and `incompleteDsnProvider()` + * `ProviderTestCase::toStringProvider()` is now static diff --git a/src/Symfony/Component/Mailer/Bridge/Amazon/Tests/Transport/SesTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Amazon/Tests/Transport/SesTransportFactoryTest.php index b7fa43fc26870..5f56e81e13435 100644 --- a/src/Symfony/Component/Mailer/Bridge/Amazon/Tests/Transport/SesTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Amazon/Tests/Transport/SesTransportFactoryTest.php @@ -23,12 +23,12 @@ class SesTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new SesTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new SesTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('ses+api', 'default'), @@ -61,11 +61,11 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { - $client = $this->getClient(); - $dispatcher = $this->getDispatcher(); - $logger = $this->getLogger(); + $client = self::getClient(); + $dispatcher = self::getDispatcher(); + $logger = self::getLogger(); yield [ new Dsn('ses+api', 'default', self::USER, self::PASSWORD), @@ -158,7 +158,7 @@ public function createProvider(): iterable ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('ses+foo', 'default', self::USER, self::PASSWORD), @@ -166,7 +166,7 @@ public function unsupportedSchemeProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield [new Dsn('ses+smtp', 'default', self::USER)]; } diff --git a/src/Symfony/Component/Mailer/Bridge/Amazon/composer.json b/src/Symfony/Component/Mailer/Bridge/Amazon/composer.json index aad87e370e290..4e6ab2f397bdd 100644 --- a/src/Symfony/Component/Mailer/Bridge/Amazon/composer.json +++ b/src/Symfony/Component/Mailer/Bridge/Amazon/composer.json @@ -20,7 +20,7 @@ "async-aws/ses": "^1.0", "psr/event-dispatcher": "^1", "symfony/deprecation-contracts": "^2.1|^3", - "symfony/mailer": "^4.4.21|^5.2.6|^6.0" + "symfony/mailer": "^5.4.21|^6.2.7" }, "require-dev": { "symfony/http-client": "^4.4|^5.0|^6.0" diff --git a/src/Symfony/Component/Mailer/Bridge/Google/Tests/Transport/GmailTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Google/Tests/Transport/GmailTransportFactoryTest.php index 33866373f405a..8045ad9e198a3 100644 --- a/src/Symfony/Component/Mailer/Bridge/Google/Tests/Transport/GmailTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Google/Tests/Transport/GmailTransportFactoryTest.php @@ -19,12 +19,12 @@ class GmailTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new GmailTransportFactory($this->getDispatcher(), null, $this->getLogger()); + return new GmailTransportFactory(self::getDispatcher(), null, self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('gmail', 'default'), @@ -47,25 +47,25 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ new Dsn('gmail', 'default', self::USER, self::PASSWORD), - new GmailSmtpTransport(self::USER, self::PASSWORD, $this->getDispatcher(), $this->getLogger()), + new GmailSmtpTransport(self::USER, self::PASSWORD, self::getDispatcher(), self::getLogger()), ]; yield [ new Dsn('gmail+smtp', 'default', self::USER, self::PASSWORD), - new GmailSmtpTransport(self::USER, self::PASSWORD, $this->getDispatcher(), $this->getLogger()), + new GmailSmtpTransport(self::USER, self::PASSWORD, self::getDispatcher(), self::getLogger()), ]; yield [ new Dsn('gmail+smtps', 'default', self::USER, self::PASSWORD), - new GmailSmtpTransport(self::USER, self::PASSWORD, $this->getDispatcher(), $this->getLogger()), + new GmailSmtpTransport(self::USER, self::PASSWORD, self::getDispatcher(), self::getLogger()), ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('gmail+foo', 'default', self::USER, self::PASSWORD), @@ -73,7 +73,7 @@ public function unsupportedSchemeProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield [new Dsn('gmail+smtp', 'default', self::USER)]; diff --git a/src/Symfony/Component/Mailer/Bridge/Google/composer.json b/src/Symfony/Component/Mailer/Bridge/Google/composer.json index d08d66043bf9c..927b4ca7cb7b2 100644 --- a/src/Symfony/Component/Mailer/Bridge/Google/composer.json +++ b/src/Symfony/Component/Mailer/Bridge/Google/composer.json @@ -18,7 +18,10 @@ "require": { "php": ">=7.2.5", "psr/event-dispatcher": "^1", - "symfony/mailer": "^4.4|^5.0|^6.0" + "symfony/mailer": "^5.4.21|^6.2.7" + }, + "require-dev": { + "symfony/http-client": "^4.4|^5.0|^6.0" }, "autoload": { "psr-4": { "Symfony\\Component\\Mailer\\Bridge\\Google\\": "" }, diff --git a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Tests/Transport/MandrillTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Tests/Transport/MandrillTransportFactoryTest.php index c905266756d52..4aac3cb613563 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Tests/Transport/MandrillTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Tests/Transport/MandrillTransportFactoryTest.php @@ -21,12 +21,12 @@ class MandrillTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new MandrillTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new MandrillTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('mandrill', 'default'), @@ -59,11 +59,11 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { - $client = $this->getClient(); - $dispatcher = $this->getDispatcher(); - $logger = $this->getLogger(); + $client = self::getClient(); + $dispatcher = self::getDispatcher(); + $logger = self::getLogger(); yield [ new Dsn('mandrill+api', 'default', self::USER), @@ -101,7 +101,7 @@ public function createProvider(): iterable ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('mandrill+foo', 'default', self::USER), @@ -109,7 +109,7 @@ public function unsupportedSchemeProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield [new Dsn('mandrill+api', 'default')]; diff --git a/src/Symfony/Component/Mailer/Bridge/Mailchimp/composer.json b/src/Symfony/Component/Mailer/Bridge/Mailchimp/composer.json index 2bb1f52f58857..aef41664ce962 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailchimp/composer.json +++ b/src/Symfony/Component/Mailer/Bridge/Mailchimp/composer.json @@ -18,7 +18,7 @@ "require": { "php": ">=7.2.5", "psr/event-dispatcher": "^1", - "symfony/mailer": "^5.1|^6.0" + "symfony/mailer": "^5.4.21|^6.2.7" }, "require-dev": { "symfony/http-client": "^4.4|^5.0|^6.0" diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunTransportFactoryTest.php index 118964995028a..a5c9ef978fb7e 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunTransportFactoryTest.php @@ -21,12 +21,12 @@ class MailgunTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new MailgunTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new MailgunTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('mailgun+api', 'default'), @@ -59,11 +59,11 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { - $client = $this->getClient(); - $dispatcher = $this->getDispatcher(); - $logger = $this->getLogger(); + $client = self::getClient(); + $dispatcher = self::getDispatcher(); + $logger = self::getLogger(); yield [ new Dsn('mailgun+api', 'default', self::USER, self::PASSWORD), @@ -106,7 +106,7 @@ public function createProvider(): iterable ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('mailgun+foo', 'default', self::USER, self::PASSWORD), @@ -114,7 +114,7 @@ public function unsupportedSchemeProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield [new Dsn('mailgun+api', 'default', self::USER)]; diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/composer.json b/src/Symfony/Component/Mailer/Bridge/Mailgun/composer.json index d8fc4bcde3b81..0b8d5a7b2080a 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailgun/composer.json +++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/composer.json @@ -18,7 +18,7 @@ "require": { "php": ">=7.2.5", "psr/event-dispatcher": "^1", - "symfony/mailer": "^5.2.6|^6.0" + "symfony/mailer": "^5.4.21|^6.2.7" }, "require-dev": { "symfony/http-client": "^4.4|^5.0|^6.0" diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetTransportFactoryTest.php index 5ecd964949a72..d06acbfec785f 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetTransportFactoryTest.php @@ -20,12 +20,12 @@ class MailjetTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new MailjetTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new MailjetTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('mailjet+api', 'default'), @@ -53,19 +53,19 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { - $dispatcher = $this->getDispatcher(); - $logger = $this->getLogger(); + $dispatcher = self::getDispatcher(); + $logger = self::getLogger(); yield [ new Dsn('mailjet+api', 'default', self::USER, self::PASSWORD), - new MailjetApiTransport(self::USER, self::PASSWORD, $this->getClient(), $dispatcher, $logger), + new MailjetApiTransport(self::USER, self::PASSWORD, self::getClient(), $dispatcher, $logger), ]; yield [ new Dsn('mailjet+api', 'example.com', self::USER, self::PASSWORD), - (new MailjetApiTransport(self::USER, self::PASSWORD, $this->getClient(), $dispatcher, $logger))->setHost('example.com'), + (new MailjetApiTransport(self::USER, self::PASSWORD, self::getClient(), $dispatcher, $logger))->setHost('example.com'), ]; yield [ @@ -84,7 +84,7 @@ public function createProvider(): iterable ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('mailjet+foo', 'mailjet', self::USER, self::PASSWORD), @@ -92,7 +92,7 @@ public function unsupportedSchemeProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield [new Dsn('mailjet+smtp', 'default')]; } diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/composer.json b/src/Symfony/Component/Mailer/Bridge/Mailjet/composer.json index 59e9204e28b3a..195ba77e87db0 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/composer.json +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/composer.json @@ -18,7 +18,7 @@ "require": { "php": ">=7.2.5", "psr/event-dispatcher": "^1", - "symfony/mailer": "^4.4|^5.0|^6.0" + "symfony/mailer": "^5.4.21|^6.2.7" }, "require-dev": { "symfony/http-client": "^4.4|^5.0|^6.0" diff --git a/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Tests/Transport/OhMySmtpTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Tests/Transport/OhMySmtpTransportFactoryTest.php index 10445a1176234..108e067da4144 100644 --- a/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Tests/Transport/OhMySmtpTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Tests/Transport/OhMySmtpTransportFactoryTest.php @@ -20,12 +20,12 @@ final class OhMySmtpTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new OhMySmtpTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new OhMySmtpTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('ohmysmtp+api', 'default'), @@ -53,19 +53,19 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { - $dispatcher = $this->getDispatcher(); - $logger = $this->getLogger(); + $dispatcher = self::getDispatcher(); + $logger = self::getLogger(); yield [ new Dsn('ohmysmtp+api', 'default', self::USER), - new OhMySmtpApiTransport(self::USER, $this->getClient(), $dispatcher, $logger), + new OhMySmtpApiTransport(self::USER, self::getClient(), $dispatcher, $logger), ]; yield [ new Dsn('ohmysmtp+api', 'example.com', self::USER, '', 8080), - (new OhMySmtpApiTransport(self::USER, $this->getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080), + (new OhMySmtpApiTransport(self::USER, self::getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080), ]; yield [ @@ -84,7 +84,7 @@ public function createProvider(): iterable ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('ohmysmtp+foo', 'default', self::USER), @@ -92,7 +92,7 @@ public function unsupportedSchemeProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield [new Dsn('ohmysmtp+api', 'default')]; } diff --git a/src/Symfony/Component/Mailer/Bridge/OhMySmtp/composer.json b/src/Symfony/Component/Mailer/Bridge/OhMySmtp/composer.json index bdf80d6f61296..31dbbe35aeacd 100644 --- a/src/Symfony/Component/Mailer/Bridge/OhMySmtp/composer.json +++ b/src/Symfony/Component/Mailer/Bridge/OhMySmtp/composer.json @@ -22,7 +22,7 @@ "require": { "php": ">=7.2.5", "psr/event-dispatcher": "^1", - "symfony/mailer": "^5.3.0|^6.0" + "symfony/mailer": "^5.4.21|^6.2.7" }, "require-dev": { "symfony/http-client": "^4.4|^5.0|^6.0" diff --git a/src/Symfony/Component/Mailer/Bridge/Postmark/Tests/Transport/PostmarkTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Postmark/Tests/Transport/PostmarkTransportFactoryTest.php index d6d3263c5c760..ccbd1f18e7daa 100644 --- a/src/Symfony/Component/Mailer/Bridge/Postmark/Tests/Transport/PostmarkTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Postmark/Tests/Transport/PostmarkTransportFactoryTest.php @@ -20,12 +20,12 @@ class PostmarkTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new PostmarkTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new PostmarkTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('postmark+api', 'default'), @@ -53,24 +53,24 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { - $dispatcher = $this->getDispatcher(); - $logger = $this->getLogger(); + $dispatcher = self::getDispatcher(); + $logger = self::getLogger(); yield [ new Dsn('postmark+api', 'default', self::USER), - new PostmarkApiTransport(self::USER, $this->getClient(), $dispatcher, $logger), + new PostmarkApiTransport(self::USER, self::getClient(), $dispatcher, $logger), ]; yield [ new Dsn('postmark+api', 'example.com', self::USER, '', 8080), - (new PostmarkApiTransport(self::USER, $this->getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080), + (new PostmarkApiTransport(self::USER, self::getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080), ]; yield [ new Dsn('postmark+api', 'example.com', self::USER, '', 8080, ['message_stream' => 'broadcasts']), - (new PostmarkApiTransport(self::USER, $this->getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080)->setMessageStream('broadcasts'), + (new PostmarkApiTransport(self::USER, self::getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080)->setMessageStream('broadcasts'), ]; yield [ @@ -94,7 +94,7 @@ public function createProvider(): iterable ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('postmark+foo', 'default', self::USER), @@ -102,7 +102,7 @@ public function unsupportedSchemeProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield [new Dsn('postmark+api', 'default')]; } diff --git a/src/Symfony/Component/Mailer/Bridge/Postmark/composer.json b/src/Symfony/Component/Mailer/Bridge/Postmark/composer.json index 94b6c04b40006..840d53656f328 100644 --- a/src/Symfony/Component/Mailer/Bridge/Postmark/composer.json +++ b/src/Symfony/Component/Mailer/Bridge/Postmark/composer.json @@ -18,7 +18,7 @@ "require": { "php": ">=7.2.5", "psr/event-dispatcher": "^1", - "symfony/mailer": "^5.2.6|^6.0" + "symfony/mailer": "^5.4.21|^6.2.7" }, "require-dev": { "symfony/http-client": "^4.4|^5.0|^6.0" diff --git a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php index cb4f775e2a5b4..a7ceb80b1dfa1 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php @@ -20,12 +20,12 @@ class SendgridTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new SendgridTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new SendgridTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('sendgrid+api', 'default'), @@ -53,19 +53,19 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { - $dispatcher = $this->getDispatcher(); - $logger = $this->getLogger(); + $dispatcher = self::getDispatcher(); + $logger = self::getLogger(); yield [ new Dsn('sendgrid+api', 'default', self::USER), - new SendgridApiTransport(self::USER, $this->getClient(), $dispatcher, $logger), + new SendgridApiTransport(self::USER, self::getClient(), $dispatcher, $logger), ]; yield [ new Dsn('sendgrid+api', 'example.com', self::USER, '', 8080), - (new SendgridApiTransport(self::USER, $this->getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080), + (new SendgridApiTransport(self::USER, self::getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080), ]; yield [ @@ -84,7 +84,7 @@ public function createProvider(): iterable ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('sendgrid+foo', 'sendgrid', self::USER), @@ -92,7 +92,7 @@ public function unsupportedSchemeProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield [new Dsn('sendgrid+api', 'default')]; } diff --git a/src/Symfony/Component/Mailer/Bridge/Sendgrid/composer.json b/src/Symfony/Component/Mailer/Bridge/Sendgrid/composer.json index 1fd5575c0f027..0aa4efa1ee1bd 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sendgrid/composer.json +++ b/src/Symfony/Component/Mailer/Bridge/Sendgrid/composer.json @@ -18,7 +18,7 @@ "require": { "php": ">=7.2.5", "psr/event-dispatcher": "^1", - "symfony/mailer": "^4.4|^5.0|^6.0" + "symfony/mailer": "^5.4.21|^6.2.7" }, "require-dev": { "symfony/http-client": "^4.4|^5.0|^6.0" diff --git a/src/Symfony/Component/Mailer/Bridge/Sendinblue/Tests/Transport/SendinblueTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Sendinblue/Tests/Transport/SendinblueTransportFactoryTest.php index f2da4a69051d1..bcc9ad22bea30 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sendinblue/Tests/Transport/SendinblueTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Sendinblue/Tests/Transport/SendinblueTransportFactoryTest.php @@ -20,12 +20,12 @@ class SendinblueTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new SendinblueTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new SendinblueTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('sendinblue', 'default'), @@ -48,30 +48,30 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ new Dsn('sendinblue', 'default', self::USER, self::PASSWORD), - new SendinblueSmtpTransport(self::USER, self::PASSWORD, $this->getDispatcher(), $this->getLogger()), + new SendinblueSmtpTransport(self::USER, self::PASSWORD, self::getDispatcher(), self::getLogger()), ]; yield [ new Dsn('sendinblue+smtp', 'default', self::USER, self::PASSWORD), - new SendinblueSmtpTransport(self::USER, self::PASSWORD, $this->getDispatcher(), $this->getLogger()), + new SendinblueSmtpTransport(self::USER, self::PASSWORD, self::getDispatcher(), self::getLogger()), ]; yield [ new Dsn('sendinblue+smtp', 'default', self::USER, self::PASSWORD, 465), - new SendinblueSmtpTransport(self::USER, self::PASSWORD, $this->getDispatcher(), $this->getLogger()), + new SendinblueSmtpTransport(self::USER, self::PASSWORD, self::getDispatcher(), self::getLogger()), ]; yield [ new Dsn('sendinblue+api', 'default', self::USER), - new SendinblueApiTransport(self::USER, $this->getClient(), $this->getDispatcher(), $this->getLogger()), + new SendinblueApiTransport(self::USER, self::getClient(), self::getDispatcher(), self::getLogger()), ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('sendinblue+foo', 'default', self::USER, self::PASSWORD), @@ -79,7 +79,7 @@ public function unsupportedSchemeProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield [new Dsn('sendinblue+smtp', 'default', self::USER)]; diff --git a/src/Symfony/Component/Mailer/Bridge/Sendinblue/composer.json b/src/Symfony/Component/Mailer/Bridge/Sendinblue/composer.json index a97a19392b547..42f547947e4de 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sendinblue/composer.json +++ b/src/Symfony/Component/Mailer/Bridge/Sendinblue/composer.json @@ -18,7 +18,7 @@ "require": { "php": ">=7.2.5", "psr/event-dispatcher": "^1", - "symfony/mailer": "^5.1|^6.0" + "symfony/mailer": "^5.4.21|^6.2.7" }, "require-dev": { "symfony/http-client": "^4.4|^5.0|^6.0" diff --git a/src/Symfony/Component/Mailer/CHANGELOG.md b/src/Symfony/Component/Mailer/CHANGELOG.md index cc6cd6f19845c..cd9c3d196fcc7 100644 --- a/src/Symfony/Component/Mailer/CHANGELOG.md +++ b/src/Symfony/Component/Mailer/CHANGELOG.md @@ -1,6 +1,14 @@ CHANGELOG ========= +5.4.21 +------ + + * [BC BREAK] The following data providers for `TransportFactoryTestCase` are now static: + `supportsProvider()`, `createProvider()`, `unsupportedSchemeProvider()`and `incompleteDsnProvider()` + * [BC BREAK] The following data providers for `TransportTestCase` are now static: + `toStringProvider()`, `supportedMessagesProvider()` and `unsupportedMessagesProvider()` + 5.4 --- diff --git a/src/Symfony/Component/Mailer/Test/TransportFactoryTestCase.php b/src/Symfony/Component/Mailer/Test/TransportFactoryTestCase.php index c2426a0bf27db..d12553182708c 100644 --- a/src/Symfony/Component/Mailer/Test/TransportFactoryTestCase.php +++ b/src/Symfony/Component/Mailer/Test/TransportFactoryTestCase.php @@ -13,6 +13,8 @@ use PHPUnit\Framework\TestCase; use Psr\Log\LoggerInterface; +use Psr\Log\NullLogger; +use Symfony\Component\HttpClient\MockHttpClient; use Symfony\Component\Mailer\Exception\IncompleteDsnException; use Symfony\Component\Mailer\Exception\UnsupportedSchemeException; use Symfony\Component\Mailer\Transport\Dsn; @@ -31,22 +33,22 @@ abstract class TransportFactoryTestCase extends TestCase protected const USER = 'u$er'; protected const PASSWORD = 'pa$s'; - protected $dispatcher; - protected $client; - protected $logger; + protected static $dispatcher; + protected static $client; + protected static $logger; - abstract public function getFactory(): TransportFactoryInterface; + abstract public static function getFactory(): TransportFactoryInterface; - abstract public function supportsProvider(): iterable; + abstract public static function supportsProvider(): iterable; - abstract public function createProvider(): iterable; + abstract public static function createProvider(): iterable; - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { return []; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { return []; } @@ -100,18 +102,22 @@ public function testIncompleteDsnException(Dsn $dsn) $factory->create($dsn); } - protected function getDispatcher(): EventDispatcherInterface + protected static function getDispatcher(): EventDispatcherInterface { - return $this->dispatcher ?? $this->dispatcher = $this->createMock(EventDispatcherInterface::class); + return self::$dispatcher ?? self::$dispatcher = new class() implements EventDispatcherInterface { + public function dispatch($event, string $eventName = null): object + { + } + }; } - protected function getClient(): HttpClientInterface + protected static function getClient(): HttpClientInterface { - return $this->client ?? $this->client = $this->createMock(HttpClientInterface::class); + return self::$client ?? self::$client = new MockHttpClient(); } - protected function getLogger(): LoggerInterface + protected static function getLogger(): LoggerInterface { - return $this->logger ?? $this->logger = $this->createMock(LoggerInterface::class); + return self::$logger ?? self::$logger = new NullLogger(); } } diff --git a/src/Symfony/Component/Mailer/Tests/Transport/NullTransportFactoryTest.php b/src/Symfony/Component/Mailer/Tests/Transport/NullTransportFactoryTest.php index 9b39a6140b6c3..50c35cb271747 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/NullTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/NullTransportFactoryTest.php @@ -19,12 +19,12 @@ class NullTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new NullTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new NullTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('null', ''), @@ -32,11 +32,11 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ new Dsn('null', 'null'), - new NullTransport($this->getDispatcher(), $this->getLogger()), + new NullTransport(self::getDispatcher(), self::getLogger()), ]; } } diff --git a/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportFactoryTest.php b/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportFactoryTest.php index 55f893b0ad987..d13f23eb9d1bf 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportFactoryTest.php @@ -19,12 +19,12 @@ class SendmailTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new SendmailTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new SendmailTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('sendmail+smtp', 'default'), @@ -32,20 +32,20 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ new Dsn('sendmail+smtp', 'default'), - new SendmailTransport(null, $this->getDispatcher(), $this->getLogger()), + new SendmailTransport(null, self::getDispatcher(), self::getLogger()), ]; yield [ new Dsn('sendmail+smtp', 'default', null, null, null, ['command' => '/usr/sbin/sendmail -oi -t']), - new SendmailTransport('/usr/sbin/sendmail -oi -t', $this->getDispatcher(), $this->getLogger()), + new SendmailTransport('/usr/sbin/sendmail -oi -t', self::getDispatcher(), self::getLogger()), ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield [ new Dsn('sendmail+http', 'default'), diff --git a/src/Symfony/Component/Mailer/Tests/Transport/Smtp/EsmtpTransportFactoryTest.php b/src/Symfony/Component/Mailer/Tests/Transport/Smtp/EsmtpTransportFactoryTest.php index 5d75f15d17d49..5c284d188f067 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/Smtp/EsmtpTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/Smtp/EsmtpTransportFactoryTest.php @@ -20,12 +20,12 @@ class EsmtpTransportFactoryTest extends TransportFactoryTestCase { - public function getFactory(): TransportFactoryInterface + public static function getFactory(): TransportFactoryInterface { - return new EsmtpTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger()); + return new EsmtpTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger()); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [ new Dsn('smtp', 'example.com'), @@ -43,10 +43,10 @@ public function supportsProvider(): iterable ]; } - public function createProvider(): iterable + public static function createProvider(): iterable { - $eventDispatcher = $this->getDispatcher(); - $logger = $this->getLogger(); + $eventDispatcher = self::getDispatcher(); + $logger = self::getLogger(); $transport = new EsmtpTransport('localhost', 25, false, $eventDispatcher, $logger); diff --git a/src/Symfony/Component/Mailer/composer.json b/src/Symfony/Component/Mailer/composer.json index 86093d875feee..42416e1a91dfa 100644 --- a/src/Symfony/Component/Mailer/composer.json +++ b/src/Symfony/Component/Mailer/composer.json @@ -27,7 +27,7 @@ "symfony/service-contracts": "^1.1|^2|^3" }, "require-dev": { - "symfony/http-client-contracts": "^1.1|^2|^3", + "symfony/http-client": "^4.4|^5.0|^6.0", "symfony/messenger": "^4.4|^5.0|^6.0" }, "conflict": { diff --git a/src/Symfony/Component/Notifier/Bridge/AllMySms/Tests/AllMySmsTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/AllMySms/Tests/AllMySmsTransportFactoryTest.php index a523d3ae24c68..9f35fa3d31443 100644 --- a/src/Symfony/Component/Notifier/Bridge/AllMySms/Tests/AllMySmsTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/AllMySms/Tests/AllMySmsTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new AllMySmsTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'allmysms://host.test', @@ -38,13 +38,13 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'allmysms://login:apiKey@default']; yield [false, 'somethingElse://login:apiKey@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://login:apiKey@default']; } diff --git a/src/Symfony/Component/Notifier/Bridge/AmazonSns/Tests/AmazonSnsTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/AmazonSns/Tests/AmazonSnsTransportFactoryTest.php index 0fe0e72061c2d..ffbfc5e383f95 100644 --- a/src/Symfony/Component/Notifier/Bridge/AmazonSns/Tests/AmazonSnsTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/AmazonSns/Tests/AmazonSnsTransportFactoryTest.php @@ -22,20 +22,20 @@ public function createFactory(): TransportFactoryInterface return new AmazonSnsTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield ['sns://host.test?region=us-east-1', 'sns://host.test']; yield ['sns://host.test?region=us-east-1', 'sns://accessId:accessKey@host.test']; yield ['sns://host.test?region=eu-west-3', 'sns://host.test?region=eu-west-3']; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'sns://default']; yield [false, 'somethingElse://default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://default']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Clickatell/Tests/ClickatellTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Clickatell/Tests/ClickatellTransportFactoryTest.php index 55b5277162837..bb8dc00af4106 100644 --- a/src/Symfony/Component/Notifier/Bridge/Clickatell/Tests/ClickatellTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Clickatell/Tests/ClickatellTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new ClickatellTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'clickatell://host.test?from=0611223344', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'clickatell://authtoken@default?from=0611223344']; yield [false, 'somethingElse://authtoken@default?from=0611223344']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing auth token' => ['clickatell://host?from=FROM']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://authtoken@default?from=FROM']; yield ['somethingElse://authtoken@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/DiscordTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/DiscordTransportFactoryTest.php index 24dc1049c276e..ca0ef4fa34a03 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/DiscordTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/DiscordTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new DiscordTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'discord://host.test?webhook_id=testWebhookId', @@ -33,23 +33,23 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'discord://host?webhook_id=testWebhookId']; yield [false, 'somethingElse://host?webhook_id=testWebhookId']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing token' => ['discord://host.test?webhook_id=testWebhookId']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: webhook_id' => ['discord://token@host']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://token@host?webhook_id=testWebhookId']; yield ['somethingElse://token@host']; // missing "webhook_id" option diff --git a/src/Symfony/Component/Notifier/Bridge/Esendex/Tests/EsendexTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Esendex/Tests/EsendexTransportFactoryTest.php index 5a7645b7cdda3..6cea260124252 100644 --- a/src/Symfony/Component/Notifier/Bridge/Esendex/Tests/EsendexTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Esendex/Tests/EsendexTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new EsendexTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'esendex://host.test?accountreference=ACCOUNTREFERENCE&from=FROM', @@ -33,26 +33,26 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'esendex://email:password@host?accountreference=ACCOUNTREFERENCE&from=FROM']; yield [false, 'somethingElse://email:password@default']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing credentials' => ['esendex://host?accountreference=ACCOUNTREFERENCE&from=FROM']; yield 'missing email' => ['esendex://:password@host?accountreference=ACCOUNTREFERENCE&from=FROM']; yield 'missing password' => ['esendex://email:@host?accountreference=ACCOUNTREFERENCE&from=FROM']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['esendex://email:password@host?accountreference=ACCOUNTREFERENCE']; yield 'missing option: accountreference' => ['esendex://email:password@host?from=FROM']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://email:password@default?accountreference=ACCOUNTREFERENCE&from=FROM']; yield ['somethingElse://email:password@host?accountreference=ACCOUNTREFERENCE']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Expo/Tests/ExpoTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Expo/Tests/ExpoTransportFactoryTest.php index c78d9f4fe3594..31dbc5736995f 100644 --- a/src/Symfony/Component/Notifier/Bridge/Expo/Tests/ExpoTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Expo/Tests/ExpoTransportFactoryTest.php @@ -28,7 +28,7 @@ public function createFactory(): TransportFactoryInterface return new ExpoTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'expo://exp.host/--/api/v2/push/send', @@ -36,13 +36,13 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'expo://default?accessToken=test']; yield [false, 'somethingElse://username:password@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://username:password@default']; } diff --git a/src/Symfony/Component/Notifier/Bridge/FakeChat/Tests/FakeChatTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/FakeChat/Tests/FakeChatTransportFactoryTest.php index a83d035cae707..17b18628d700f 100644 --- a/src/Symfony/Component/Notifier/Bridge/FakeChat/Tests/FakeChatTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/FakeChat/Tests/FakeChatTransportFactoryTest.php @@ -27,7 +27,7 @@ public function createFactory(): TransportFactoryInterface return new FakeChatTransportFactory($this->createMock(MailerInterface::class), $this->createMock(LoggerInterface::class)); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'fakechat+email://default?to=recipient@email.net&from=sender@email.net', @@ -45,25 +45,25 @@ public function createProvider(): iterable ]; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['fakechat+email://default?to=recipient@email.net']; yield 'missing option: to' => ['fakechat+email://default?from=sender@email.net']; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'fakechat+email://default?to=recipient@email.net&from=sender@email.net']; yield [false, 'somethingElse://default?to=recipient@email.net&from=sender@email.net']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing from' => ['fakechat+email://default?to=recipient@email.net']; yield 'missing to' => ['fakechat+email://default?from=recipient@email.net']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://default?to=recipient@email.net&from=sender@email.net']; } diff --git a/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsTransportFactoryTest.php index 603da742f2f5c..a9834eaad1c93 100644 --- a/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsTransportFactoryTest.php @@ -27,7 +27,7 @@ public function createFactory(): TransportFactoryInterface return new FakeSmsTransportFactory($this->createMock(MailerInterface::class), $this->createMock(LoggerInterface::class)); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'fakesms+email://default?to=recipient@email.net&from=sender@email.net', @@ -45,25 +45,25 @@ public function createProvider(): iterable ]; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['fakesms+email://default?to=recipient@email.net']; yield 'missing option: to' => ['fakesms+email://default?from=sender@email.net']; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'fakesms+email://default?to=recipient@email.net&from=sender@email.net']; yield [false, 'somethingElse://default?to=recipient@email.net&from=sender@email.net']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing from' => ['fakesms+email://default?to=recipient@email.net']; yield 'missing to' => ['fakesms+email://default?from=recipient@email.net']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://default?to=recipient@email.net&from=sender@email.net']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Firebase/Tests/FirebaseTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Firebase/Tests/FirebaseTransportFactoryTest.php index 77e69348dc0b2..17db87b7307e0 100644 --- a/src/Symfony/Component/Notifier/Bridge/Firebase/Tests/FirebaseTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Firebase/Tests/FirebaseTransportFactoryTest.php @@ -28,7 +28,7 @@ public function createFactory(): TransportFactoryInterface return new FirebaseTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'firebase://host.test', @@ -36,13 +36,13 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'firebase://username:password@default']; yield [false, 'somethingElse://username:password@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://username:password@default']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Firebase/Tests/FirebaseTransportTest.php b/src/Symfony/Component/Notifier/Bridge/Firebase/Tests/FirebaseTransportTest.php index 46d3ab623b78b..338dd8696414f 100644 --- a/src/Symfony/Component/Notifier/Bridge/Firebase/Tests/FirebaseTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Firebase/Tests/FirebaseTransportTest.php @@ -70,7 +70,7 @@ public function testSendWithErrorThrowsTransportException(ResponseInterface $res $transport->send(new ChatMessage('Hello!', $options)); } - public function sendWithErrorThrowsExceptionProvider(): iterable + public static function sendWithErrorThrowsExceptionProvider(): iterable { yield [new MockResponse( json_encode(['results' => [['error' => 'testErrorCode']]]), diff --git a/src/Symfony/Component/Notifier/Bridge/FreeMobile/Tests/FreeMobileTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/FreeMobile/Tests/FreeMobileTransportFactoryTest.php index bb9698cd98e51..538a30811342d 100644 --- a/src/Symfony/Component/Notifier/Bridge/FreeMobile/Tests/FreeMobileTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/FreeMobile/Tests/FreeMobileTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new FreeMobileTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'freemobile://host.test?phone=0611223344', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'freemobile://login:pass@default?phone=0611223344']; yield [false, 'somethingElse://login:pass@default?phone=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: phone' => ['freemobile://login:pass@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://login:pass@default?phone=0611223344']; yield ['somethingElse://login:pass@default']; // missing "phone" option diff --git a/src/Symfony/Component/Notifier/Bridge/GatewayApi/Tests/GatewayApiTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/GatewayApi/Tests/GatewayApiTransportFactoryTest.php index 7e1736b5b20d3..90787234556e1 100644 --- a/src/Symfony/Component/Notifier/Bridge/GatewayApi/Tests/GatewayApiTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/GatewayApi/Tests/GatewayApiTransportFactoryTest.php @@ -29,7 +29,7 @@ public function createFactory(): TransportFactoryInterface return new GatewayApiTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'gatewayapi://gatewayapi.com?from=Symfony', @@ -37,18 +37,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'gatewayapi://token@host.test?from=Symfony']; yield [false, 'somethingElse://token@default?from=Symfony']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing token' => ['gatewayapi://host.test?from=Symfony']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['gatewayapi://token@host.test']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Gitter/Tests/GitterTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Gitter/Tests/GitterTransportFactoryTest.php index 345d9aa38e7e5..d400a7a7a7680 100644 --- a/src/Symfony/Component/Notifier/Bridge/Gitter/Tests/GitterTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Gitter/Tests/GitterTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new GitterTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'gitter://api.gitter.im?room_id=5539a3ee5etest0d3255bfef', @@ -33,23 +33,23 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'gitter://token@host?room_id=5539a3ee5etest0d3255bfef']; yield [false, 'somethingElse://token@host?room_id=5539a3ee5etest0d3255bfef']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing token' => ['gitter://api.gitter.im?room_id=5539a3ee5etest0d3255bfef']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: room_id' => ['gitter://token@host']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://token@host?room_id=5539a3ee5etest0d3255bfef']; yield ['somethingElse://token@host']; diff --git a/src/Symfony/Component/Notifier/Bridge/GoogleChat/Tests/GoogleChatTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/GoogleChat/Tests/GoogleChatTransportFactoryTest.php index 52bcc95d99fd1..8346e4a4f9815 100644 --- a/src/Symfony/Component/Notifier/Bridge/GoogleChat/Tests/GoogleChatTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/GoogleChat/Tests/GoogleChatTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new GoogleChatTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'googlechat://chat.googleapis.com/AAAAA_YYYYY', @@ -38,18 +38,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'googlechat://host/path']; yield [false, 'somethingElse://host/path']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing credentials' => ['googlechat://chat.googleapis.com/v1/spaces/AAAAA_YYYYY/messages']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://host/path']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Infobip/Tests/InfobipTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Infobip/Tests/InfobipTransportFactoryTest.php index 06a6ff586ed3d..4cb92cbe16025 100644 --- a/src/Symfony/Component/Notifier/Bridge/Infobip/Tests/InfobipTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Infobip/Tests/InfobipTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new InfobipTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'infobip://host.test?from=0611223344', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'infobip://authtoken@default?from=0611223344']; yield [false, 'somethingElse://authtoken@default?from=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['infobip://authtoken@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://authtoken@default?from=FROM']; yield ['somethingElse://authtoken@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Iqsms/Tests/IqsmsTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Iqsms/Tests/IqsmsTransportFactoryTest.php index a71e3bf5a7cc8..f83057185d884 100644 --- a/src/Symfony/Component/Notifier/Bridge/Iqsms/Tests/IqsmsTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Iqsms/Tests/IqsmsTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new IqsmsTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'iqsms://host.test?from=FROM', @@ -33,25 +33,25 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'iqsms://login:password@default?from=FROM']; yield [false, 'somethingElse://login:password@default?from=FROM']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing login' => ['iqsms://:password@host.test?from=FROM']; yield 'missing password' => ['iqsms://login:@host.test?from=FROM']; yield 'missing credentials' => ['iqsms://@host.test?from=FROM']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['iqsms://login:password@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://login:password@default?from=FROM']; yield ['somethingElse://login:password@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/LightSms/Tests/LightSmsTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/LightSms/Tests/LightSmsTransportFactoryTest.php index 01b206882f549..6d74aceef450a 100644 --- a/src/Symfony/Component/Notifier/Bridge/LightSms/Tests/LightSmsTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/LightSms/Tests/LightSmsTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new LightSmsTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'lightsms://host.test?from=0611223344', @@ -33,13 +33,13 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'lightsms://login:token@default?from=37061234567']; yield [false, 'somethingElse://login:token@default?from=37061234567']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://login:token@default?from=37061234567']; yield ['somethingElse://login:token@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/LinkedIn/Tests/LinkedInTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/LinkedIn/Tests/LinkedInTransportFactoryTest.php index 180238e78eb0b..d79f683ef63b3 100644 --- a/src/Symfony/Component/Notifier/Bridge/LinkedIn/Tests/LinkedInTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/LinkedIn/Tests/LinkedInTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new LinkedInTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'linkedin://host.test', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'linkedin://host']; yield [false, 'somethingElse://host']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing account or user_id' => ['linkedin://AccessTokenOrUserId@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://accessToken:UserId@default']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Mailjet/Tests/MailjetTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Mailjet/Tests/MailjetTransportFactoryTest.php index b24a15a67e52d..959550a4d9fdf 100644 --- a/src/Symfony/Component/Notifier/Bridge/Mailjet/Tests/MailjetTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Mailjet/Tests/MailjetTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new MailjetTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'mailjet://Mailjet@host.test', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'mailjet://Mailjet:authtoken@default']; yield [false, 'somethingElse://Mailjet:authtoken@default']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing from' => ['mailjet://authtoken@default', 'Invalid "mailjet://authtoken@default" notifier DSN: Password is not set.']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://default']; // missing "from" and "token" option yield ['somethingElse://authtoken@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Mattermost/Tests/MattermostTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Mattermost/Tests/MattermostTransportFactoryTest.php index 5f75994ce133a..a5123ca1ddc5e 100644 --- a/src/Symfony/Component/Notifier/Bridge/Mattermost/Tests/MattermostTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Mattermost/Tests/MattermostTransportFactoryTest.php @@ -28,7 +28,7 @@ public function createFactory(): TransportFactoryInterface return new MattermostTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'mattermost://host.test?channel=testChannel', @@ -51,23 +51,23 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'mattermost://token@host?channel=testChannel']; yield [false, 'somethingElse://token@host?channel=testChannel']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing token' => ['mattermost://host.test?channel=testChannel']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: channel' => ['mattermost://token@host']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://token@host?channel=testChannel']; yield ['somethingElse://token@host']; // missing "channel" option diff --git a/src/Symfony/Component/Notifier/Bridge/Mercure/Tests/MercureTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Mercure/Tests/MercureTransportFactoryTest.php index 37825f49438dc..8605449d24371 100644 --- a/src/Symfony/Component/Notifier/Bridge/Mercure/Tests/MercureTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Mercure/Tests/MercureTransportFactoryTest.php @@ -32,13 +32,13 @@ public function createFactory(): TransportFactoryInterface return new MercureTransportFactory($hubRegistry); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'mercure://hubId?topic=topic']; yield [false, 'somethingElse://hubId?topic=topic']; } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'mercure://hubId?topic=%2Ftopic%2F1', @@ -56,7 +56,7 @@ public function createProvider(): iterable ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://hubId?topic=topic']; } diff --git a/src/Symfony/Component/Notifier/Bridge/MessageBird/Tests/MessageBirdTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/MessageBird/Tests/MessageBirdTransportFactoryTest.php index 55d26b2a91797..8d1602a237390 100644 --- a/src/Symfony/Component/Notifier/Bridge/MessageBird/Tests/MessageBirdTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/MessageBird/Tests/MessageBirdTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new MessageBirdTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'messagebird://host.test?from=0611223344', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'messagebird://token@default?from=0611223344']; yield [false, 'somethingElse://token@default?from=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['messagebird://token@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://token@default?from=0611223344']; yield ['somethingElse://token@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/MessageMedia/Tests/MessageMediaTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/MessageMedia/Tests/MessageMediaTransportFactoryTest.php index 2dbb5ce4b03b1..ef60fb4d10b95 100644 --- a/src/Symfony/Component/Notifier/Bridge/MessageMedia/Tests/MessageMediaTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/MessageMedia/Tests/MessageMediaTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new MessageMediaTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'messagemedia://host.test', @@ -38,13 +38,13 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'messagemedia://apiKey:apiSecret@default']; yield [false, 'somethingElse://apiKey:apiSecret@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://apiKey:apiSecret@default']; } diff --git a/src/Symfony/Component/Notifier/Bridge/MessageMedia/Tests/MessageMediaTransportTest.php b/src/Symfony/Component/Notifier/Bridge/MessageMedia/Tests/MessageMediaTransportTest.php index 9ba3a8b997ad2..aff1b64c938cd 100644 --- a/src/Symfony/Component/Notifier/Bridge/MessageMedia/Tests/MessageMediaTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/MessageMedia/Tests/MessageMediaTransportTest.php @@ -72,7 +72,7 @@ public function testExceptionIsThrownWhenHttpSendFailed(int $statusCode, string $transport->send(new SmsMessage('+61491570156', 'Hello!')); } - public function exceptionIsThrownWhenHttpSendFailedProvider(): iterable + public static function exceptionIsThrownWhenHttpSendFailedProvider(): iterable { yield [503, '', 'Unable to send the SMS: "Unknown reason".']; yield [500, '{"details": ["Something went wrong."]}', 'Unable to send the SMS: "Something went wrong.".']; diff --git a/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/Tests/MicrosoftTeamsTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/Tests/MicrosoftTeamsTransportFactoryTest.php index cbf6c48e407ab..b0934bcdc9e22 100644 --- a/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/Tests/MicrosoftTeamsTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/Tests/MicrosoftTeamsTransportFactoryTest.php @@ -22,7 +22,7 @@ public function createFactory(): TransportFactoryInterface return new MicrosoftTeamsTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'microsoftteams://host/webhook', @@ -30,13 +30,13 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'microsoftteams://host/webhook']; yield [false, 'somethingElse://host/webhook']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://host/webhook']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Mobyt/Tests/MobytTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Mobyt/Tests/MobytTransportFactoryTest.php index 9b47e9c55f99f..2811ef86555ae 100644 --- a/src/Symfony/Component/Notifier/Bridge/Mobyt/Tests/MobytTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Mobyt/Tests/MobytTransportFactoryTest.php @@ -28,7 +28,7 @@ public function createFactory(): TransportFactoryInterface return new MobytTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'mobyt://host.test?from=FROM&type_quality=LL', @@ -41,19 +41,19 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'mobyt://accountSid:authToken@host.test?from=FROM']; yield [false, 'somethingElse://accountSid:authToken@host.test?from=FROM']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing token' => ['mobyt://host.test?from=FROM']; yield 'missing option: from' => ['mobyt://accountSid:authToken@host']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://accountSid:authToken@host.test?from=FROM']; yield ['somethingElse://accountSid:authToken@host.test']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Nexmo/Tests/NexmoTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Nexmo/Tests/NexmoTransportFactoryTest.php index 907b98e1ccf70..bf6fb8275b04b 100644 --- a/src/Symfony/Component/Notifier/Bridge/Nexmo/Tests/NexmoTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Nexmo/Tests/NexmoTransportFactoryTest.php @@ -28,7 +28,7 @@ public function createFactory(): TransportFactoryInterface return new NexmoTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'nexmo://host.test?from=0611223344', @@ -36,18 +36,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'nexmo://apiKey:apiSecret@default?from=0611223344']; yield [false, 'somethingElse://apiKey:apiSecret@default?from=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['nexmo://apiKey:apiSecret@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://apiKey:apiSecret@default?from=0611223344']; yield ['somethingElse://apiKey:apiSecret@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Octopush/Tests/OctopushTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Octopush/Tests/OctopushTransportFactoryTest.php index 714f76bc94828..c09e805143bac 100644 --- a/src/Symfony/Component/Notifier/Bridge/Octopush/Tests/OctopushTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Octopush/Tests/OctopushTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new OctopushTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'octopush://host.test?from=Heyliot&type=FR', @@ -33,19 +33,19 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'octopush://userLogin:apiKey@default?from=Heyliot&type=FR']; yield [false, 'somethingElse://userLogin:apiKet@default?from=Heyliot&type=FR']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['octopush://userLogin:apiKey@default?type=FR']; yield 'missing option: type' => ['octopush://userLogin:apiKey@default?from=Heyliot']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://userLogin:apiKey@default?from=0611223344']; yield ['somethingElse://userLogin:apiKey@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/OneSignal/Tests/OneSignalTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/OneSignal/Tests/OneSignalTransportFactoryTest.php index adb66e13c51e9..01cecd318712a 100644 --- a/src/Symfony/Component/Notifier/Bridge/OneSignal/Tests/OneSignalTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/OneSignal/Tests/OneSignalTransportFactoryTest.php @@ -28,7 +28,7 @@ public function createFactory(): TransportFactoryInterface return new OneSignalTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'onesignal://app_id@host.test', @@ -36,19 +36,19 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'onesignal://token@host']; yield [false, 'somethingElse://token@host']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing app_id' => ['onesignal://:api_key@host.test']; yield 'missing api_key' => ['onesignal://app_id:@host.test']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://token@host']; } diff --git a/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportFactoryTest.php index abf6f40343fdc..9ea6e40e7decb 100644 --- a/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new OvhCloudTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'ovhcloud://host.test?consumer_key=consumerKey&service_name=serviceName', @@ -38,19 +38,19 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'ovhcloud://key:secret@default?consumer_key=consumerKey&service_name=serviceName&sender=sender']; yield [false, 'somethingElse://key:secret@default?consumer_key=consumerKey&service_name=serviceName&sender=sender']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: consumer_key' => ['ovhcloud://key:secret@default?service_name=serviceName']; yield 'missing option: service_name' => ['ovhcloud://key:secret@default?consumer_key=consumerKey']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://key:secret@default?consumer_key=consumerKey&service_name=serviceName&sender=sender']; yield ['somethingElse://key:secret@default?service_name=serviceName']; diff --git a/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportTest.php b/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportTest.php index d1a31545ac408..b36cdd0557771 100644 --- a/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportTest.php @@ -49,7 +49,7 @@ public static function unsupportedMessagesProvider(): iterable yield [new DummyMessage()]; } - public function validMessagesProvider(): iterable + public static function validMessagesProvider(): iterable { yield 'without a slash' => ['hello']; yield 'including a slash' => ['hel/lo']; diff --git a/src/Symfony/Component/Notifier/Bridge/RocketChat/Tests/RocketChatTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/RocketChat/Tests/RocketChatTransportFactoryTest.php index d9fb2bcb27e19..e44d3157a5cf8 100644 --- a/src/Symfony/Component/Notifier/Bridge/RocketChat/Tests/RocketChatTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/RocketChat/Tests/RocketChatTransportFactoryTest.php @@ -28,7 +28,7 @@ public function createFactory(): TransportFactoryInterface return new RocketChatTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'rocketchat://host.test?channel=testChannel', @@ -36,18 +36,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'rocketchat://token@host?channel=testChannel']; yield [false, 'somethingElse://token@host?channel=testChannel']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing token' => ['rocketchat://host.test?channel=testChannel']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://token@host?channel=testChannel']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Sendinblue/Tests/SendinblueTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Sendinblue/Tests/SendinblueTransportFactoryTest.php index c9b2cb5c0bbb3..d46e9047f1128 100644 --- a/src/Symfony/Component/Notifier/Bridge/Sendinblue/Tests/SendinblueTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Sendinblue/Tests/SendinblueTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new SendinblueTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'sendinblue://host.test?sender=0611223344', @@ -33,23 +33,23 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'sendinblue://apiKey@default?sender=0611223344']; yield [false, 'somethingElse://apiKey@default?sender=0611223344']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing api_key' => ['sendinblue://default?sender=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: sender' => ['sendinblue://apiKey@host.test']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://apiKey@default?sender=0611223344']; yield ['somethingElse://apiKey@host']; // missing "sender" option diff --git a/src/Symfony/Component/Notifier/Bridge/Sinch/Tests/SinchTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Sinch/Tests/SinchTransportFactoryTest.php index 5139f236dd67e..9c71d3918d413 100644 --- a/src/Symfony/Component/Notifier/Bridge/Sinch/Tests/SinchTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Sinch/Tests/SinchTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new SinchTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'sinch://host.test?from=0611223344', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'sinch://accountSid:authToken@default?from=0611223344']; yield [false, 'somethingElse://accountSid:authToken@default?from=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['sinch://accountSid:authToken@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://accountSid:authToken@default?from=0611223344']; yield ['somethingElse://accountSid:authToken@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackTransportFactoryTest.php index 11f78bade6653..04aa7780e6146 100644 --- a/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackTransportFactoryTest.php @@ -27,7 +27,7 @@ public function createFactory(): TransportFactoryInterface return new SlackTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'slack://host.test', @@ -55,18 +55,18 @@ public function testCreateWithDeprecatedDsn() $factory->create(new Dsn('slack://default/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX')); } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'slack://xoxb-TestToken@host?channel=testChannel']; yield [false, 'somethingElse://xoxb-TestToken@host?channel=testChannel']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing token' => ['slack://host.test?channel=testChannel']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://xoxb-TestToken@host?channel=testChannel']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Sms77/Tests/Sms77TransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Sms77/Tests/Sms77TransportFactoryTest.php index be1768bae841a..510046dac82fd 100644 --- a/src/Symfony/Component/Notifier/Bridge/Sms77/Tests/Sms77TransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Sms77/Tests/Sms77TransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new Sms77TransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'sms77://host.test', @@ -38,18 +38,18 @@ public function createProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing api key' => ['sms77://host?from=TEST']; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'sms77://apiKey@default?from=TEST']; yield [false, 'somethingElse://apiKey@default?from=TEST']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://apiKey@default?from=FROM']; } diff --git a/src/Symfony/Component/Notifier/Bridge/SmsBiuras/Tests/SmsBiurasTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/SmsBiuras/Tests/SmsBiurasTransportFactoryTest.php index abb1dd3eb0042..c201a4793e8a5 100644 --- a/src/Symfony/Component/Notifier/Bridge/SmsBiuras/Tests/SmsBiurasTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/SmsBiuras/Tests/SmsBiurasTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new SmsBiurasTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'smsbiuras://host.test?from=0611223344', @@ -38,18 +38,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'smsbiuras://uid:api_key@default?from=0611223344']; yield [false, 'somethingElse://uid:api_key@default?from=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['smsbiuras://uid:api_key@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://uid:api_key@default?from=0611223344']; yield ['somethingElse://uid:api_key@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Smsapi/Tests/SmsapiTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Smsapi/Tests/SmsapiTransportFactoryTest.php index 71bdde97a3d9f..7d994daf01342 100644 --- a/src/Symfony/Component/Notifier/Bridge/Smsapi/Tests/SmsapiTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Smsapi/Tests/SmsapiTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new SmsapiTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'smsapi://host.test?from=testFrom', @@ -33,23 +33,23 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'smsapi://host?from=testFrom']; yield [false, 'somethingElse://host?from=testFrom']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing token' => ['smsapi://host.test?from=testFrom']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['smsapi://token@host']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://token@host?from=testFrom']; yield ['somethingElse://token@host']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Smsapi/Tests/SmsapiTransportTest.php b/src/Symfony/Component/Notifier/Bridge/Smsapi/Tests/SmsapiTransportTest.php index 23296e9aae9bd..2e50676ac40d4 100644 --- a/src/Symfony/Component/Notifier/Bridge/Smsapi/Tests/SmsapiTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Smsapi/Tests/SmsapiTransportTest.php @@ -53,7 +53,7 @@ public function createClient(int $statusCode, string $content): HttpClientInterf return new MockHttpClient(new MockResponse($content, ['http_code' => $statusCode])); } - public function responseProvider(): iterable + public static function responseProvider(): iterable { $responses = [ ['status' => 200, 'content' => '{"error":101,"message":"Authorization failed"}', 'errorMessage' => 'Unable to send the SMS: "Authorization failed".'], diff --git a/src/Symfony/Component/Notifier/Bridge/Smsc/Tests/SmscTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Smsc/Tests/SmscTransportFactoryTest.php index d3bf70319ae61..ee6a88940c7de 100644 --- a/src/Symfony/Component/Notifier/Bridge/Smsc/Tests/SmscTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Smsc/Tests/SmscTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new SmscTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'smsc://host.test?from=MyApp', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'smsc://login:password@default?from=MyApp']; yield [false, 'somethingElse://login:password@default?from=MyApp']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['smsc://login:password@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://login:password@default?from=MyApp']; yield ['somethingElse://login:password@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/SpotHit/Tests/SpotHitTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/SpotHit/Tests/SpotHitTransportFactoryTest.php index 57da2c142a5e4..a7ff7fb71b586 100644 --- a/src/Symfony/Component/Notifier/Bridge/SpotHit/Tests/SpotHitTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/SpotHit/Tests/SpotHitTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new SpotHitTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'spothit://spot-hit.fr', @@ -37,13 +37,13 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'spothit://api_token@default?from=MyCompany']; yield [false, 'somethingElse://api_token@default?from=MyCompany']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['foobar://api_token@default?from=MyCompany']; yield ['foobar://api_token@default']; diff --git a/src/Symfony/Component/Notifier/Bridge/Telegram/Tests/TelegramTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Telegram/Tests/TelegramTransportFactoryTest.php index 37a0577444c57..2ceb03b08ae83 100644 --- a/src/Symfony/Component/Notifier/Bridge/Telegram/Tests/TelegramTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Telegram/Tests/TelegramTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new TelegramTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'telegram://host.test?channel=testChannel', @@ -33,19 +33,19 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'telegram://host?channel=testChannel']; yield [false, 'somethingElse://host?channel=testChannel']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing password' => ['telegram://token@host.test?channel=testChannel']; yield 'missing token' => ['telegram://host.test?channel=testChannel']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://user:pwd@host']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Telnyx/Tests/TelnyxTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Telnyx/Tests/TelnyxTransportFactoryTest.php index 3d7cd943723a9..de864da8f1980 100644 --- a/src/Symfony/Component/Notifier/Bridge/Telnyx/Tests/TelnyxTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Telnyx/Tests/TelnyxTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new TelnyxTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'telnyx://host.test?from=+0611223344', @@ -38,18 +38,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'telnyx://api_key@default?from=%2B0611223344']; yield [false, 'somethingElse://api_key@default?from=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['telnyx://api_key@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://api_key@default?from=+0611223344']; yield ['somethingElse://api_key@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/TurboSms/Tests/TurboSmsTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/TurboSms/Tests/TurboSmsTransportFactoryTest.php index 682a6ae5548b1..cb957cb7a8088 100644 --- a/src/Symfony/Component/Notifier/Bridge/TurboSms/Tests/TurboSmsTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/TurboSms/Tests/TurboSmsTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new TurboSmsTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'turbosms://host.test?from=acme', @@ -38,18 +38,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'turbosms://authToken@default?from=acme']; yield [false, 'somethingElse://authToken@default?from=acme']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['turbosms://authToken@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://authToken@default?from=acme']; yield ['somethingElse://authToken@default']; diff --git a/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/TwilioTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/TwilioTransportFactoryTest.php index a9f46e6103bef..c9e78fc91b974 100644 --- a/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/TwilioTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/TwilioTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new TwilioTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'twilio://host.test?from=0611223344', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'twilio://accountSid:authToken@default?from=0611223344']; yield [false, 'somethingElse://accountSid:authToken@default?from=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['twilio://accountSid:authToken@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://accountSid:authToken@default?from=0611223344']; yield ['somethingElse://accountSid:authToken@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/TwilioTransportTest.php b/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/TwilioTransportTest.php index a25a79ff57162..e48e41f4d4040 100644 --- a/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/TwilioTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/TwilioTransportTest.php @@ -61,7 +61,7 @@ public function testInvalidArgumentExceptionIsThrownIfFromIsInvalid(string $from $transport->send(new SmsMessage('+33612345678', 'Hello!')); } - public function invalidFromProvider(): iterable + public static function invalidFromProvider(): iterable { // alphanumeric sender ids yield 'too short' => ['a']; diff --git a/src/Symfony/Component/Notifier/Bridge/Vonage/Tests/VonageTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Vonage/Tests/VonageTransportFactoryTest.php index b25b549828847..dd983c5b14005 100644 --- a/src/Symfony/Component/Notifier/Bridge/Vonage/Tests/VonageTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Vonage/Tests/VonageTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new VonageTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'vonage://host.test?from=0611223344', @@ -33,18 +33,18 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'vonage://apiKey:apiSecret@default?from=0611223344']; yield [false, 'somethingElse://apiKey:apiSecret@default?from=0611223344']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: from' => ['vonage://apiKey:apiSecret@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://apiKey:apiSecret@default?from=0611223344']; yield ['somethingElse://apiKey:apiSecret@default']; // missing "from" option diff --git a/src/Symfony/Component/Notifier/Bridge/Yunpian/Tests/YunpianTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Yunpian/Tests/YunpianTransportFactoryTest.php index dfa5a23b735b7..737c228800189 100644 --- a/src/Symfony/Component/Notifier/Bridge/Yunpian/Tests/YunpianTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Yunpian/Tests/YunpianTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new YunpianTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'yunpian://host.test', @@ -33,13 +33,13 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'yunpian://api_key@default']; yield [false, 'somethingElse://api_key@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://api_key@default']; } diff --git a/src/Symfony/Component/Notifier/Bridge/Zulip/Tests/ZulipTransportFactoryTest.php b/src/Symfony/Component/Notifier/Bridge/Zulip/Tests/ZulipTransportFactoryTest.php index 77c1b3f5f709d..438973b1b7393 100644 --- a/src/Symfony/Component/Notifier/Bridge/Zulip/Tests/ZulipTransportFactoryTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Zulip/Tests/ZulipTransportFactoryTest.php @@ -25,7 +25,7 @@ public function createFactory(): TransportFactoryInterface return new ZulipTransportFactory(); } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'zulip://host.test?channel=testChannel', @@ -33,23 +33,23 @@ public function createProvider(): iterable ]; } - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'zulip://host?channel=testChannel']; yield [false, 'somethingElse://host?channel=testChannel']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield 'missing email or token' => ['zulip://testOneOfEmailOrToken@host.test?channel=testChannel']; } - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { yield 'missing option: channel' => ['zulip://email:token@host']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://email:token@host?channel=testChannel']; yield ['somethingElse://email:token@host']; // missing "channel" option diff --git a/src/Symfony/Component/Notifier/Test/TransportFactoryTestCase.php b/src/Symfony/Component/Notifier/Test/TransportFactoryTestCase.php index c9fd99ee75007..706cdea506656 100644 --- a/src/Symfony/Component/Notifier/Test/TransportFactoryTestCase.php +++ b/src/Symfony/Component/Notifier/Test/TransportFactoryTestCase.php @@ -31,17 +31,17 @@ abstract public function createFactory(): TransportFactoryInterface; /** * @return iterable */ - abstract public function supportsProvider(): iterable; + abstract public static function supportsProvider(): iterable; /** * @return iterable */ - abstract public function createProvider(): iterable; + abstract public static function createProvider(): iterable; /** * @return iterable */ - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { return []; } @@ -49,7 +49,7 @@ public function unsupportedSchemeProvider(): iterable /** * @return iterable */ - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { return []; } @@ -57,7 +57,7 @@ public function incompleteDsnProvider(): iterable /** * @return iterable */ - public function missingRequiredOptionProvider(): iterable + public static function missingRequiredOptionProvider(): iterable { return []; } diff --git a/src/Symfony/Component/Security/Core/CHANGELOG.md b/src/Symfony/Component/Security/Core/CHANGELOG.md index 2ee6d1a20f68a..d466a99ed9e7a 100644 --- a/src/Symfony/Component/Security/Core/CHANGELOG.md +++ b/src/Symfony/Component/Security/Core/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +5.4.21 +------ + + * [BC BREAK] `AccessDecisionStrategyTestCase::provideStrategyTests()` is now static + 5.4 --- diff --git a/src/Symfony/Component/Security/Core/Test/AccessDecisionStrategyTestCase.php b/src/Symfony/Component/Security/Core/Test/AccessDecisionStrategyTestCase.php index 0463448047fd7..d542588fe9ff6 100644 --- a/src/Symfony/Component/Security/Core/Test/AccessDecisionStrategyTestCase.php +++ b/src/Symfony/Component/Security/Core/Test/AccessDecisionStrategyTestCase.php @@ -40,7 +40,7 @@ final public function testDecide(AccessDecisionStrategyInterface $strategy, arra /** * @return iterable */ - abstract public function provideStrategyTests(): iterable; + abstract public static function provideStrategyTests(): iterable; /** * @return VoterInterface[] diff --git a/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/AffirmativeStrategyTest.php b/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/AffirmativeStrategyTest.php index 055809dc70432..b467a920b0f67 100644 --- a/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/AffirmativeStrategyTest.php +++ b/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/AffirmativeStrategyTest.php @@ -16,7 +16,7 @@ class AffirmativeStrategyTest extends AccessDecisionStrategyTestCase { - public function provideStrategyTests(): iterable + public static function provideStrategyTests(): iterable { $strategy = new AffirmativeStrategy(); diff --git a/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/ConsensusStrategyTest.php b/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/ConsensusStrategyTest.php index 69a3f789ee00b..bde6fb0d624b7 100644 --- a/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/ConsensusStrategyTest.php +++ b/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/ConsensusStrategyTest.php @@ -16,7 +16,7 @@ class ConsensusStrategyTest extends AccessDecisionStrategyTestCase { - public function provideStrategyTests(): iterable + public static function provideStrategyTests(): iterable { $strategy = new ConsensusStrategy(); diff --git a/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/PriorityStrategyTest.php b/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/PriorityStrategyTest.php index 15c4adc6453f4..aef3aaf0b27e3 100644 --- a/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/PriorityStrategyTest.php +++ b/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/PriorityStrategyTest.php @@ -17,7 +17,7 @@ class PriorityStrategyTest extends AccessDecisionStrategyTestCase { - public function provideStrategyTests(): iterable + public static function provideStrategyTests(): iterable { $strategy = new PriorityStrategy(); diff --git a/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/UnanimousStrategyTest.php b/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/UnanimousStrategyTest.php index 29382d0961964..e00a50e3186ba 100644 --- a/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/UnanimousStrategyTest.php +++ b/src/Symfony/Component/Security/Core/Tests/Authorization/Strategy/UnanimousStrategyTest.php @@ -16,7 +16,7 @@ class UnanimousStrategyTest extends AccessDecisionStrategyTestCase { - public function provideStrategyTests(): iterable + public static function provideStrategyTests(): iterable { $strategy = new UnanimousStrategy(); diff --git a/src/Symfony/Component/Translation/Bridge/Crowdin/Tests/CrowdinProviderFactoryTest.php b/src/Symfony/Component/Translation/Bridge/Crowdin/Tests/CrowdinProviderFactoryTest.php index e8b641d169a0c..f6013bd226c1f 100644 --- a/src/Symfony/Component/Translation/Bridge/Crowdin/Tests/CrowdinProviderFactoryTest.php +++ b/src/Symfony/Component/Translation/Bridge/Crowdin/Tests/CrowdinProviderFactoryTest.php @@ -17,13 +17,13 @@ class CrowdinProviderFactoryTest extends ProviderFactoryTestCase { - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'crowdin://PROJECT_ID:API_TOKEN@default']; yield [false, 'somethingElse://PROJECT_ID:API_TOKEN@default']; } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'crowdin://api.crowdin.com', @@ -36,12 +36,12 @@ public function createProvider(): iterable ]; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://API_TOKEN@default']; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield ['crowdin://default']; } diff --git a/src/Symfony/Component/Translation/Bridge/Crowdin/Tests/CrowdinProviderTest.php b/src/Symfony/Component/Translation/Bridge/Crowdin/Tests/CrowdinProviderTest.php index 8ecee4d1bfe95..1cb0b5d54e88f 100644 --- a/src/Symfony/Component/Translation/Bridge/Crowdin/Tests/CrowdinProviderTest.php +++ b/src/Symfony/Component/Translation/Bridge/Crowdin/Tests/CrowdinProviderTest.php @@ -28,41 +28,41 @@ class CrowdinProviderTest extends ProviderTestCase { - public function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface + public static function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface { - return new CrowdinProvider($client, $loader, $logger, $this->getXliffFileDumper(), $defaultLocale, $endpoint); + return new CrowdinProvider($client, $loader, $logger, self::getXliffFileDumper(), $defaultLocale, $endpoint); } - public function toStringProvider(): iterable + public static function toStringProvider(): iterable { yield [ - $this->createProvider($this->getClient()->withOptions([ + self::createProvider(self::getClient()->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com'), + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com'), 'crowdin://api.crowdin.com', ]; yield [ - $this->createProvider($this->getClient()->withOptions([ + self::createProvider(self::getClient()->withOptions([ 'base_uri' => 'https://domain.api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'domain.api.crowdin.com'), + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'domain.api.crowdin.com'), 'crowdin://domain.api.crowdin.com', ]; yield [ - $this->createProvider($this->getClient()->withOptions([ + self::createProvider(self::getClient()->withOptions([ 'base_uri' => 'https://api.crowdin.com:99/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com:99'), + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com:99'), 'crowdin://api.crowdin.com:99', ]; } public function testCompleteWriteProcessAddFiles() { - $this->xliffFileDumper = new XliffFileDumper(); + self::$xliffFileDumper = new XliffFileDumper(); $expectedMessagesFileContent = <<<'XLIFF' @@ -151,14 +151,14 @@ public function testCompleteWriteProcessAddFiles() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); $provider->write($translatorBag); } public function testWriteAddFileServerError() { - $this->xliffFileDumper = new XliffFileDumper(); + self::$xliffFileDumper = new XliffFileDumper(); $expectedMessagesFileContent = <<<'XLIFF' @@ -213,7 +213,7 @@ public function testWriteAddFileServerError() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to create a File in Crowdin for domain "messages".'); @@ -223,7 +223,7 @@ public function testWriteAddFileServerError() public function testWriteUpdateFileServerError() { - $this->xliffFileDumper = new XliffFileDumper(); + self::$xliffFileDumper = new XliffFileDumper(); $expectedMessagesFileContent = <<<'XLIFF' @@ -285,7 +285,7 @@ public function testWriteUpdateFileServerError() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to update file in Crowdin for file ID "12" and domain "messages".'); @@ -295,7 +295,7 @@ public function testWriteUpdateFileServerError() public function testWriteUploadTranslationsServerError() { - $this->xliffFileDumper = new XliffFileDumper(); + self::$xliffFileDumper = new XliffFileDumper(); $expectedMessagesTranslationsContent = <<<'XLIFF' @@ -392,7 +392,7 @@ public function testWriteUploadTranslationsServerError() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to upload translations to Crowdin.'); @@ -402,7 +402,7 @@ public function testWriteUploadTranslationsServerError() public function testCompleteWriteProcessUpdateFiles() { - $this->xliffFileDumper = new XliffFileDumper(); + self::$xliffFileDumper = new XliffFileDumper(); $expectedMessagesFileContent = <<<'XLIFF' @@ -466,7 +466,7 @@ public function testCompleteWriteProcessUpdateFiles() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); $provider->write($translatorBag); } @@ -476,7 +476,7 @@ public function testCompleteWriteProcessUpdateFiles() */ public function testCompleteWriteProcessAddFileAndUploadTranslations(TranslatorBag $translatorBag, string $expectedLocale, string $expectedMessagesTranslationsContent) { - $this->xliffFileDumper = new XliffFileDumper(); + self::$xliffFileDumper = new XliffFileDumper(); $expectedMessagesFileContent = <<<'XLIFF' @@ -547,12 +547,12 @@ public function testCompleteWriteProcessAddFileAndUploadTranslations(TranslatorB $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); $provider->write($translatorBag); } - public function getResponsesForProcessAddFileAndUploadTranslations(): \Generator + public static function getResponsesForProcessAddFileAndUploadTranslations(): \Generator { $arrayLoader = new ArrayLoader(); @@ -645,22 +645,22 @@ public function testReadForOneLocaleAndOneDomain(string $locale, string $domain, }, ]; - $loader = $this->getLoader(); - $loader->expects($this->once()) + static::$loader = $this->createMock(LoaderInterface::class); + static::$loader->expects($this->once()) ->method('load') ->willReturn($expectedTranslatorBag->getCatalogue($locale)); $crowdinProvider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2'); $translatorBag = $crowdinProvider->read([$domain], [$locale]); $this->assertEquals($expectedTranslatorBag->getCatalogues(), $translatorBag->getCatalogues()); } - public function getResponsesForOneLocaleAndOneDomain(): \Generator + public static function getResponsesForOneLocaleAndOneDomain(): \Generator { $arrayLoader = new ArrayLoader(); @@ -758,7 +758,7 @@ public function testReadForDefaultLocaleAndOneDomain(string $locale, string $dom }, ]; - $loader = $this->getLoader(); + $loader = $this->createMock(LoaderInterface::class); $loader->expects($this->once()) ->method('load') ->willReturn($expectedTranslatorBag->getCatalogue($locale)); @@ -766,14 +766,14 @@ public function testReadForDefaultLocaleAndOneDomain(string $locale, string $dom $crowdinProvider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2'); + ]), $loader, self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2'); $translatorBag = $crowdinProvider->read([$domain], [$locale]); $this->assertEquals($expectedTranslatorBag->getCatalogues(), $translatorBag->getCatalogues()); } - public function getResponsesForDefaultLocaleAndOneDomain(): \Generator + public static function getResponsesForDefaultLocaleAndOneDomain(): \Generator { $arrayLoader = new ArrayLoader(); @@ -835,7 +835,7 @@ public function testReadServerException() $crowdinProvider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to export file.'); @@ -876,7 +876,7 @@ public function testReadDownloadServerException() $crowdinProvider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to download file content.'); @@ -948,7 +948,7 @@ public function testDelete() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); $provider->delete($translatorBag); } @@ -987,7 +987,7 @@ public function testDeleteListStringServerException() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to list strings for file "12".'); @@ -1052,7 +1052,7 @@ public function testDeleteDeleteStringServerException() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://api.crowdin.com/api/v2/projects/1/', 'auth_bearer' => 'API_TOKEN', - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.crowdin.com/api/v2/projects/1/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to delete string.'); diff --git a/src/Symfony/Component/Translation/Bridge/Crowdin/composer.json b/src/Symfony/Component/Translation/Bridge/Crowdin/composer.json index 86bbd01dc7ee2..438ab7e01743d 100644 --- a/src/Symfony/Component/Translation/Bridge/Crowdin/composer.json +++ b/src/Symfony/Component/Translation/Bridge/Crowdin/composer.json @@ -23,7 +23,7 @@ "php": ">=7.2.5", "symfony/config": "^5.3|^6.0", "symfony/http-client": "^5.3|^6.0", - "symfony/translation": "^5.3|^6.0" + "symfony/translation": "^5.4.21|^6.2.7" }, "autoload": { "psr-4": { "Symfony\\Component\\Translation\\Bridge\\Crowdin\\": "" }, diff --git a/src/Symfony/Component/Translation/Bridge/Loco/Tests/LocoProviderFactoryTest.php b/src/Symfony/Component/Translation/Bridge/Loco/Tests/LocoProviderFactoryTest.php index 8afb429dfd784..4e928ad2ffe55 100644 --- a/src/Symfony/Component/Translation/Bridge/Loco/Tests/LocoProviderFactoryTest.php +++ b/src/Symfony/Component/Translation/Bridge/Loco/Tests/LocoProviderFactoryTest.php @@ -17,18 +17,18 @@ class LocoProviderFactoryTest extends ProviderFactoryTestCase { - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'loco://API_KEY@default']; yield [false, 'somethingElse://API_KEY@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://API_KEY@default']; } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'loco://localise.biz', @@ -36,7 +36,7 @@ public function createProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield ['loco://default']; } diff --git a/src/Symfony/Component/Translation/Bridge/Loco/Tests/LocoProviderTest.php b/src/Symfony/Component/Translation/Bridge/Loco/Tests/LocoProviderTest.php index e38f9bf37f0a6..f47b97ca5d901 100644 --- a/src/Symfony/Component/Translation/Bridge/Loco/Tests/LocoProviderTest.php +++ b/src/Symfony/Component/Translation/Bridge/Loco/Tests/LocoProviderTest.php @@ -28,40 +28,40 @@ class LocoProviderTest extends ProviderTestCase { - public function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface + public static function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface { return new LocoProvider($client, $loader, $logger, $defaultLocale, $endpoint); } - public function toStringProvider(): iterable + public static function toStringProvider(): iterable { yield [ - $this->createProvider($this->getClient()->withOptions([ + self::createProvider(self::getClient()->withOptions([ 'base_uri' => 'https://localise.biz/api/', 'headers' => [ 'Authorization' => 'Loco API_KEY', ], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'), + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'), 'loco://localise.biz/api/', ]; yield [ - $this->createProvider($this->getClient()->withOptions([ + self::createProvider(self::getClient()->withOptions([ 'base_uri' => 'https://example.com', 'headers' => [ 'Authorization' => 'Loco API_KEY', ], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'example.com'), + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'example.com'), 'loco://example.com', ]; yield [ - $this->createProvider($this->getClient()->withOptions([ + self::createProvider(self::getClient()->withOptions([ 'base_uri' => 'https://example.com:99', 'headers' => [ 'Authorization' => 'Loco API_KEY', ], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'example.com:99'), + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'example.com:99'), 'loco://example.com:99', ]; } @@ -246,7 +246,7 @@ public function testCompleteWriteProcess() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://localise.biz/api/', 'headers' => ['Authorization' => 'Loco API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $provider->write($translatorBag); } @@ -280,7 +280,7 @@ public function testWriteCreateAssetServerError() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://localise.biz/api/', 'headers' => ['Authorization' => 'Loco API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to add new translation key "a" to Loco: (status code: "500").'); @@ -332,7 +332,7 @@ public function testWriteCreateTagServerError() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://localise.biz/api/', 'headers' => ['Authorization' => 'Loco API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to create tag "messages" on Loco.'); @@ -392,7 +392,7 @@ public function testWriteTagAssetsServerError() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://localise.biz/api/', 'headers' => ['Authorization' => 'Loco API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to tag assets with "messages" on Loco.'); @@ -452,7 +452,7 @@ public function testWriteTagAssetsServerErrorWithComma() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://localise.biz/api/', 'headers' => ['Authorization' => 'Loco API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to tag asset "messages__a,messages__b" with "messages" on Loco.'); @@ -526,7 +526,7 @@ public function testWriteCreateLocaleServerError() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://localise.biz/api/', 'headers' => ['Authorization' => 'Loco API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to create locale "en" on Loco.'); @@ -603,7 +603,7 @@ public function testWriteGetAssetsIdsServerError() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://localise.biz/api/', 'headers' => ['Authorization' => 'Loco API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to get assets from Loco.'); @@ -688,7 +688,7 @@ public function testWriteTranslateAssetsServerError() $provider = $this->createProvider((new MockHttpClient($responses))->withOptions([ 'base_uri' => 'https://localise.biz/api/', 'headers' => ['Authorization' => 'Loco API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $this->expectException(ProviderException::class); $this->expectExceptionMessage('Unable to add translation for key "messages__a" in locale "en" to Loco.'); @@ -701,8 +701,8 @@ public function testWriteTranslateAssetsServerError() */ public function testReadForOneLocaleAndOneDomain(string $locale, string $domain, string $responseContent, TranslatorBag $expectedTranslatorBag) { - $loader = $this->getLoader(); - $loader->expects($this->once()) + static::$loader = $this->createMock(LoaderInterface::class); + static::$loader->expects($this->once()) ->method('load') ->willReturn((new XliffFileLoader())->load($responseContent, $locale, $domain)); @@ -711,7 +711,7 @@ public function testReadForOneLocaleAndOneDomain(string $locale, string $domain, 'headers' => [ 'Authorization' => 'Loco API_KEY', ], - ]), $loader, $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $translatorBag = $provider->read([$domain], [$locale]); // We don't want to assert equality of metadata here, due to the ArrayLoader usage. foreach ($translatorBag->getCatalogues() as $catalogue) { @@ -738,8 +738,8 @@ public function testReadForManyLocalesAndManyDomains(array $locales, array $doma } } - $loader = $this->getLoader(); - $loader->expects($this->exactly(\count($consecutiveLoadArguments))) + static::$loader = $this->createMock(LoaderInterface::class); + static::$loader->expects($this->exactly(\count($consecutiveLoadArguments))) ->method('load') ->withConsecutive(...$consecutiveLoadArguments) ->willReturnOnConsecutiveCalls(...$consecutiveLoadReturns); @@ -749,7 +749,7 @@ public function testReadForManyLocalesAndManyDomains(array $locales, array $doma 'headers' => [ 'Authorization' => 'Loco API_KEY', ], - ]), $loader, $this->getLogger(), $this->getDefaultLocale(), 'localise.biz/api/'); + ]), static::getLoader(), self::getLogger(), self::getDefaultLocale(), 'localise.biz/api/'); $translatorBag = $provider->read($domains, $locales); // We don't want to assert equality of metadata here, due to the ArrayLoader usage. foreach ($translatorBag->getCatalogues() as $catalogue) { @@ -800,9 +800,9 @@ function (string $method, string $url): MockResponse { return new MockResponse(); }, ], 'https://localise.biz/api/'), - $this->getLoader(), - $this->getLogger(), - $this->getDefaultLocale(), + self::getLoader(), + self::getLogger(), + self::getDefaultLocale(), 'localise.biz/api/' ); @@ -832,9 +832,9 @@ function (string $method, string $url): MockResponse { return new MockResponse('', ['http_code' => 500]); }, ], 'https://localise.biz/api/'), - $this->getLoader(), - $this->getLogger(), - $this->getDefaultLocale(), + self::getLoader(), + self::getLogger(), + self::getDefaultLocale(), 'localise.biz/api/' ); @@ -844,7 +844,7 @@ function (string $method, string $url): MockResponse { $provider->delete($translatorBag); } - public function getResponsesForOneLocaleAndOneDomain(): \Generator + public static function getResponsesForOneLocaleAndOneDomain(): \Generator { $arrayLoader = new ArrayLoader(); @@ -909,7 +909,7 @@ public function getResponsesForOneLocaleAndOneDomain(): \Generator ]; } - public function getResponsesForManyLocalesAndManyDomains(): \Generator + public static function getResponsesForManyLocalesAndManyDomains(): \Generator { $arrayLoader = new ArrayLoader(); diff --git a/src/Symfony/Component/Translation/Bridge/Loco/composer.json b/src/Symfony/Component/Translation/Bridge/Loco/composer.json index 01f804e339a90..de6352c288e53 100644 --- a/src/Symfony/Component/Translation/Bridge/Loco/composer.json +++ b/src/Symfony/Component/Translation/Bridge/Loco/composer.json @@ -20,7 +20,7 @@ "symfony/http-client": "^5.3|^6.0", "symfony/config": "^5.3|^6.0", "symfony/polyfill-php80": "^1.23", - "symfony/translation": "^5.3|^6.0" + "symfony/translation": "^5.4.21|^6.2.7" }, "autoload": { "psr-4": { "Symfony\\Component\\Translation\\Bridge\\Loco\\": "" }, diff --git a/src/Symfony/Component/Translation/Bridge/Lokalise/Tests/LokaliseProviderFactoryTest.php b/src/Symfony/Component/Translation/Bridge/Lokalise/Tests/LokaliseProviderFactoryTest.php index df9ce688f8791..7e18188c3f625 100644 --- a/src/Symfony/Component/Translation/Bridge/Lokalise/Tests/LokaliseProviderFactoryTest.php +++ b/src/Symfony/Component/Translation/Bridge/Lokalise/Tests/LokaliseProviderFactoryTest.php @@ -20,18 +20,18 @@ class LokaliseProviderFactoryTest extends ProviderFactoryTestCase { - public function supportsProvider(): iterable + public static function supportsProvider(): iterable { yield [true, 'lokalise://PROJECT_ID:API_KEY@default']; yield [false, 'somethingElse://PROJECT_ID:API_KEY@default']; } - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { yield ['somethingElse://PROJECT_ID:API_KEY@default']; } - public function createProvider(): iterable + public static function createProvider(): iterable { yield [ 'lokalise://api.lokalise.com', @@ -39,7 +39,7 @@ public function createProvider(): iterable ]; } - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { yield ['lokalise://default']; } diff --git a/src/Symfony/Component/Translation/Bridge/Lokalise/Tests/LokaliseProviderTest.php b/src/Symfony/Component/Translation/Bridge/Lokalise/Tests/LokaliseProviderTest.php index 0c3b7d511aa43..14a420c4d0124 100644 --- a/src/Symfony/Component/Translation/Bridge/Lokalise/Tests/LokaliseProviderTest.php +++ b/src/Symfony/Component/Translation/Bridge/Lokalise/Tests/LokaliseProviderTest.php @@ -28,34 +28,34 @@ class LokaliseProviderTest extends ProviderTestCase { - public function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface + public static function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface { return new LokaliseProvider($client, $loader, $logger, $defaultLocale, $endpoint); } - public function toStringProvider(): iterable + public static function toStringProvider(): iterable { yield [ - $this->createProvider($this->getClient()->withOptions([ + self::createProvider(self::getclient()->withOptions([ 'base_uri' => 'https://api.lokalise.com/api2/projects/PROJECT_ID/', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.lokalise.com'), + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.lokalise.com'), 'lokalise://api.lokalise.com', ]; yield [ - $this->createProvider($this->getClient()->withOptions([ + self::createProvider(self::getclient()->withOptions([ 'base_uri' => 'https://example.com', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'example.com'), + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'example.com'), 'lokalise://example.com', ]; yield [ - $this->createProvider($this->getClient()->withOptions([ + self::createProvider(self::getclient()->withOptions([ 'base_uri' => 'https://example.com:99', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'example.com:99'), + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'example.com:99'), 'lokalise://example.com:99', ]; } @@ -221,7 +221,7 @@ public function testCompleteWriteProcess() return new MockResponse(); }; - $provider = $this->createProvider((new MockHttpClient([ + $provider = self::createProvider((new MockHttpClient([ $getLanguagesResponse, $createLanguagesResponse, $getKeysIdsForMessagesDomainResponse, @@ -232,7 +232,7 @@ public function testCompleteWriteProcess() ]))->withOptions([ 'base_uri' => 'https://api.lokalise.com/api2/projects/PROJECT_ID/', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.lokalise.com'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.lokalise.com'); $translatorBag = new TranslatorBag(); $translatorBag->addCatalogue(new MessageCatalogue('en', [ @@ -257,12 +257,12 @@ public function testWriteGetLanguageServerError() return new MockResponse('', ['http_code' => 500]); }; - $provider = $this->createProvider((new MockHttpClient([ + $provider = self::createProvider((new MockHttpClient([ $getLanguagesResponse, ]))->withOptions([ 'base_uri' => 'https://api.lokalise.com/api2/projects/PROJECT_ID/', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.lokalise.com'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.lokalise.com'); $translatorBag = new TranslatorBag(); $translatorBag->addCatalogue(new MessageCatalogue('en', [ @@ -298,13 +298,13 @@ public function testWriteCreateLanguageServerError() return new MockResponse('', ['http_code' => 500]); }; - $provider = $this->createProvider((new MockHttpClient([ + $provider = self::createProvider((new MockHttpClient([ $getLanguagesResponse, $createLanguagesResponse, ]))->withOptions([ 'base_uri' => 'https://api.lokalise.com/api2/projects/PROJECT_ID/', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.lokalise.com'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.lokalise.com'); $translatorBag = new TranslatorBag(); $translatorBag->addCatalogue(new MessageCatalogue('en', [ @@ -355,14 +355,14 @@ public function testWriteGetKeysIdsServerError() return new MockResponse('', ['http_code' => 500]); }; - $provider = $this->createProvider((new MockHttpClient([ + $provider = self::createProvider((new MockHttpClient([ $getLanguagesResponse, $createLanguagesResponse, $getKeysIdsForMessagesDomainResponse, ]))->withOptions([ 'base_uri' => 'https://api.lokalise.com/api2/projects/PROJECT_ID/', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.lokalise.com'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.lokalise.com'); $translatorBag = new TranslatorBag(); $translatorBag->addCatalogue(new MessageCatalogue('en', [ @@ -435,7 +435,7 @@ public function testWriteCreateKeysServerError() return new MockResponse('', ['http_code' => 500]); }; - $provider = $this->createProvider((new MockHttpClient([ + $provider = self::createProvider((new MockHttpClient([ $getLanguagesResponse, $createLanguagesResponse, $getKeysIdsForMessagesDomainResponse, @@ -443,7 +443,7 @@ public function testWriteCreateKeysServerError() ]))->withOptions([ 'base_uri' => 'https://api.lokalise.com/api2/projects/PROJECT_ID/', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.lokalise.com'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.lokalise.com'); $translatorBag = new TranslatorBag(); $translatorBag->addCatalogue(new MessageCatalogue('en', [ @@ -527,7 +527,7 @@ public function testWriteUploadTranslationsServerError() return new MockResponse('', ['http_code' => 500]); }; - $provider = $this->createProvider((new MockHttpClient([ + $provider = self::createProvider((new MockHttpClient([ $getLanguagesResponse, $createLanguagesResponse, $getKeysIdsForMessagesDomainResponse, @@ -536,7 +536,7 @@ public function testWriteUploadTranslationsServerError() ]))->withOptions([ 'base_uri' => 'https://api.lokalise.com/api2/projects/PROJECT_ID/', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $this->getLoader(), $this->getLogger(), $this->getDefaultLocale(), 'api.lokalise.com'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.lokalise.com'); $translatorBag = new TranslatorBag(); $translatorBag->addCatalogue(new MessageCatalogue('en', [ @@ -580,15 +580,15 @@ public function testReadForOneLocaleAndOneDomain(string $locale, string $domain, ])); }; - $loader = $this->getLoader(); - $loader->expects($this->once()) + static::$loader = $this->createMock(LoaderInterface::class); + static::$loader->expects($this->once()) ->method('load') ->willReturn((new XliffFileLoader())->load($responseContent, $locale, $domain)); - $provider = $this->createProvider((new MockHttpClient($response))->withOptions([ + $provider = self::createProvider((new MockHttpClient($response))->withOptions([ 'base_uri' => 'https://api.lokalise.com/api2/projects/PROJECT_ID/', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $loader, $this->getLogger(), $this->getDefaultLocale(), 'api.lokalise.com'); + ]), self::getLoader(), self::getLogger(), self::getDefaultLocale(), 'api.lokalise.com'); $translatorBag = $provider->read([$domain], [$locale]); // We don't want to assert equality of metadata here, due to the ArrayLoader usage. @@ -623,16 +623,16 @@ public function testReadForManyLocalesAndManyDomains(array $locales, array $doma }, []), ])); - $loader = $this->getLoader(); + $loader = self::getLoader(); $loader->expects($this->exactly(\count($consecutiveLoadArguments))) ->method('load') ->withConsecutive(...$consecutiveLoadArguments) ->willReturnOnConsecutiveCalls(...$consecutiveLoadReturns); - $provider = $this->createProvider((new MockHttpClient($response))->withOptions([ + $provider = self::createProvider((new MockHttpClient($response))->withOptions([ 'base_uri' => 'https://api.lokalise.com/api2/projects/PROJECT_ID/', 'headers' => ['X-Api-Token' => 'API_KEY'], - ]), $loader, $this->getLogger(), $this->getDefaultLocale(), 'api.lokalise.com'); + ]), $loader, self::getLogger(), self::getDefaultLocale(), 'api.lokalise.com'); $translatorBag = $provider->read($domains, $locales); // We don't want to assert equality of metadata here, due to the ArrayLoader usage. @@ -708,22 +708,22 @@ public function testDeleteProcess() 'domain_without_missing_messages' => [], ])); - $provider = $this->createProvider( + $provider = self::createProvider( new MockHttpClient([ $getKeysIdsForMessagesDomainResponse, $getKeysIdsForValidatorsDomainResponse, $deleteResponse, ], 'https://api.lokalise.com/api2/projects/PROJECT_ID/'), - $this->getLoader(), - $this->getLogger(), - $this->getDefaultLocale(), + self::getLoader(), + self::getLogger(), + self::getDefaultLocale(), 'api.lokalise.com' ); $provider->delete($translatorBag); } - public function getResponsesForOneLocaleAndOneDomain(): \Generator + public static function getResponsesForOneLocaleAndOneDomain(): \Generator { $arrayLoader = new ArrayLoader(); @@ -788,7 +788,7 @@ public function getResponsesForOneLocaleAndOneDomain(): \Generator ]; } - public function getResponsesForManyLocalesAndManyDomains(): \Generator + public static function getResponsesForManyLocalesAndManyDomains(): \Generator { $arrayLoader = new ArrayLoader(); diff --git a/src/Symfony/Component/Translation/Bridge/Lokalise/composer.json b/src/Symfony/Component/Translation/Bridge/Lokalise/composer.json index a6904d6e63ffc..944a7dff5d2b6 100644 --- a/src/Symfony/Component/Translation/Bridge/Lokalise/composer.json +++ b/src/Symfony/Component/Translation/Bridge/Lokalise/composer.json @@ -19,7 +19,7 @@ "php": ">=7.2.5", "symfony/config": "^5.3|^6.0", "symfony/http-client": "^5.3|^6.0", - "symfony/translation": "^5.3|^6.0" + "symfony/translation": "^5.4.21|^6.2.7" }, "autoload": { "psr-4": { "Symfony\\Component\\Translation\\Bridge\\Lokalise\\": "" }, diff --git a/src/Symfony/Component/Translation/CHANGELOG.md b/src/Symfony/Component/Translation/CHANGELOG.md index 160b5e694fbcb..93615dcac2368 100644 --- a/src/Symfony/Component/Translation/CHANGELOG.md +++ b/src/Symfony/Component/Translation/CHANGELOG.md @@ -1,6 +1,13 @@ CHANGELOG ========= +5.4.21 +------ + + * [BC BREAK] The following data providers for `ProviderFactoryTestCase` are now static: + `supportsProvider()`, `createProvider()`, `unsupportedSchemeProvider()`and `incompleteDsnProvider()` + * [BC BREAK] `ProviderTestCase::toStringProvider()` is now static + 5.4 --- diff --git a/src/Symfony/Component/Translation/Test/ProviderFactoryTestCase.php b/src/Symfony/Component/Translation/Test/ProviderFactoryTestCase.php index 6d5f4b7bf7dca..5df82ebe227da 100644 --- a/src/Symfony/Component/Translation/Test/ProviderFactoryTestCase.php +++ b/src/Symfony/Component/Translation/Test/ProviderFactoryTestCase.php @@ -42,17 +42,17 @@ abstract public function createFactory(): ProviderFactoryInterface; /** * @return iterable */ - abstract public function supportsProvider(): iterable; + abstract public static function supportsProvider(): iterable; /** - * @return iterable + * @return iterable */ - abstract public function createProvider(): iterable; + abstract public static function createProvider(): iterable; /** * @return iterable */ - public function unsupportedSchemeProvider(): iterable + public static function unsupportedSchemeProvider(): iterable { return []; } @@ -60,7 +60,7 @@ public function unsupportedSchemeProvider(): iterable /** * @return iterable */ - public function incompleteDsnProvider(): iterable + public static function incompleteDsnProvider(): iterable { return []; } diff --git a/src/Symfony/Component/Translation/Test/ProviderTestCase.php b/src/Symfony/Component/Translation/Test/ProviderTestCase.php index f47affccd7390..692ca9843705a 100644 --- a/src/Symfony/Component/Translation/Test/ProviderTestCase.php +++ b/src/Symfony/Component/Translation/Test/ProviderTestCase.php @@ -13,9 +13,11 @@ use PHPUnit\Framework\TestCase; use Psr\Log\LoggerInterface; +use Psr\Log\NullLogger; use Symfony\Component\HttpClient\MockHttpClient; use Symfony\Component\Translation\Dumper\XliffFileDumper; use Symfony\Component\Translation\Loader\LoaderInterface; +use Symfony\Component\Translation\MessageCatalogue; use Symfony\Component\Translation\Provider\ProviderInterface; use Symfony\Contracts\HttpClient\HttpClientInterface; @@ -28,18 +30,18 @@ */ abstract class ProviderTestCase extends TestCase { - protected $client; - protected $logger; - protected $defaultLocale; - protected $loader; - protected $xliffFileDumper; + protected static $client; + protected static $logger; + protected static $defaultLocale; + protected static $loader; + protected static $xliffFileDumper; - abstract public function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface; + abstract public static function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface; /** * @return iterable */ - abstract public function toStringProvider(): iterable; + abstract public static function toStringProvider(): iterable; /** * @dataProvider toStringProvider @@ -49,28 +51,33 @@ public function testToString(ProviderInterface $provider, string $expected) $this->assertSame($expected, (string) $provider); } - protected function getClient(): MockHttpClient + protected static function getClient(): MockHttpClient { - return $this->client ?? $this->client = new MockHttpClient(); + return static::$client ?? static::$client = new MockHttpClient(); } - protected function getLoader(): LoaderInterface + protected static function getLoader(): LoaderInterface { - return $this->loader ?? $this->loader = $this->createMock(LoaderInterface::class); + return static::$loader ?? static::$loader = new class() implements LoaderInterface { + public function load($resource, string $locale, string $domain = 'messages'): MessageCatalogue + { + return new MessageCatalogue($locale); + } + }; } - protected function getLogger(): LoggerInterface + protected static function getLogger(): LoggerInterface { - return $this->logger ?? $this->logger = $this->createMock(LoggerInterface::class); + return static::$logger ?? static::$logger = new NullLogger(); } - protected function getDefaultLocale(): string + protected static function getDefaultLocale(): string { - return $this->defaultLocale ?? $this->defaultLocale = 'en'; + return static::$defaultLocale ?? static::$defaultLocale = 'en'; } - protected function getXliffFileDumper(): XliffFileDumper + protected static function getXliffFileDumper(): XliffFileDumper { - return $this->xliffFileDumper ?? $this->xliffFileDumper = $this->createMock(XliffFileDumper::class); + return static::$xliffFileDumper ?? static::$xliffFileDumper = new XliffFileDumper(); } }