AMQP

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: false - 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
$I->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
$I->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
$I->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
$message = $I->grabMessageFromQueue('queue.emails');
?>
  • param string $queue
  • return AMQPMessage

purgeAllQueues

Purge all queues defined in config.

<?php
$I->purgeAllQueues();
?>

purgeQueue

Purge a specific queue defined in config.

<?php
$I->purgeQueue('queue.emails');
?>
  • param string $queueName

pushToExchange

Sends message to exchange by sending exchange name, message and (optionally) a routing key

<?php
$I->pushToExchange('exchange.emails', 'thanks');
$I->pushToExchange('exchange.emails', new AMQPMessage('Thanks!'));
$I->pushToExchange('exchange.emails', new AMQPMessage('Thanks!'), 'severity');
?>
  • param string $exchange
  • param string|AMQPMessage $message
  • param string $routing_key

pushToQueue

Sends message to queue

<?php
$I->pushToQueue('queue.jobs', 'create user');
$I->pushToQueue('queue.jobs', new AMQPMessage('create'));
?>
  • param string $queue
  • param string|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
$I->pushToQueue('queue.emails', 'Hello, davert');
$I->seeMessageInQueueContainsText('queue.emails','davert');
?>
  • param string $queue
  • param string $text

© 2011–2017 Michael Bodnarchuk and contributors
Licensed under the MIT License.
http://codeception.com/docs/modules/AMQP

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部