RedisQueueTest.php in Redis 8
File
tests/src/Kernel/RedisQueueTest.php
View source
<?php
namespace Drupal\Tests\redis\Kernel;
use Drupal\redis\ClientFactory;
use Drupal\KernelTests\Core\Queue\QueueTest as CoreQueueTest;
use Drupal\Tests\redis\Traits\RedisTestInterfaceTrait;
class RedisQueueTest extends CoreQueueTest {
use RedisTestInterfaceTrait;
public static $modules = [
'redis',
];
public function testRedisNonBlockingQueue() {
self::setUpSettings();
$client_factory = \Drupal::service('redis.factory');
$settings = [
'reserve_timeout' => NULL,
];
$class_name = $client_factory
->getClass(ClientFactory::REDIS_IMPL_QUEUE);
$queue1 = new $class_name($this
->randomMachineName(), $settings, $client_factory
->getClient());
$queue1
->createQueue();
$queue2 = new $class_name($this
->randomMachineName(), $settings, $client_factory
->getClient());
$queue2
->createQueue();
$this
->runQueueTest($queue1, $queue2);
$queue1
->deleteQueue();
$queue2
->deleteQueue();
$class_name = $client_factory
->getClass(ClientFactory::REDIS_IMPL_RELIABLE_QUEUE);
$queue1 = new $class_name($this
->randomMachineName(), $settings, $client_factory
->getClient());
$queue1
->createQueue();
$queue2 = new $class_name($this
->randomMachineName(), $settings, $client_factory
->getClient());
$queue2
->createQueue();
$this
->runQueueTest($queue1, $queue2);
}
public function testRedisBlockingQueue() {
self::setUpSettings();
$client_factory = \Drupal::service('redis.factory');
$settings = [
'reserve_timeout' => 30,
];
$class_name = $client_factory
->getClass(ClientFactory::REDIS_IMPL_QUEUE);
$queue1 = new $class_name($this
->randomMachineName(), $settings, $client_factory
->getClient());
$queue1
->createQueue();
$queue2 = new $class_name($this
->randomMachineName(), $settings, $client_factory
->getClient());
$queue2
->createQueue();
$this
->runQueueTest($queue1, $queue2);
}
public function testSystemQueue() {
$this
->markTestSkipped();
}
public function testMemoryQueue() {
$this
->markTestSkipped();
}
}