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

Skip to content

Commit 2be7be2

Browse files
committed
Apply review changes
1 parent 09aeed8 commit 2be7be2

File tree

8 files changed

+34
-63
lines changed

8 files changed

+34
-63
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
/Tests export-ignore
22
/phpunit.xml.dist export-ignore
33
/.gitattributes export-ignore
4-
/.gitignore export-ignore
4+
/.gitignore export-ignore
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
vendor/
22
composer.lock
3-
phpunit.xml
3+
phpunit.xml

src/Symfony/Component/Notifier/Bridge/Termii/TermiiOptions.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,36 +57,42 @@ public function getType(): ?string
5757
public function setChannel(string $channel): self
5858
{
5959
$this->options['channel'] = $channel;
60+
6061
return $this;
6162
}
6263

6364
public function setFrom(string $from): self
6465
{
6566
$this->options['from'] = $from;
67+
6668
return $this;
6769
}
6870

6971
public function setMediaCaption(string $mediaCaption): self
7072
{
7173
$this->options['media_caption'] = $mediaCaption;
74+
7275
return $this;
7376
}
7477

7578
public function setMediaUrl(string $mediaUrl): self
7679
{
7780
$this->options['media_url'] = $mediaUrl;
81+
7882
return $this;
7983
}
8084

8185
public function setRecipientId(string $id): self
8286
{
8387
$this->options['recipient_id'] = $id;
88+
8489
return $this;
8590
}
8691

8792
public function setType(string $type): self
8893
{
8994
$this->options['type'] = $type;
95+
9096
return $this;
9197
}
9298

src/Symfony/Component/Notifier/Bridge/Termii/TermiiTransport.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ protected function doSend(MessageInterface $message): SentMessage
5454
if (!$message instanceof SmsMessage) {
5555
throw new UnsupportedMessageTypeException(__CLASS__, SmsMessage::class, $message);
5656
}
57+
5758
$opts = $message->getOptions();
5859
$options = $opts ? $opts->toArray() : [];
5960
$options['api_key'] = $this->apiKey;
@@ -62,27 +63,26 @@ protected function doSend(MessageInterface $message): SentMessage
6263
$options['to'] = $message->getPhone();
6364
$options['channel'] = $options['channel'] ?? $this->channel;
6465
$options['type'] = $options['type'] ?? 'plain';
66+
6567
if (isset($options['media_url'])) {
6668
$options['media']['url'] = $options['media_url'] ?? null;
6769
$options['media']['caption'] = $options['media_caption'] ?? null;
6870
unset($options['media_url'], $options['media_caption']);
6971
}
72+
7073
if (!preg_match('/^[a-zA-Z0-9\s]{3,11}$/', $options['from']) && !preg_match('/^\+?[1-9]\d{1,14}$/', $options['from'])) {
7174
throw new InvalidArgumentException(sprintf('The "From" number "%s" is not a valid phone number, shortcode, or alphanumeric sender ID.', $this->from));
7275
}
76+
7377
$endpoint = sprintf('https://%s/api/sms/send', $this->getEndpoint());
74-
$response = $this->client->request(
75-
'POST',
76-
$endpoint,
77-
[
78-
'json' => array_filter($options),
79-
]
80-
);
78+
$response = $this->client->request('POST', $endpoint, ['json' => array_filter($options)]);
79+
8180
try {
8281
$statusCode = $response->getStatusCode();
8382
} catch (TransportExceptionInterface $e) {
8483
throw new TransportException('Could not reach the remote Termii server.', $response, 0, $e);
8584
}
85+
8686
if (200 !== $statusCode) {
8787
try {
8888
$error = $response->toArray(false);
@@ -91,6 +91,7 @@ protected function doSend(MessageInterface $message): SentMessage
9191
}
9292
throw new TransportException(sprintf('Unable to send the SMS - status code: %s: %s', $statusCode, $error['message'] ?? 'unknown error'), $response);
9393
}
94+
9495
$success = $response->toArray(false);
9596
$sentMessage = new SentMessage($message, (string) $this);
9697
$sentMessage->setMessageId($success['message_id']);

