Codeception / Codeception/module-amqp
`?array $arguments = null,` should be `array|AMQPTable|null $arguments = null,`
- Dominant language
- PHP
- Stars
- 4
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
Found in declare* Methods.
When using codeception amqp with the bunny implementation array results in an runtime error (because bunny also has a bug) and passing AMQPTable (which works after patching it) results in an PHP Type Error.
Here is the patch I used which works:
```patch
Index: src/Codeception/Module/AMQP.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/Codeception/Module/AMQP.php b/src/Codeception/Module/AMQP.php
--- a/src/Codeception/Module/AMQP.php
+++ b/src/Codeception/Module/AMQP.php (date 1759839586848)
@@ -13,6 +13,7 @@
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Exception\AMQPProtocolChannelException;
use PhpAmqpLib\Message\AMQPMessage;
+use PhpAmqpLib\Wire\AMQPTable;
/**
* This module interacts with message broker software that implements
@@ -166,7 +167,7 @@
bool $auto_delete = true,
bool $internal = false,
bool $nowait = false,
- ?array $arguments = null,
+ array|AMQPTable|null $arguments = null,
?int $ticket = null
) {
return $this->getChannel()->exchange_declare(
@@ -203,7 +204,7 @@
bool $exclusive = false,
bool $auto_delete = true,
bool $nowait = false,
- ?array $arguments = null,
+ array|AMQPTable|null $arguments = null,
?int $ticket = null
): ?array {
return $this->getChannel()->queue_declare(
@@ -239,7 +240,7 @@
string $exchange,
string $routing_key = '',
bool $nowait = false,
- ?array $arguments = null,
+ array|AMQPTable|null $arguments = null,
?int $ticket = null
) {
return $this->getChannel()->queue_bind(
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in src/Codeception/Module/AMQP.php and inspect the exchange_declare, queue_declare, and queue_bind method signatures. Compare their arguments handling with the supplied patch, including the AMQPTable import. Done means these methods accept array, AMQPTable, or null without the reported PHP type error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 58/100