Skip to content

Commit 065b204

Browse files
authored
Merge pull request #9 from geekcom/develop
strict_types, new tests
2 parents c2b5bd0 + d6feb42 commit 065b204

File tree

4 files changed

+41
-12
lines changed

4 files changed

+41
-12
lines changed

CHANGELOG.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44

55
## Unreleased
66

7+
- [#8] update CHANGELOG.md, Thanks to [@geekcom]
8+
9+
<!-- dumped content end -->
10+
11+
<!-- dumped content start -->
12+
13+
## Unreleased
14+
715
- [#7] update tests, add minor corrections, general improvements, Thanks to [@geekcom]
816

917
<!-- dumped content end -->
@@ -27,4 +35,5 @@
2735
[#2]: https://github.com/geekcom/felicio/pull/2
2836
[#1]: https://github.com/geekcom/felicio/pull/1
2937
[@geekcom]: https://github.com/geekcom
30-
[#7]: https://github.com/geekcom/felicio/pull/7
38+
[#7]: https://github.com/geekcom/felicio/pull/7
39+
[#8]: https://github.com/geekcom/felicio/pull/8

src/Contracts/FelicioContract.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
<?php
22

3+
declare(strict_types=1);
4+
35
namespace Felicio\Contracts;
46

7+
use Aws\Result;
8+
59
interface FelicioContract
610
{
7-
public function sendMessage(array $params);
11+
public function sendMessage(array $params): ?string;
812

9-
public function receiveMessage(array $params);
13+
public function receiveMessage(array $params): array;
1014

11-
public function deleteMessage(array $params);
15+
public function deleteMessage(array $params): Result;
1216
}

src/Felicio.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Aws\Sdk;
99
use Aws\Exception\AwsException;
1010
use Aws\Credentials\Credentials;
11+
use Aws\Result;
1112
use Symfony\Component\Dotenv\Dotenv;
1213

1314
final class Felicio implements FelicioContract
@@ -35,16 +36,16 @@ public function __construct($felicioDotFile)
3536
$this->felicioClient = $sdk->createSqs();
3637
}
3738

38-
public function sendMessage(array $params)
39+
public function sendMessage(array $params): string
3940
{
4041
try {
41-
return $this->felicioClient->sendMessage($params)->get('MessageId');
42+
return (string)$this->felicioClient->sendMessage($params)->get('MessageId');
4243
} catch (AwsException $e) {
4344
throw new AwsException();
4445
}
4546
}
4647

47-
public function receiveMessage(array $params)
48+
public function receiveMessage(array $params): array
4849
{
4950
try {
5051
return $this->felicioClient->receiveMessage($params)->get('Messages');
@@ -53,7 +54,7 @@ public function receiveMessage(array $params)
5354
}
5455
}
5556

56-
public function deleteMessage(array $params)
57+
public function deleteMessage(array $params): Result
5758
{
5859
try {
5960
return $this->felicioClient->deleteMessage($params);
@@ -62,7 +63,7 @@ public function deleteMessage(array $params)
6263
}
6364
}
6465

65-
public function countMessages($queue)
66+
public function countMessages($queue): int
6667
{
6768
$response = $this->felicioClient->getQueueAttributes(
6869
[

tests/FelicioTest.php

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<?php
22

3+
declare(strict_types=1);
4+
35
namespace Felicio\Test;
46

57
use Felicio\Felicio;
@@ -16,7 +18,7 @@ public function setUp(): void
1618
}
1719

1820
/** @test */
19-
public function sendMessageWithoutRequiredParameters()
21+
public function sendStandardMessageWithoutRequiredParameters(): void
2022
{
2123
$this->expectException(ArgumentCountError::class);
2224

@@ -29,7 +31,7 @@ public function sendMessageWithoutRequiredParameters()
2931
}
3032

3133
/** @test */
32-
public function sendMessage()
34+
public function sendStandardMessage(): void
3335
{
3436
$params = [
3537
'QueueUrl' => '',
@@ -39,6 +41,19 @@ public function sendMessage()
3941
$this->assertIsString($this->instance->sendMessage($params));
4042
}
4143

44+
/** @test */
45+
public function sendFifoMessage(): void
46+
{
47+
$params = [
48+
'QueueUrl' => '.fifo', //required
49+
'MessageBody' => 'Message 001',
50+
'MessageDeduplicationId' => 'acac6e8f4ec9f44abc445945e76bf209',
51+
'MessageGroupId' => '2fe6a413d02e3adef70256a36bf3b969',
52+
];
53+
54+
$this->assertIsString($this->instance->sendMessage($params));
55+
}
56+
4257
/** @test */
4358
public function receiveMessage()
4459
{
@@ -61,7 +76,7 @@ public function deleteMessage()
6176
'ReceiptHandle' => '', //required
6277
];
6378

64-
$this->assertEmpty($this->instance->deleteMessage($params));
79+
$this->assertIsObject($this->instance->deleteMessage($params));
6580
}
6681

6782
/** @test */

0 commit comments

Comments
 (0)