You are here

public function FileTransferTest::testJail in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php \Drupal\Tests\system\Functional\FileTransfer\FileTransferTest::testJail()

File

core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php, line 74

Class

FileTransferTest
Tests that the jail is respected and that protocols using recursive file move operations work.

Namespace

Drupal\Tests\system\Functional\FileTransfer

Code

public function testJail() {
  $source = $this
    ->_buildFakeModule();

  // This convoluted piece of code is here because our testing framework does
  // not support expecting exceptions.
  $gotit = FALSE;
  try {
    $this->testConnection
      ->copyDirectory($source, sys_get_temp_dir());
  } catch (FileTransferException $e) {
    $gotit = TRUE;
  }
  $this
    ->assertTrue($gotit, 'Was not able to copy a directory outside of the jailed area.');
  $gotit = TRUE;
  try {
    $this->testConnection
      ->copyDirectory($source, $this->root . '/' . PublicStream::basePath());
  } catch (FileTransferException $e) {
    $gotit = FALSE;
  }
  $this
    ->assertTrue($gotit, 'Was able to copy a directory inside of the jailed area');
}