Files
Chamilo/vendor/knplabs/gaufrette/tests/Gaufrette/Functional/Adapter/PhpseclibSftpTest.php
2025-08-14 22:41:49 +02:00

46 lines
1.2 KiB
PHP

<?php
namespace Gaufrette\Functional\Adapter;
use Gaufrette\Adapter\PhpseclibSftp;
use Gaufrette\Filesystem;
use phpseclib\Net\SFTP;
class PhpseclibSftpTest extends FunctionalTestCase
{
/** @var SFTP */
private $sftp;
/** @var string */
private $baseDir;
protected function setUp(): void
{
$host = getenv('SFTP_HOST');
$port = getenv('SFTP_PORT') ?: 22;
$user = getenv('SFTP_USER');
$password = getenv('SFTP_PASSWORD');
$baseDir = getenv('SFTP_BASE_DIR');
if ($host === false || $user === false || $password === false || $baseDir === false) {
$this->markTestSkipped('Either SFTP_HOST, SFTP_USER, SFTP_PASSWORD and/or SFTP_BASE_DIR env variables are not defined.');
}
$this->baseDir = rtrim($baseDir, '/') . '/' . uniqid();
$this->sftp = new SFTP($host, $port);
$this->sftp->login($user, $password);
$this->filesystem = new Filesystem(new PhpseclibSftp($this->sftp, $this->baseDir, true));
}
protected function tearDown(): void
{
if (!isset($this->sftp)) {
return;
}
$this->sftp->rmdir($this->baseDir);
}
}