if (!
getenv('MESSENGER_SQS_DSN'
)) { $this->
markTestSkipped('The "MESSENGER_SQS_DSN" environment variable is required.'
);
} $this->
execute(getenv('MESSENGER_SQS_DSN'
));
} private function execute(string
$dsn): void
{ $connection = Connection::
fromDsn($dsn,
[]);
$connection->
setup();
$this->
clearSqs($dsn);
$connection->
send('{"message": "Hi"}',
['type' => DummyMessage::
class, DummyMessage::
class => 'special'
]);
$this->
assertSame(1,
$connection->
getMessageCount());
$wait = 0;
while ((null ===
$encoded =
$connection->
get()) &&
$wait++ < 200
) { usleep(5000
);
} $this->
assertEquals('{"message": "Hi"}',
$encoded['body'
]);
$this->
assertEquals(['type' => DummyMessage::
class, DummyMessage::
class => 'special'
],
$encoded['headers'
]);
}