function DownloadTest::doTransform

Same name in other branches
  1. 8.9.x core/modules/migrate/tests/src/Kernel/process/DownloadTest.php \Drupal\Tests\migrate\Kernel\process\DownloadTest::doTransform()
  2. 10 core/modules/migrate/tests/src/Kernel/process/DownloadTest.php \Drupal\Tests\migrate\Kernel\process\DownloadTest::doTransform()
  3. 11.x core/modules/migrate/tests/src/Kernel/process/DownloadTest.php \Drupal\Tests\migrate\Kernel\process\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 101

Class

DownloadTest
Tests the download process plugin.

Namespace

Drupal\Tests\migrate\Kernel\process

Code

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.