Your IP : 216.73.216.38
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Framework\Lock\Backend;
use Magento\Framework\App\ResourceConnection;
use Magento\Framework\App\DeploymentConfig;
/**
* \Magento\Framework\Lock\Backend\Database test case.
*/
class DatabaseTest extends \PHPUnit\Framework\TestCase
{
/**
* @var \Magento\Framework\Lock\Backend\Database
*/
private $model;
/**
* @var \Magento\Framework\ObjectManagerInterface
*/
private $objectManager;
protected function setUp(): void
{
$this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
$resourceConnection = $this->objectManager->create(ResourceConnection::class);
$deploymentConfig = $this->objectManager->create(DeploymentConfig::class);
// create object with new otherwise dummy locker is created because of di.xml preference for integration tests
$this->model = new Database($resourceConnection, $deploymentConfig);
}
public function testLockAndUnlock()
{
$name = 'test_lock';
$this->assertFalse($this->model->isLocked($name));
$this->assertTrue($this->model->lock($name));
$this->assertTrue($this->model->isLocked($name));
$this->assertTrue($this->model->unlock($name));
$this->assertFalse($this->model->isLocked($name));
}
public function testUnlockWithoutExistingLock()
{
$name = 'test_lock';
$this->assertFalse($this->model->isLocked($name));
$this->assertFalse($this->model->unlock($name));
}
}