|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / app / code / Amasty / ImportPro / Test / Integration / FileResolver / |
Filename | /home/dev2.destoffenstraat.com/app/code/Amasty/ImportPro/Test/Integration/FileResolver/FtpTest.php |
Size | 2.88 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 14-Jun-2025 23:42 |
Last accessed | 23-Aug-2025 06:35 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
declare(strict_types=1);
/**
* @author Amasty Team
* @copyright Copyright (c) Amasty (https://www.amasty.com)
* @package Import Pro for Magento 2 (System)
*/
namespace Amasty\ImportPro\Test\Integration\FileResolver;
use Amasty\ImportCore\Api\ImportProcessInterface;
use Amasty\ImportCore\Import\Config\ProfileConfig;
use Amasty\ImportPro\Import\FileResolver\Type\FtpFile\FileResolver;
use Amasty\ImportPro\Import\FileResolver\Type\FtpFile\ConfigInterface as ResolverConfigInterface;
use Amasty\ImportPro\Test\Integration\FileResolver\Ftp\FakeFtp;
use Magento\Framework\ObjectManagerInterface;
use Magento\TestFramework\Helper\Bootstrap;
class FtpTest extends \PHPUnit\Framework\TestCase
{
public const HOST = 'example.net';
public const PORT = 1488;
public const LOGIN = 'test_username';
public const PASSWORD = 'test_password';
public const FILE_CONTENTS = 'hello';
public const PATH_TO_FILE = '/path/to/file.csv';
/**
* @var ObjectManagerInterface
*/
private $objectManager;
protected function setUp(): void
{
$this->objectManager = Bootstrap::getObjectManager();
}
public function testExecute()
{
/** @var FakeFtp $fakeFtp */
$fakeFtp = $this->objectManager->create(FakeFtp::class, [
'host' => self::HOST,
'port' => self::PORT,
'user' => self::LOGIN,
'password' => self::PASSWORD,
'files' => [
self::PATH_TO_FILE => self::FILE_CONTENTS
]
]);
/** @var FileResolver $resolver */
$resolver = $this->objectManager->create(
FileResolver::class,
['ftp' => $fakeFtp]
);
/** @var ProfileConfig $profileConfig */
$profileConfig = $this->objectManager->create(ProfileConfig::class);
/** @var ResolverConfigInterface $resolverConfig */
$resolverConfig = $this->objectManager->create(ResolverConfigInterface::class);
$resolverConfig->setPassword(self::PASSWORD);
$resolverConfig->setUser(self::LOGIN);
$resolverConfig->setHost(self::HOST . ':' . self::PORT);
$resolverConfig->setPath(self::PATH_TO_FILE);
$resolverConfig->setIsPassiveMode(true);
$profileConfig->getExtensionAttributes()->setFtpFileResolver($resolverConfig);
$profileConfig->setSourceType('csv');
/** @var ImportProcessInterface $importProcess */
$importProcess = $this->objectManager->create(
ImportProcessInterface::class,
[
'identity' => 'some_identity',
'profileConfig' => $profileConfig
]
);
$filePath = $resolver->execute($importProcess);
$this->assertFileExists($filePath);
$this->assertEquals(self::FILE_CONTENTS, file_get_contents($filePath));
$this->assertFalse($fakeFtp->isOpened());
}
}
declare(strict_types=1);
/**
* @author Amasty Team
* @copyright Copyright (c) Amasty (https://www.amasty.com)
* @package Import Pro for Magento 2 (System)
*/
namespace Amasty\ImportPro\Test\Integration\FileResolver;
use Amasty\ImportCore\Api\ImportProcessInterface;
use Amasty\ImportCore\Import\Config\ProfileConfig;
use Amasty\ImportPro\Import\FileResolver\Type\FtpFile\FileResolver;
use Amasty\ImportPro\Import\FileResolver\Type\FtpFile\ConfigInterface as ResolverConfigInterface;
use Amasty\ImportPro\Test\Integration\FileResolver\Ftp\FakeFtp;
use Magento\Framework\ObjectManagerInterface;
use Magento\TestFramework\Helper\Bootstrap;
class FtpTest extends \PHPUnit\Framework\TestCase
{
public const HOST = 'example.net';
public const PORT = 1488;
public const LOGIN = 'test_username';
public const PASSWORD = 'test_password';
public const FILE_CONTENTS = 'hello';
public const PATH_TO_FILE = '/path/to/file.csv';
/**
* @var ObjectManagerInterface
*/
private $objectManager;
protected function setUp(): void
{
$this->objectManager = Bootstrap::getObjectManager();
}
public function testExecute()
{
/** @var FakeFtp $fakeFtp */
$fakeFtp = $this->objectManager->create(FakeFtp::class, [
'host' => self::HOST,
'port' => self::PORT,
'user' => self::LOGIN,
'password' => self::PASSWORD,
'files' => [
self::PATH_TO_FILE => self::FILE_CONTENTS
]
]);
/** @var FileResolver $resolver */
$resolver = $this->objectManager->create(
FileResolver::class,
['ftp' => $fakeFtp]
);
/** @var ProfileConfig $profileConfig */
$profileConfig = $this->objectManager->create(ProfileConfig::class);
/** @var ResolverConfigInterface $resolverConfig */
$resolverConfig = $this->objectManager->create(ResolverConfigInterface::class);
$resolverConfig->setPassword(self::PASSWORD);
$resolverConfig->setUser(self::LOGIN);
$resolverConfig->setHost(self::HOST . ':' . self::PORT);
$resolverConfig->setPath(self::PATH_TO_FILE);
$resolverConfig->setIsPassiveMode(true);
$profileConfig->getExtensionAttributes()->setFtpFileResolver($resolverConfig);
$profileConfig->setSourceType('csv');
/** @var ImportProcessInterface $importProcess */
$importProcess = $this->objectManager->create(
ImportProcessInterface::class,
[
'identity' => 'some_identity',
'profileConfig' => $profileConfig
]
);
$filePath = $resolver->execute($importProcess);
$this->assertFileExists($filePath);
$this->assertEquals(self::FILE_CONTENTS, file_get_contents($filePath));
$this->assertFalse($fakeFtp->isOpened());
}
}