public function PluginTestBase::testCreatingClaimingAndReleasing in Purge 8.3
Test creating, claiming and releasing of items.
File
- tests/
src/ Kernel/ Queue/ PluginTestBase.php, line 130
Class
- PluginTestBase
- Provides a abstract test class to aid thorough tests for queue plugins.
Namespace
Drupal\Tests\purge\Kernel\QueueCode
public function testCreatingClaimingAndReleasing() : void {
$this->queue
->createItem([
1,
2,
3,
]);
$claim = $this->queue
->claimItem(3600);
// Change the claim data to verify that releasing changed data, persists.
$claim->data = [
4,
5,
6,
];
$this
->assertSame(FALSE, $this->queue
->claimItem(3600));
$this
->assertSame(TRUE, $this->queue
->releaseItem($claim));
$this
->assertSame(TRUE, is_object($claim = $this->queue
->claimItem(3600)));
$this
->assertSame($claim->data, [
4,
5,
6,
]);
$this->queue
->releaseItem($claim);
$this
->assertSame(count($this->queue
->createItemMultiple([
1,
2,
3,
4,
])), 4);
$claims = $this->queue
->claimItemMultiple(5, 3600);
foreach ($claims as $i => $claim) {
$claim->data = 9;
$claims[$i] = $claim;
}
$this
->assertSame($this->queue
->claimItemMultiple(5, 3600), []);
$this
->assertSame($this->queue
->releaseItemMultiple($claims), []);
$claims = $this->queue
->claimItemMultiple(5, 3600);
$this
->assertSame(count($claims), 5);
foreach ($claims as $i => $claim) {
$this
->assertEquals(9, $claim->data);
}
$this->queue
->deleteQueue();
}