function DownloadTest::doTransform
Runs an input value through the download plugin.
Parameters
string $destination_uri: The destination URI to download to.
array $configuration: (optional) Configuration for the download plugin.
Return value
string The local URI of the downloaded file.
3 calls to DownloadTest::doTransform()
- DownloadTest::testNonDestructiveDownload in core/
modules/ migrate/ tests/ src/ Kernel/ process/ DownloadTest.php  - Tests a download that renames the downloaded file if there's a collision.
 - DownloadTest::testOverwritingDownload in core/
modules/ migrate/ tests/ src/ Kernel/ process/ DownloadTest.php  - Tests a download that overwrites an existing local file.
 - DownloadTest::testWriteProtectedDestination in core/
modules/ migrate/ tests/ src/ Kernel/ process/ DownloadTest.php  - Tests that an exception is thrown if the destination URI is not writable.
 
File
- 
              core/
modules/ migrate/ tests/ src/ Kernel/ process/ DownloadTest.php, line 103  
Class
- DownloadTest
 - Tests the download process plugin.
 
Namespace
Drupal\Tests\migrate\Kernel\processCode
protected function doTransform($destination_uri, $configuration = []) {
  // Prepare a mock HTTP client.
  $this->container
    ->set('http_client', $this->createMock(Client::class));
  // Instantiate the plugin statically so it can pull dependencies out of
  // the container.
  $plugin = Download::create($this->container, $configuration, 'download', []);
  // Execute the transformation.
  $executable = $this->createMock(MigrateExecutableInterface::class);
  $row = new Row([], []);
  // Return the downloaded file's local URI.
  $value = [
    'http://drupal.org/favicon.ico',
    $destination_uri,
  ];
  // Assert that number of stream resources in use is the same before and
  // after the download.
  $initial_count = count(get_resources('stream'));
  $return = $plugin->transform($value, $executable, $row, 'foo');
  $this->assertCount($initial_count, get_resources('stream'));
  return $return;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.