/** * @covers ::requestAdvisoryLock * @covers ::releaseAdvisoryLocks */ public function testAnAdvisoryLockCanBeReleased() { $this->assertTrue($this->database->requestAdvisoryLock(1, 'test', 'lock')); $this->assertFalse($this->database->requestAdvisoryLock(2, 'test', 'lock')); $this->assertFalse($this->database->requestAdvisoryLock(3, 'test', 'lock')); $this->database->releaseAdvisoryLocks(1); $this->database->releaseAdvisoryLocks(3); $this->assertTrue($this->database->requestAdvisoryLock(2, 'test', 'lock')); $this->assertFalse($this->database->requestAdvisoryLock(1, 'test', 'lock')); $this->assertFalse($this->database->requestAdvisoryLock(3, 'test', 'lock')); }
/** * @param string $category * @param string $name * @return bool */ public function requestAdvisoryLock($category, $name) { return $this->database->requestAdvisoryLock($this->connection_id, $category, $name); }
/** * @covers ::__construct * @covers ::requestProcessLock * @covers ::<private> */ public function testAdvisoryLockCanBeAcquired() { $this->assertTrue($this->superqueue->requestProcessLock()); $this->assertFalse($this->database->requestAdvisoryLock(2, 'superqueuer', 'default')); $this->assertTrue($this->superqueue->requestProcessLock()); }