Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Notifier] Make TransportTestCase data providers static (6.2) #49389

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,32 +13,33 @@

use Symfony\Component\Notifier\Bridge\AllMySms\AllMySmsTransport;
use Symfony\Component\Notifier\Message\ChatMessage;
use Symfony\Component\Notifier\Message\MessageInterface;
use Symfony\Component\Notifier\Message\SmsMessage;
use Symfony\Component\Notifier\Test\TransportTestCase;
use Symfony\Component\Notifier\Tests\Fixtures\DummyHttpClient;
use Symfony\Component\Notifier\Tests\Fixtures\DummyMessage;
use Symfony\Contracts\HttpClient\HttpClientInterface;

final class AllMySmsTransportTest extends TransportTestCase
{
public function createTransport(HttpClientInterface $client = null, string $from = null): AllMySmsTransport
public static function createTransport(HttpClientInterface $client = null, string $from = null): AllMySmsTransport
{
return new AllMySmsTransport('login', 'apiKey', $from, $client ?? $this->createMock(HttpClientInterface::class));
return new AllMySmsTransport('login', 'apiKey', $from, $client ?? new DummyHttpClient());
}

public function toStringProvider(): iterable
public static function toStringProvider(): iterable
{
yield ['allmysms://api.allmysms.com', $this->createTransport()];
yield ['allmysms://api.allmysms.com?from=TEST', $this->createTransport(null, 'TEST')];
yield ['allmysms://api.allmysms.com', self::createTransport()];
yield ['allmysms://api.allmysms.com?from=TEST', self::createTransport(null, 'TEST')];
}

public function supportedMessagesProvider(): iterable
public static function supportedMessagesProvider(): iterable
{
yield [new SmsMessage('0611223344', 'Hello!')];
}

public function unsupportedMessagesProvider(): iterable
public static function unsupportedMessagesProvider(): iterable
{
yield [new ChatMessage('Hello!')];
yield [$this->createMock(MessageInterface::class)];
yield [new DummyMessage()];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"require": {
"php": ">=8.1",
"symfony/http-client": "^5.4|^6.0",
"symfony/notifier": "^6.2"
"symfony/notifier": "^6.2.7"
},
"autoload": {
"psr-4": { "Symfony\\Component\\Notifier\\Bridge\\AllMySms\\": "" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,35 @@
use Symfony\Component\Notifier\Bridge\AmazonSns\AmazonSnsTransport;
use Symfony\Component\Notifier\Exception\InvalidArgumentException;
use Symfony\Component\Notifier\Message\ChatMessage;
use Symfony\Component\Notifier\Message\MessageInterface;
use Symfony\Component\Notifier\Message\MessageOptionsInterface;
use Symfony\Component\Notifier\Message\SmsMessage;
use Symfony\Component\Notifier\Test\TransportTestCase;
use Symfony\Component\Notifier\Tests\Fixtures\DummyHttpClient;
use Symfony\Component\Notifier\Tests\Fixtures\DummyMessage;
use Symfony\Component\Notifier\Tests\Fixtures\TestOptions;
use Symfony\Contracts\HttpClient\HttpClientInterface;

class AmazonSnsTransportTest extends TransportTestCase
{
public function createTransport(HttpClientInterface $client = null): AmazonSnsTransport
public static function createTransport(HttpClientInterface $client = null): AmazonSnsTransport
{
return (new AmazonSnsTransport(new SnsClient(['region' => 'eu-west-3']), $client ?? $this->createMock(HttpClientInterface::class)))->setHost('host.test');
return (new AmazonSnsTransport(new SnsClient(['region' => 'eu-west-3']), $client ?? new DummyHttpClient()))->setHost('host.test');
}

public function toStringProvider(): iterable
public static function toStringProvider(): iterable
{
yield ['sns://host.test?region=eu-west-3', $this->createTransport()];
yield ['sns://host.test?region=eu-west-3', self::createTransport()];
}

public function supportedMessagesProvider(): iterable
public static function supportedMessagesProvider(): iterable
{
yield [new SmsMessage('0601020304', 'Hello!')];
yield [new ChatMessage('Hello', new AmazonSnsOptions('my-topic'))];
}

public function unsupportedMessagesProvider(): iterable
public static function unsupportedMessagesProvider(): iterable
{
yield [$this->createMock(MessageInterface::class)];
yield [new ChatMessage('hello', $this->createMock(MessageOptionsInterface::class))];
yield [new DummyMessage()];
yield [new ChatMessage('hello', new TestOptions())];
}

public function testSmsMessageWithFrom()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"require": {
"php": ">=8.1",
"symfony/http-client": "^5.4|^6.0",
"symfony/notifier": "^6.2",
"symfony/notifier": "^6.2.7",
"async-aws/sns": "^1.0"
},
"autoload": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,34 +15,35 @@
use Symfony\Component\Notifier\Bridge\Chatwork\ChatworkTransport;
use Symfony\Component\Notifier\Exception\TransportException;
use Symfony\Component\Notifier\Message\ChatMessage;
use Symfony\Component\Notifier\Message\MessageInterface;
use Symfony\Component\Notifier\Message\SmsMessage;
use Symfony\Component\Notifier\Test\TransportTestCase;
use Symfony\Component\Notifier\Tests\Fixtures\DummyHttpClient;
use Symfony\Component\Notifier\Tests\Fixtures\DummyMessage;
use Symfony\Component\Notifier\Transport\TransportInterface;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use Symfony\Contracts\HttpClient\ResponseInterface;

class ChatworkTransportTest extends TransportTestCase
{
public function createTransport(HttpClientInterface $client = null): TransportInterface
public static function createTransport(HttpClientInterface $client = null): TransportInterface
{
return (new ChatworkTransport('testToken', 'testRoomId', $client ?? $this->createMock(HttpClientInterface::class)))->setHost('host.test');
return (new ChatworkTransport('testToken', 'testRoomId', $client ?? new DummyHttpClient()))->setHost('host.test');
}

public function toStringProvider(): iterable
public static function toStringProvider(): iterable
{
yield ['chatwork://host.test?room_id=testRoomId', $this->createTransport()];
yield ['chatwork://host.test?room_id=testRoomId', self::createTransport()];
}

public function supportedMessagesProvider(): iterable
public static function supportedMessagesProvider(): iterable
{
yield [new ChatMessage('Hello!')];
}

public function unsupportedMessagesProvider(): iterable
public static function unsupportedMessagesProvider(): iterable
{
yield [new SmsMessage('0611223344', 'Hello!')];
yield [$this->createMock(MessageInterface::class)];
yield [new DummyMessage()];
}

public function testWithErrorResponseThrows()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"require": {
"php": ">=8.1",
"symfony/http-client": "^5.4|^6.0",
"symfony/notifier": "^6.2"
"symfony/notifier": "^6.2.7"
},
"autoload": {
"psr-4": { "Symfony\\Component\\Notifier\\Bridge\\Chatwork\\": "" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,36 +19,38 @@
use Symfony\Component\Notifier\Message\MessageInterface;
use Symfony\Component\Notifier\Message\SmsMessage;
use Symfony\Component\Notifier\Test\TransportTestCase;
use Symfony\Component\Notifier\Tests\Fixtures\DummyHttpClient;
use Symfony\Component\Notifier\Tests\Fixtures\DummyMessage;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use Symfony\Contracts\HttpClient\ResponseInterface;

final class ClickatellTransportTest extends TransportTestCase
{
public function createTransport(HttpClientInterface $client = null, string $from = null): ClickatellTransport
public static function createTransport(HttpClientInterface $client = null, string $from = null): ClickatellTransport
{
return new ClickatellTransport('authToken', $from, $client ?? $this->createMock(HttpClientInterface::class));
return new ClickatellTransport('authToken', $from, $client ?? new DummyHttpClient());
}

public function toStringProvider(): iterable
public static function toStringProvider(): iterable
{
yield ['clickatell://api.clickatell.com', $this->createTransport()];
yield ['clickatell://api.clickatell.com?from=TEST', $this->createTransport(null, 'TEST')];
yield ['clickatell://api.clickatell.com', self::createTransport()];
yield ['clickatell://api.clickatell.com?from=TEST', self::createTransport(null, 'TEST')];
}

public function supportedMessagesProvider(): iterable
public static function supportedMessagesProvider(): iterable
{
yield [new SmsMessage('+33612345678', 'Hello!')];
}

public function unsupportedMessagesProvider(): iterable
public static function unsupportedMessagesProvider(): iterable
{
yield [new ChatMessage('Hello!')];
yield [$this->createMock(MessageInterface::class)];
yield [new DummyMessage()];
}

public function testExceptionIsThrownWhenNonMessageIsSend()
{
$transport = $this->createTransport();
$transport = self::createTransport();

$this->expectException(LogicException::class);

Expand All @@ -73,7 +75,7 @@ public function testExceptionIsThrownWhenHttpSendFailed()

$client = new MockHttpClient($response);

$transport = $this->createTransport($client);
$transport = self::createTransport($client);

$this->expectException(TransportException::class);
$this->expectExceptionMessage('Unable to send SMS with Clickatell: Error code 105 with message "Invalid Account Reference EX0000000" (https://documentation-page).');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"require": {
"php": ">=8.1",
"symfony/http-client": "^5.4|^6.0",
"symfony/notifier": "^6.2"
"symfony/notifier": "^6.2.7"
},
"autoload": {
"psr-4": { "Symfony\\Component\\Notifier\\Bridge\\Clickatell\\": "" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,34 +15,35 @@
use Symfony\Component\Notifier\Bridge\ContactEveryone\ContactEveryoneTransport;
use Symfony\Component\Notifier\Exception\InvalidArgumentException;
use Symfony\Component\Notifier\Message\ChatMessage;
use Symfony\Component\Notifier\Message\MessageInterface;
use Symfony\Component\Notifier\Message\SmsMessage;
use Symfony\Component\Notifier\Test\TransportTestCase;
use Symfony\Component\Notifier\Tests\Fixtures\DummyHttpClient;
use Symfony\Component\Notifier\Tests\Fixtures\DummyMessage;
use Symfony\Component\Uid\Uuid;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use Symfony\Contracts\HttpClient\ResponseInterface;

final class ContactEveryoneTransportTest extends TransportTestCase
{
public function createTransport(HttpClientInterface $client = null): ContactEveryoneTransport
public static function createTransport(HttpClientInterface $client = null): ContactEveryoneTransport
{
return new ContactEveryoneTransport('API_TOKEN', 'Symfony', 'Foo', $client ?? $this->createMock(HttpClientInterface::class));
return new ContactEveryoneTransport('API_TOKEN', 'Symfony', 'Foo', $client ?? new DummyHttpClient());
}

public function toStringProvider(): iterable
public static function toStringProvider(): iterable
{
yield ['contact-everyone://contact-everyone.orange-business.com?diffusionname=Symfony&category=Foo', $this->createTransport()];
yield ['contact-everyone://contact-everyone.orange-business.com?diffusionname=Symfony&category=Foo', self::createTransport()];
}

public function supportedMessagesProvider(): iterable
public static function supportedMessagesProvider(): iterable
{
yield [new SmsMessage('0611223344', 'Hello!')];
}

public function unsupportedMessagesProvider(): iterable
public static function unsupportedMessagesProvider(): iterable
{
yield [new ChatMessage('Hello!')];
yield [$this->createMock(MessageInterface::class)];
yield [new DummyMessage()];
}

public function testSendSuccessfully()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"require": {
"php": ">=8.1",
"symfony/http-client": "^5.4|^6.0",
"symfony/notifier": "^6.2"
"symfony/notifier": "^6.2.7"
},
"require-dev": {
"symfony/uid": "^5.4|^6.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,38 +16,39 @@
use Symfony\Component\Notifier\Exception\LengthException;
use Symfony\Component\Notifier\Exception\TransportException;
use Symfony\Component\Notifier\Message\ChatMessage;
use Symfony\Component\Notifier\Message\MessageInterface;
use Symfony\Component\Notifier\Message\SmsMessage;
use Symfony\Component\Notifier\Test\TransportTestCase;
use Symfony\Component\Notifier\Tests\Fixtures\DummyHttpClient;
use Symfony\Component\Notifier\Tests\Fixtures\DummyMessage;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use Symfony\Contracts\HttpClient\ResponseInterface;

final class DiscordTransportTest extends TransportTestCase
{
public function createTransport(HttpClientInterface $client = null): DiscordTransport
public static function createTransport(HttpClientInterface $client = null): DiscordTransport
{
return (new DiscordTransport('testToken', 'testWebhookId', $client ?? $this->createMock(HttpClientInterface::class)))->setHost('host.test');
return (new DiscordTransport('testToken', 'testWebhookId', $client ?? new DummyHttpClient()))->setHost('host.test');
}

public function toStringProvider(): iterable
public static function toStringProvider(): iterable
{
yield ['discord://host.test?webhook_id=testWebhookId', $this->createTransport()];
yield ['discord://host.test?webhook_id=testWebhookId', self::createTransport()];
}

public function supportedMessagesProvider(): iterable
public static function supportedMessagesProvider(): iterable
{
yield [new ChatMessage('Hello!')];
}

public function unsupportedMessagesProvider(): iterable
public static function unsupportedMessagesProvider(): iterable
{
yield [new SmsMessage('0611223344', 'Hello!')];
yield [$this->createMock(MessageInterface::class)];
yield [new DummyMessage()];
}

public function testSendChatMessageWithMoreThan2000CharsThrowsLogicException()
{
$transport = $this->createTransport();
$transport = self::createTransport();

$this->expectException(LengthException::class);
$this->expectExceptionMessage('The subject length of a Discord message must not exceed 2000 characters.');
Expand All @@ -69,7 +70,7 @@ public function testSendWithErrorResponseThrows()
return $response;
});

$transport = $this->createTransport($client);
$transport = self::createTransport($client);

$this->expectException(TransportException::class);
$this->expectExceptionMessageMatches('/testDescription.+testErrorCode/');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"require": {
"php": ">=8.1",
"symfony/http-client": "^5.4|^6.0",
"symfony/notifier": "^6.2",
"symfony/notifier": "^6.2.7",
"symfony/polyfill-mbstring": "^1.0"
},
"autoload": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,36 @@
namespace Symfony\Component\Notifier\Bridge\Engagespot\Tests;

use Symfony\Component\Notifier\Bridge\Engagespot\EngagespotTransport;
use Symfony\Component\Notifier\Message\MessageInterface;
use Symfony\Component\Notifier\Message\PushMessage;
use Symfony\Component\Notifier\Message\SmsMessage;
use Symfony\Component\Notifier\Test\TransportTestCase;
use Symfony\Component\Notifier\Tests\Fixtures\DummyHttpClient;
use Symfony\Component\Notifier\Tests\Fixtures\DummyMessage;
use Symfony\Contracts\HttpClient\HttpClientInterface;

/**
* @author Daniel GORGAN <https://github.com/danut007ro>
*/
final class EngagespotTransportTest extends TransportTestCase
{
public function createTransport(HttpClientInterface $client = null): EngagespotTransport
public static function createTransport(HttpClientInterface $client = null): EngagespotTransport
{
return new EngagespotTransport('apiKey', 'TEST', $client ?? $this->createMock(HttpClientInterface::class));
return new EngagespotTransport('apiKey', 'TEST', $client ?? new DummyHttpClient());
}

public function toStringProvider(): iterable
public static function toStringProvider(): iterable
{
yield ['engagespot://api.engagespot.co/2/campaigns?campaign_name=TEST', $this->createTransport()];
yield ['engagespot://api.engagespot.co/2/campaigns?campaign_name=TEST', self::createTransport()];
}

public function supportedMessagesProvider(): iterable
public static function supportedMessagesProvider(): iterable
{
yield [new PushMessage('Hello!', 'Symfony Notifier')];
}

public function unsupportedMessagesProvider(): iterable
public static function unsupportedMessagesProvider(): iterable
{
yield [new SmsMessage('0123456789', 'Hello!')];
yield [$this->createMock(MessageInterface::class)];
yield [new DummyMessage()];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"require": {
"php": ">=8.1",
"symfony/http-client": "^5.4|^6.0",
"symfony/notifier": "^6.2"
"symfony/notifier": "^6.2.7"
},
"autoload": {
"psr-4": { "Symfony\\Component\\Notifier\\Bridge\\Engagespot\\": "" },
Expand Down
Loading