class InstantQueueRunnerTest
Queues and unqueues a set of items to check the basic queue functionality.
Attributes
#[Group('Queue')]
#[RunTestsInSeparateProcesses]
Hierarchy
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\Tests\DrupalTestCaseTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait, \Drupal\Tests\BrowserHtmlDebugTrait, \Drupal\Tests\HttpKernelUiHelperTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\KernelTests\Core\Queue\InstantQueueRunnerTest extends \Drupal\KernelTests\KernelTestBase
Expanded class hierarchy of InstantQueueRunnerTest
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Queue/ InstantQueueRunnerTest.php, line 17
Namespace
Drupal\KernelTests\Core\QueueView source
class InstantQueueRunnerTest extends KernelTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'cron_queue_test',
];
/**
* Tests the instant queue runner.
*/
public function testInstantQueueRunner() : void {
$queue1_name = CronQueueTestDeriverQueue::PLUGIN_ID . ':foo';
$queue1 = $this->container
->get('queue')
->get($queue1_name);
$queue2_name = CronQueueTestDeriverQueue::PLUGIN_ID . ':bar';
$queue2 = $this->container
->get('queue')
->get($queue2_name);
$instant_queue_runner = $this->container
->get(InstantQueueRunnerInterface::class);
for ($i = 0; $i < 10; $i++) {
$queue1->createItem('foo');
}
$queue2->createItem('bar');
for ($i = 0; $i < 5; $i++) {
$instant_queue_runner->registerQueue($queue1_name);
}
$instant_queue_runner->registerQueue($queue2_name);
$this->assertSame(10, $queue1->numberOfItems());
$this->assertSame(1, $queue2->numberOfItems());
$request = $this->container
->get('request_stack')
->getCurrentRequest();
$response = new Response();
$this->container
->get('kernel')
->terminate($request, $response);
$this->assertSame(5, $queue1->numberOfItems());
$this->assertSame(0, $queue2->numberOfItems());
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.