![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Backup/Test/Unit/Filesystem/Rollback/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Backup\Test\Unit\Filesystem\Rollback; use Magento\Framework\Backup\Filesystem; use Magento\Framework\Backup\Filesystem\Helper; use Magento\Framework\Backup\Filesystem\Rollback\Fs; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; require_once __DIR__ . '/_files/ioMock.php'; class FsTest extends TestCase { /** * @var ObjectManager */ private $objectManager; /** * @var Filesystem|MockObject */ private $snapshotMock; /** * @var Helper|MockObject */ private $fsHelperMock; /** * @var Fs */ private $fs; /** * @var string */ private $backupPath; /** * @var string */ private $rootDir; /** * @var array */ private $ignorePaths; protected function setUp(): void { $this->backupPath = '/some/test/path'; $this->rootDir = '/'; $this->ignorePaths = []; $this->objectManager = new ObjectManager($this); $this->snapshotMock = $this->getMockBuilder(Filesystem::class) ->setMethods(['getBackupPath', 'getRootDir', 'getIgnorePaths']) ->getMock(); $this->snapshotMock->expects($this->any()) ->method('getBackupPath') ->willReturn($this->backupPath); $this->snapshotMock->expects($this->any()) ->method('getRootDir') ->willReturn($this->rootDir); $this->snapshotMock->expects($this->any()) ->method('getIgnorePaths') ->willReturn($this->ignorePaths); $this->fsHelperMock = $this->getMockBuilder(Helper::class) ->setMethods(['getInfo', 'rm']) ->getMock(); $this->fs = $this->objectManager->getObject( Fs::class, [ 'snapshotObject' => $this->snapshotMock, 'fsHelper' => $this->fsHelperMock, ] ); } public function testRunNotEnoughPermissions() { $this->expectException('Magento\Framework\Backup\Exception\NotEnoughPermissions'); $this->expectExceptionMessage('You need write permissions for: test1, test2'); $fsInfo = [ 'writable' => false, 'writableMeta' => ['test1', 'test2'], ]; $this->fsHelperMock->expects($this->once()) ->method('getInfo') ->willReturn($fsInfo); $this->fs->run(); } public function testRun() { $fsInfo = ['writable' => true]; $this->fsHelperMock->expects($this->once()) ->method('getInfo') ->willReturn($fsInfo); $this->fsHelperMock->expects($this->once()) ->method('rm') ->with($this->rootDir, $this->ignorePaths); $this->fs->run(); } }