Spamworldpro Mini Shell
Spamworldpro


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/module-remote-storage/Test/Unit/Model/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/magento/module-remote-storage/Test/Unit/Model/SynchronizerTest.php
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\RemoteStorage\Test\Unit\Model;

use Magento\Framework\Exception\FileSystemException;
use Magento\Framework\Exception\ValidatorException;
use Magento\Framework\Filesystem\Directory\WriteInterface;
use Magento\Framework\Filesystem\DriverInterface;
use Magento\RemoteStorage\Filesystem;
use Magento\RemoteStorage\Model\Synchronizer;
use PHPUnit\Framework\TestCase;
use Magento\Framework\Filesystem\DriverPool;
use Magento\RemoteStorage\Driver\DriverPool as RemoteDriverPool;

/**
 * @see Synchronizer
 */
class SynchronizerTest extends TestCase
{
    /**
     * @var Synchronizer
     */
    private $synchronizer;

    /**
     * @var Filesystem
     */
    private $filesystemMock;

    /**
     * @inheritDoc
     */
    protected function setUp(): void
    {
        $this->filesystemMock = $this->createMock(Filesystem::class);

        $this->synchronizer = new Synchronizer(
            $this->filesystemMock
        );
    }

    /**
     * @throws FileSystemException
     * @throws ValidatorException
     */
    public function testExecute(): void
    {
        $this->filesystemMock->method('getDirectoryCodes')
            ->willReturn(['test', 'import_export']);

        $localDriver = $this->createMock(DriverInterface::class);
        $remoteDriver = $this->createMock(DriverInterface::class);

        $localDirectory = $this->createMock(WriteInterface::class);
        $localDirectory->method('getDriver')
            ->willReturn($localDriver);
        $remoteDirectory = $this->createMock(WriteInterface::class);
        $remoteDirectory->method('getDriver')
            ->willReturn($remoteDriver);

        $this->filesystemMock->expects(self::exactly(2))
            ->method('getDirectoryWrite')
            ->willReturnMap([
                ['test', DriverPool::FILE, $localDirectory],
                ['test', RemoteDriverPool::REMOTE, $remoteDirectory]
            ]);
        $localDirectory->method('getAbsolutePath')
            ->willReturnMap([
                [null, __DIR__ . '/_files/test']
            ]);
        $localDirectory->method('getRelativePath')
            ->willReturnCallback(function ($arg) {
                return str_replace(__DIR__, '', $arg);
            });
        $remoteDirectory->expects(self::exactly(2))
            ->method('isExist')
            ->willReturnMap([
                [
                    'remote:/_files/test/root_file.txt',
                    false
                ],
                [
                    'remote:/_files/test/.dot_directory/child_file.txt',
                    true
                ]
            ]);
        $remoteDirectory->method('getAbsolutePath')
            ->willReturnCallback(function ($arg) {
                return 'remote:' . $arg;
            });
        $localDriver->expects(self::once())
            ->method('copy')
            ->withConsecutive(
                [__DIR__ . '/_files/test/root_file.txt', 'remote:/_files/test/root_file.txt', $remoteDriver]
            );

        self::assertSame(
            [
                '/_files/test/root_file.txt',
                '/_files/test/.dot_directory'
            ],
            iterator_to_array($this->synchronizer->execute(), false)
        );
    }
}

Spamworldpro Mini