# AMQP This module interacts with message broker software that implements the Advanced Message Queuing Protocol (AMQP) standard. For example, RabbitMQ (tested).
To use this module with Composer you need "php-amqplib/php-amqplib": "~2.4" package.
## Config * host: localhost - host to connect * username: guest - username to connect * password: guest - password to connect * vhost: '/' - vhost to connect * cleanup: true - defined queues will be purged before running every test. * queues: [mail, twitter] - queues to cleanup * single_channel - create and use only one channel during test execution ### Example modules: enabled: - AMQP: host: 'localhost' port: '5672' username: 'guest' password: 'guest' vhost: '/' queues: [queue1, queue2] single_channel: false ## Public Properties * connection - AMQPStreamConnection - current connection ## Actions ### bindQueueToExchange Binds a queue to an exchange This is an alias of method `queue_bind` of `PhpAmqpLib\Channel\AMQPChannel`. ```php bindQueueToExchange( 'nameOfMyQueueToBind', // name of the queue 'transactionTracking.transaction', // exchange name to bind to 'your.routing.key' // Optionally, provide a binding key ) ``` * `param string` $queue * `param string` $exchange * `param string` $routing_key * `param bool` $nowait * `param array` $arguments * `param int` $ticket * `return` mixed|null ### declareExchange Declares an exchange This is an alias of method `exchange_declare` of `PhpAmqpLib\Channel\AMQPChannel`. ```php declareExchange( 'nameOfMyExchange', // exchange name 'topic' // exchange type ) ``` * `param string` $exchange * `param string` $type * `param bool` $passive * `param bool` $durable * `param bool` $auto_delete * `param bool` $internal * `param bool` $nowait * `param array` $arguments * `param int` $ticket * `return` mixed|null ### declareQueue Declares queue, creates if needed This is an alias of method `queue_declare` of `PhpAmqpLib\Channel\AMQPChannel`. ```php declareQueue( 'nameOfMyQueue', // exchange name ) ``` * `param string` $queue * `param bool` $passive * `param bool` $durable * `param bool` $exclusive * `param bool` $auto_delete * `param bool` $nowait * `param array` $arguments * `param int` $ticket * `return` mixed|null ### grabMessageFromQueue Takes last message from queue. ``` php grabMessageFromQueue('queue.emails'); ?> ``` * `param string` $queue * `return` \PhpAmqpLib\Message\AMQPMessage ### purgeAllQueues Purge all queues defined in config. ``` php purgeAllQueues(); ?> ``` ### purgeQueue Purge a specific queue defined in config. ``` php purgeQueue('queue.emails'); ?> ``` * `param string` $queueName ### pushToExchange Sends message to exchange by sending exchange name, message and (optionally) a routing key ``` php pushToExchange('exchange.emails', 'thanks'); $I->pushToExchange('exchange.emails', new AMQPMessage('Thanks!')); $I->pushToExchange('exchange.emails', new AMQPMessage('Thanks!'), 'severity'); ?> ``` * `param string` $exchange * `param string|\PhpAmqpLib\Message\AMQPMessage` $message * `param string` $routing_key ### pushToQueue Sends message to queue ``` php pushToQueue('queue.jobs', 'create user'); $I->pushToQueue('queue.jobs', new AMQPMessage('create')); ?> ``` * `param string` $queue * `param string|\PhpAmqpLib\Message\AMQPMessage` $message ### seeMessageInQueueContainsText Checks if message containing text received. **This method drops message from queue** **This method will wait for message. If none is sent the script will stuck**. ``` php pushToQueue('queue.emails', 'Hello, davert'); $I->seeMessageInQueueContainsText('queue.emails','davert'); ?> ``` * `param string` $queue * `param string` $text

 

Module reference is taken from the source code. Help us to improve documentation. Edit module reference