src/Symfony/Component/Notifier/Bridge/Termii/TermiiTransportFactory.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,18 @@ final class TermiiTransportFactory extends AbstractTransportFactory
2424
public function create(Dsn $dsn): TermiiTransport
2525
{
2626
$scheme = $dsn->getScheme();
27+
2728
if (self::TRANSPORT_SCHEME !== $scheme) {
2829
throw new UnsupportedSchemeException($dsn, self::TRANSPORT_SCHEME, $this->getSupportedSchemes());
2930
}
31+
3032
$apiKey = $this->getUser($dsn);
3133
$from = $dsn->getRequiredOption('from');
3234
$channel = $dsn->getRequiredOption('channel');
3335
$host = 'default' === $dsn->getHost() ? null : $dsn->getHost();
3436
$port = $dsn->getPort();
3537

36-
return (new TermiiTransport($apiKey, $from, $channel, $this->client, $this->dispatcher))
37-
->setHost($host)
38-
->setPort($port)
39-
;
38+
return (new TermiiTransport($apiKey, $from, $channel, $this->client, $this->dispatcher))->setHost($host)->setPort($port);
4039
}
4140

4241
protected function getSupportedSchemes(): array

src/Symfony/Component/Notifier/Bridge/Termii/Tests/TermiiTransportFactoryTest.php

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@ public function createFactory(): TermiiTransportFactory
2222

2323
public function createProvider(): iterable
2424
{
25-
yield [
26-
'termii://host.test?from=0611223344&channel=generic',
27-
'termii://[email protected]?from=0611223344&channel=generic',
28-
];
25+
yield ['termii://host.test?from=0611223344&channel=generic', 'termii://[email protected]?from=0611223344&channel=generic'];
2926
}
3027

3128
public function incompleteDsnProvider(): iterable
@@ -41,14 +38,8 @@ public function missingRequiredOptionProvider(): iterable
4138

4239
public function supportsProvider(): iterable
4340
{
44-
yield [
45-
true,
46-
'termii://apiKey@default?from=0611223344&channel=generic',
47-
];
48-
yield [
49-
false,
50-
'somethingElse://apiKey@default?from=0611223344&channel=generic',
51-
];
41+
yield [true, 'termii://apiKey@default?from=0611223344&channel=generic'];
42+
yield [false, 'somethingElse://apiKey@default?from=0611223344&channel=generic'];
5243
}
5344

5445
public function unsupportedSchemeProvider(): iterable

src/Symfony/Component/Notifier/Bridge/Termii/Tests/TermiiTransportTest.php

Lines changed: 9 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -22,41 +22,33 @@
2222

