Codeception / Codeception/module-amqp

`?array $arguments = null,` should be `array|AMQPTable|null $arguments = null,`

Open
#23 2 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.