FtpTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace Gaufrette\Functional\Adapter;
  3. use Gaufrette\Adapter\Ftp;
  4. use Gaufrette\Filesystem;
  5. class FtpTest extends FunctionalTestCase
  6. {
  7. public function setUp()
  8. {
  9. $host = getenv('FTP_HOST');
  10. $port = getenv('FTP_PORT');
  11. $user = getenv('FTP_USER');
  12. $password = getenv('FTP_PASSWORD');
  13. $baseDir = getenv('FTP_BASE_DIR');
  14. if ($user === false || $password === false || $host === false || $baseDir === false) {
  15. $this->markTestSkipped('Either FTP_HOST, FTP_USER, FTP_PASSWORD and/or FTP_BASE_DIR env variables are not defined.');
  16. }
  17. $adapter = new Ftp($baseDir, $host, ['port' => $port, 'username' => $user, 'password' => $password, 'passive' => true, 'create' => true]);
  18. $this->filesystem = new Filesystem($adapter);
  19. }
  20. public function tearDown()
  21. {
  22. if (null === $this->filesystem) {
  23. return;
  24. }
  25. $adapter = $this->filesystem->getAdapter();
  26. foreach ($adapter->keys() as $key) {
  27. if (!$adapter->isDirectory($key)) {
  28. $adapter->delete($key);
  29. }
  30. }
  31. $keys = $adapter->keys();
  32. rsort($keys);
  33. foreach ($keys as $key) {
  34. $adapter->delete($key);
  35. }
  36. $adapter->close();
  37. }
  38. }