2323
final class TermiiTransportTest extends TransportTestCase
2424
{
25-
public function createTransport(
26-
HttpClientInterface $client = null,
27-
string $from = 'from'
28-
): TermiiTransport {
25+
public function createTransport(HttpClientInterface $client = null, string $from = 'from'): TermiiTransport {
2926
return new TermiiTransport('apiKey', $from, 'generic', $client ?? $this->createMock(HttpClientInterface::class));
3027
}
3128

3229
public function invalidFromProvider(): iterable
3330
{
34-
// alphanumeric sender ids
3531
yield 'too short' => ['aa'];
3632
yield 'too long' => ['abcdefghijkl'];
37-
// phone numbers
3833
yield 'no zero at start if phone number' => ['+0'];
3934
yield 'phone number too short' => ['+1'];
4035
}
4136

4237
public function supportedMessagesProvider(): iterable
4338
{
44-
yield [
45-
new SmsMessage('0611223344', 'Hello!'),
46-
];
39+
yield [new SmsMessage('0611223344', 'Hello!')];
4740
}
4841

4942
/**
5043
* @dataProvider invalidFromProvider
5144
*/
5245
public function testInvalidArgumentExceptionIsThrownIfFromIsInvalid(string $from): void
5346
{
54-
$transport = $this->createTransport(
55-
null,
56-
$from
57-
);
47+
$transport = $this->createTransport(null, $from);
48+
5849
$this->expectException(InvalidArgumentException::class);
5950
$this->expectExceptionMessage(sprintf('The "From" number "%s" is not a valid phone number, shortcode, or alphanumeric sender ID.', $from));
51+
6052
$transport->send(new SmsMessage('+33612345678', 'Hello!'));
6153
}
6254

@@ -67,21 +59,8 @@ public function testNoInvalidArgumentExceptionIsThrownIfFromIsValid(string $from
6759
{
6860
$message = new SmsMessage('+33612345678', 'Hello!');
6961
$response = $this->createMock(ResponseInterface::class);
70-
$response->expects(self::exactly(2))
71-
->method('getStatusCode')
72-
->willReturn(200)
73-
;
74-
$response->expects(self::once())
75-
->method('getContent')
76-
->willReturn(
77-
json_encode([
78-
'message' => 'Successfully sent',
79-
'message_id' => 'foo',
80-
'balance' => 9,
81-
'user' => 'Foo Bar',
82-
])
83-
)
84-
;
62+
$response->expects(self::exactly(2))->method('getStatusCode')->willReturn(200);
63+
$response->expects(self::once())->method('getContent')->willReturn(json_encode(['message' => 'Successfully sent', 'message_id' => 'foo', 'balance' => 9, 'user' => 'Foo Bar',]));
8564
$client = new MockHttpClient(function (string $method, string $url) use ($response): ResponseInterface {
8665
self::assertSame('POST', $method);
8766
self::assertSame('https://api.ng.termii.com/api/sms/send', $url);
@@ -91,15 +70,13 @@ public function testNoInvalidArgumentExceptionIsThrownIfFromIsValid(string $from
9170
);
9271
$transport = $this->createTransport($client, $from);
9372
$sentMessage = $transport->send($message);
73+
9474
self::assertSame('foo', $sentMessage->getMessageId());
9575
}
9676

9777
public function toStringProvider(): iterable
9878
{
99-
yield [
100-
'termii://api.ng.termii.com?from=from&channel=generic',
101-
$this->createTransport(),
102-
];
79+
yield ['termii://api.ng.termii.com?from=from&channel=generic', $this->createTransport()];
10380
}
10481

10582
public function unsupportedMessagesProvider(): iterable
@@ -110,7 +87,6 @@ public function unsupportedMessagesProvider(): iterable
11087

11188
public function validFromProvider(): iterable
11289
{
113-
// alphanumeric sender ids
11490
yield ['abc'];
11591
yield ['abcd'];
11692
yield ['abcde'];
@@ -123,7 +99,6 @@ public function validFromProvider(): iterable
12399
yield ['abcdef ghij'];
124100
yield [' abcdefghij'];
125101
yield ['abcdefghij '];
126-
// phone numbers
127102
yield ['+11'];
128103
yield ['+112'];
129104
yield ['+1123'];

src/Symfony/Component/Notifier/Bridge/Termii/composer.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@
2020
],
2121
"require": {
2222
"php": ">=8.1",
23+
"symfony/event-dispatcher": "^5.4|^6.0",
2324
"symfony/http-client": "^5.4|^6.0",
24-
"symfony/notifier": "^5.4|^6.0"
25+
"symfony/notifier": "^6.3"
2526
},
2627
"autoload": {
27-
"psr-4": {
28-
"Symfony\\Component\\Notifier\\Bridge\\Termii\\": ""
29-
},
28+
"psr-4": {"Symfony\\Component\\Notifier\\Bridge\\Termii\\": ""},
3029
"exclude-from-classmap": [
3130
"/Tests/"
3231
]

0 commit comments

Comments
 (0)