function LockFunctionalTest::testPersistentLock
Tests that the persistent lock is persisted between requests.
File
- 
              core/
modules/ system/ tests/ src/ Functional/ Lock/ LockFunctionalTest.php, line 66  
Class
- LockFunctionalTest
 - Confirm locking works between two separate requests.
 
Namespace
Drupal\Tests\system\Functional\LockCode
public function testPersistentLock() : void {
  $persistent_lock = $this->container
    ->get('lock.persistent');
  // Get a persistent lock.
  $this->drupalGet('system-test/lock-persist/lock1');
  $this->assertSession()
    ->pageTextContains('TRUE: Lock successfully acquired in SystemTestController::lockPersist()');
  // Ensure that a shutdown function has not released the lock.
  $this->assertFalse($persistent_lock->lockMayBeAvailable('lock1'));
  $this->drupalGet('system-test/lock-persist/lock1');
  $this->assertSession()
    ->pageTextContains('FALSE: Lock not acquired in SystemTestController::lockPersist()');
  // Get another persistent lock.
  $this->drupalGet('system-test/lock-persist/lock2');
  $this->assertSession()
    ->pageTextContains('TRUE: Lock successfully acquired in SystemTestController::lockPersist()');
  $this->assertFalse($persistent_lock->lockMayBeAvailable('lock2'));
  // Release the first lock and try getting it again.
  $persistent_lock->release('lock1');
  $this->drupalGet('system-test/lock-persist/lock1');
  $this->assertSession()
    ->pageTextContains('TRUE: Lock successfully acquired in SystemTestController::lockPersist()');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.