public function PluginTestBase::testLeaseTime in Purge 8.3
Test the behavior of lease time when claiming queue items.
File
- tests/
src/ Kernel/ Queue/ PluginTestBase.php, line 163
Class
- PluginTestBase
- Provides a abstract test class to aid thorough tests for queue plugins.
Namespace
Drupal\Tests\purge\Kernel\QueueCode
public function testLeaseTime() : void {
$this
->assertSame(FALSE, $this->queue
->claimItem());
$this->queue
->createItem($this
->randomString());
$this
->assertEquals(1, $this->queue
->numberOfItems());
$this
->assertSame(TRUE, is_object($this->queue
->claimItem(5)));
$this
->assertSame(FALSE, $this->queue
->claimItem());
sleep(6);
$this
->assertSame(TRUE, is_object($this->queue
->claimItem(2)));
$this
->assertSame(FALSE, $this->queue
->claimItem(1));
sleep(3);
$this
->assertSame(TRUE, is_object($this->queue
->claimItem(2)));
$this->queue
->deleteQueue();
// Test claimItemMultiple which should work in the same way.
$this
->assertSame(TRUE, empty($this->queue
->claimItemMultiple(2)));
for ($i = 1; $i <= 5; $i++) {
$this->queue
->createItem($this
->randomString());
}
$this
->assertSame(count($this->queue
->claimItemMultiple(5, 5)), 5);
$this
->assertSame(TRUE, empty($this->queue
->claimItemMultiple(2)));
sleep(6);
$this
->assertSame(count($this->queue
->claimItemMultiple(5, 5)), 5);
$this->queue
->deleteQueue();
}