If you use Codeception installed using composer, install this module with the following command:
composer require --dev codeception/module-queue
Alternatively, you can enable Queue
module in suite configuration file and run
codecept init upgrade4
This module was bundled with Codeception 2 and 3, but since version 4 it is necessary to install it separately.
Some modules are bundled with PHAR files.
Warning. Using PHAR file and composer in the same project can cause unexpected errors.
Works with Queue servers.
Testing with a selection of remote/local queueing services, including Amazon’s SQS service Iron.io service and beanstalkd service.
Supported and tested queue types are:
The following dependencies are needed for the listed queue servers:
The configuration settings depending on which queueing service is being used, all the options are listed here. Refer to the configuration examples below to identify the configuration options required for your chosen service.
profile - AWS credential profile - it should be located in ~/.aws/credentials file - eg: [default] aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY [project1] aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY - Note: Using IAM roles is the preferred technique for providing credentials to applications running on Amazon EC2 http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/credentials.html?highlight=credentials
modules:
enabled: [Queue]
config:
Queue:
type: 'beanstalkd'
host: '127.0.0.1'
port: 11300
timeout: 120
modules:
enabled: [Queue]
config:
Queue:
'type': 'iron',
'host': 'mq-aws-us-east-1.iron.io',
'token': 'your-token',
'project': 'your-project-id'
modules:
enabled: [Queue]
config:
Queue:
'type': 'aws',
'key': 'your-public-key',
'secret': 'your-secret-key',
'region': 'us-west-2'
modules:
enabled: [Queue]
config:
Queue:
'type': 'aws',
'profile': 'project1', //see documentation
'region': 'us-west-2'
modules:
enabled: [Queue]
config:
Queue:
'type': 'aws',
'region': 'us-west-2'
Add a message to a queue/tube
<?php $I->addMessageToQueue('this is a messages', 'default'); ?>
param string
$message Message Bodyparam string
$queue Queue NameClear all messages of the queue/tube
<?php $I->clearQueue('default'); ?>
param string
$queue Queue NameCheck if a queue/tube is NOT empty of all messages
<?php $I->dontSeeEmptyQueue('default'); ?>
param string
$queue Queue NameCheck if a queue/tube does NOT exist on the queueing server.
<?php $I->dontSeeQueueExists('default'); ?>
param string
$queue Queue NameCheck if a queue/tube does NOT have a given current number of messages
<?php $I->dontSeeQueueHasCurrentCount('default', 10); ?>
param string
$queue Queue Nameparam int
$expected Number of messages expectedCheck if a queue/tube does NOT have a given total number of messages
<?php $I->dontSeeQueueHasTotalCount('default', 10); ?>
param string
$queue Queue Nameparam int
$expected Number of messages expectedGrabber method to get the current number of messages on the queue/tube (pending/ready)
<?php $I->grabQueueCurrentCount('default'); ?>
param string
$queue Queue Name
return
int Count
Grabber method to get the total number of messages on the queue/tube
<?php $I->grabQueueTotalCount('default'); ?>
param
$queue Queue Name
return
int Count
Grabber method to get the list of queues/tubes on the server
<?php $queues = $I->grabQueues(); ?>
return
array List of Queues/TubesCheck if a queue/tube is empty of all messages
<?php $I->seeEmptyQueue('default'); ?>
param string
$queue Queue NameCheck if a queue/tube exists on the queueing server.
<?php $I->seeQueueExists('default'); ?>
param string
$queue Queue NameCheck if a queue/tube has a given current number of messages
<?php $I->seeQueueHasCurrentCount('default', 10); ?>
param string
$queue Queue Nameparam int
$expected Number of messages expectedCheck if a queue/tube has a given total number of messages
<?php $I->seeQueueHasTotalCount('default', 10); ?>
param string
$queue Queue Nameparam int
$expected Number of messages expected
© 2011 Michael Bodnarchuk and contributors
Licensed under the MIT License.
https://codeception.com/docs/modules/Queue