Class TestQueueClient
Test Queue Client
Captures queued jobs instead of actually queuing them for testing purposes. Similar to TestEmailTransport for email testing.
Uses a custom Enqueue transport (test:) that captures messages at the transport layer.
Usage:
// In test setup (via QueueTrait)
TestQueueClient::replaceAllClients();
// Queue as normal
QueueManager::push('MyJob', ['data' => 'value']);
// Make assertions
$jobs = TestQueueClient::getQueuedJobs();
Property Summary
-
$queuedJobs protected static
array<array<string, mixed>>Captured queued jobs
-
$registered protected static
boolTransport registration flag
Method Summary
-
captureMessage() public static
Capture message from transport
-
clearQueuedJobs() public static
Clear all queued jobs
-
extractMessageBody() protected static
Extract message body
-
getQueuedJobCount() public static
Get count of queued jobs
-
getQueuedJobs() public static
Get all queued jobs
-
getQueuedJobsByClass() public static
Get queued jobs by job class
-
getQueuedJobsByConfig() public static
Get queued jobs by config name
-
getQueuedJobsByQueue() public static
Get queued jobs by queue name
-
replaceAllClients() public static
Replace all queue clients with test transport
Method Detail
captureMessage() ¶ public static
captureMessage(Interop\Queue\Destination $destination, Interop\Queue\Message $message, int|null $deliveryDelay = null, int|null $timeToLive = null, int|null $producerPriority = null): void
Capture message from transport
Called by TestProducer when a message is sent.
Parameters
-
Interop\Queue\Destination$destination Destination
-
Interop\Queue\Message$message Message
-
int|null$deliveryDelay optional Delivery delay from producer (in milliseconds)
-
int|null$timeToLive optional Time to live from producer (in milliseconds)
-
int|null$producerPriority optional Priority from producer
Returns
voidextractMessageBody() ¶ protected static
extractMessageBody(Interop\Queue\Message $message): array<string, mixed>
Extract message body
Parameters
-
Interop\Queue\Message$message Message
Returns
array<string, mixed>getQueuedJobs() ¶ public static
getQueuedJobs(): array<array<string, mixed>>
Get all queued jobs
Returns
array<array<string, mixed>>getQueuedJobsByClass() ¶ public static
getQueuedJobsByClass(string $jobClass): array<array<string, mixed>>
Get queued jobs by job class
Parameters
-
string$jobClass Job class name
Returns
array<array<string, mixed>>getQueuedJobsByConfig() ¶ public static
getQueuedJobsByConfig(string $config): array<array<string, mixed>>
Get queued jobs by config name
Parameters
-
string$config Config name
Returns
array<array<string, mixed>>getQueuedJobsByQueue() ¶ public static
getQueuedJobsByQueue(string $queue): array<array<string, mixed>>
Get queued jobs by queue name
Parameters
-
string$queue Queue name
Returns
array<array<string, mixed>>replaceAllClients() ¶ public static
replaceAllClients(): void
Replace all queue clients with test transport
Similar to TestEmailTransport::replaceAllTransports()
Returns
void