/var/www/vhosts/nabawater/vendor/codeception/base/src/Codeception/Module
Edit: /var/www/vhosts/nabawater/vendor/codeception/base/src/Codeception/Module/Queue.php (11196B)
queueDriver->openConnection($this->config);
}
/**
* Provide and override for the config settings and allow custom settings depending on the service being used.
*/
protected function validateConfig()
{
$this->queueDriver = $this->createQueueDriver();
$this->requiredFields = $this->queueDriver->getRequiredConfig();
$this->config = array_merge($this->queueDriver->getDefaultConfig(), $this->config);
parent::validateConfig();
}
/**
* @return \Codeception\Lib\Interfaces\Queue
* @throws ModuleConfigException
*/
protected function createQueueDriver()
{
switch ($this->config['type']) {
case 'aws':
case 'sqs':
case 'aws_sqs':
return new AmazonSQS();
case 'iron':
case 'iron_mq':
return new Iron();
case 'beanstalk':
case 'beanstalkd':
case 'beanstalkq':
return new Beanstalk();
default:
throw new ModuleConfigException(
__CLASS__,
"Unknown queue type {$this->config}; Supported queue types are: aws, iron, beanstalk"
);
}
}
// ----------- SEARCH METHODS BELOW HERE ------------------------//
/**
* Check if a queue/tube exists on the queueing server.
*
* ```php
* seeQueueExists('default');
* ?>
* ```
*
* @param string $queue Queue Name
*/
public function seeQueueExists($queue)
{
$this->assertContains($queue, $this->queueDriver->getQueues());
}
/**
* Check if a queue/tube does NOT exist on the queueing server.
*
* ```php
* dontSeeQueueExists('default');
* ?>
* ```
*
* @param string $queue Queue Name
*/
public function dontSeeQueueExists($queue)
{
$this->assertNotContains($queue, $this->queueDriver->getQueues());
}
/**
* Check if a queue/tube is empty of all messages
*
* ```php
* seeEmptyQueue('default');
* ?>
* ```
*
* @param string $queue Queue Name
*/
public function seeEmptyQueue($queue)
{
$this->assertEquals(0, $this->queueDriver->getMessagesCurrentCountOnQueue($queue));
}
/**
* Check if a queue/tube is NOT empty of all messages
*
* ```php
* dontSeeEmptyQueue('default');
* ?>
* ```
*
* @param string $queue Queue Name
*/
public function dontSeeEmptyQueue($queue)
{
$this->assertNotEquals(0, $this->queueDriver->getMessagesCurrentCountOnQueue($queue));
}
/**
* Check if a queue/tube has a given current number of messages
*
* ```php
* seeQueueHasCurrentCount('default', 10);
* ?>
* ```
*
* @param string $queue Queue Name
* @param int $expected Number of messages expected
*/
public function seeQueueHasCurrentCount($queue, $expected)
{
$this->assertEquals($expected, $this->queueDriver->getMessagesCurrentCountOnQueue($queue));
}
/**
* Check if a queue/tube does NOT have a given current number of messages
*
* ```php
* dontSeeQueueHasCurrentCount('default', 10);
* ?>
* ```
*
* @param string $queue Queue Name
* @param int $expected Number of messages expected
*/
public function dontSeeQueueHasCurrentCount($queue, $expected)
{
$this->assertNotEquals($expected, $this->queueDriver->getMessagesCurrentCountOnQueue($queue));
}
/**
* Check if a queue/tube has a given total number of messages
*
* ```php
* seeQueueHasTotalCount('default', 10);
* ?>
* ```
*
* @param string $queue Queue Name
* @param int $expected Number of messages expected
*/
public function seeQueueHasTotalCount($queue, $expected)
{
$this->assertEquals($expected, $this->queueDriver->getMessagesTotalCountOnQueue($queue));
}
/**
* Check if a queue/tube does NOT have a given total number of messages
*
* ```php
* dontSeeQueueHasTotalCount('default', 10);
* ?>
* ```
*
* @param string $queue Queue Name
* @param int $expected Number of messages expected
*/
public function dontSeeQueueHasTotalCount($queue, $expected)
{
$this->assertNotEquals($expected, $this->queueDriver->getMessagesTotalCountOnQueue($queue));
}
// ----------- UTILITY METHODS BELOW HERE -------------------------//
/**
* Add a message to a queue/tube
*
* ```php
* addMessageToQueue('this is a messages', 'default');
* ?>
* ```
*
* @param string $message Message Body
* @param string $queue Queue Name
*/
public function addMessageToQueue($message, $queue)
{
$this->queueDriver->addMessageToQueue($message, $queue);
}
/**
* Clear all messages of the queue/tube
*
* ```php
* clearQueue('default');
* ?>
* ```
*
* @param string $queue Queue Name
*/
public function clearQueue($queue)
{
$this->queueDriver->clearQueue($queue);
}
// ----------- GRABBER METHODS BELOW HERE -----------------------//
/**
* Grabber method to get the list of queues/tubes on the server
*
* ```php
* grabQueues();
* ?>
* ```
*
* @return array List of Queues/Tubes
*/
public function grabQueues()
{
return $this->queueDriver->getQueues();
}
/**
* Grabber method to get the current number of messages on the queue/tube (pending/ready)
*
* ```php
* grabQueueCurrentCount('default');
* ?>
* ```
* @param string $queue Queue Name
*
* @return int Count
*/
public function grabQueueCurrentCount($queue)
{
return $this->queueDriver->getMessagesCurrentCountOnQueue($queue);
}
/**
* Grabber method to get the total number of messages on the queue/tube
*
* ```php
* grabQueueTotalCount('default');
* ?>
* ```
*
* @param $queue Queue Name
*
* @return int Count
*/
public function grabQueueTotalCount($queue)
{
return $this->queueDriver->getMessagesTotalCountOnQueue($queue);
}
}