class FileCopyTest in Drupal 8
Same name in this branch
- 8 core/tests/Drupal/KernelTests/Core/File/FileCopyTest.php \Drupal\KernelTests\Core\File\FileCopyTest
- 8 core/modules/migrate/tests/src/Unit/process/FileCopyTest.php \Drupal\Tests\migrate\Unit\process\FileCopyTest
- 8 core/modules/migrate/tests/src/Kernel/process/FileCopyTest.php \Drupal\Tests\migrate\Kernel\process\FileCopyTest
Same name and namespace in other branches
- 9 core/modules/migrate/tests/src/Unit/process/FileCopyTest.php \Drupal\Tests\migrate\Unit\process\FileCopyTest
Tests the file copy process plugin.
@group migrate @group legacy
@coversDefaultClass \Drupal\migrate\Plugin\migrate\process\FileCopy
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\migrate\Unit\MigrateTestCase
- class \Drupal\Tests\migrate\Unit\process\MigrateProcessTestCase
- class \Drupal\Tests\migrate\Unit\process\FileCopyTest
- class \Drupal\Tests\migrate\Unit\process\MigrateProcessTestCase
- class \Drupal\Tests\migrate\Unit\MigrateTestCase
Expanded class hierarchy of FileCopyTest
File
- core/
modules/ migrate/ tests/ src/ Unit/ process/ FileCopyTest.php, line 18
Namespace
Drupal\Tests\migrate\Unit\processView source
class FileCopyTest extends MigrateProcessTestCase {
/**
* Tests that the rename configuration key will trigger a deprecation notice.
*
* @dataProvider providerDeprecationNoticeRename
*
* @param array $configuration
* The plugin configuration.
* @param $expected
* The expected value of the plugin configuration.
*
* @expectedDeprecation Using the key 'rename' is deprecated, use 'file_exists' => 'rename' instead. See https://www.drupal.org/node/2981389.
*/
public function testDeprecationNoticeRename($configuration, $expected) {
$this
->assertPlugin($configuration, $expected);
}
/**
* Data provider for testDeprecationNoticeRename.
*/
public function providerDeprecationNoticeRename() {
return [
[
[
'rename' => TRUE,
],
FileSystemInterface::EXISTS_RENAME,
],
[
[
'rename' => FALSE,
],
FileSystemInterface::EXISTS_REPLACE,
],
];
}
/**
* Tests that the reuse configuration key will trigger a deprecation notice.
*
* @dataProvider providerDeprecationNoticeReuse
*
* @param array $configuration
* The plugin configuration.
* @param $expected
* The expected value of the plugin configuration.
*
* @expectedDeprecation Using the key 'reuse' is deprecated, use 'file_exists' => 'use existing' instead. See https://www.drupal.org/node/2981389.
*/
public function testDeprecationNoticeReuse($configuration, $expected) {
$this
->assertPlugin($configuration, $expected);
}
/**
* Data provider for testDeprecationNoticeReuse.
*/
public function providerDeprecationNoticeReuse() {
return [
[
[
'reuse' => TRUE,
],
FileSystemInterface::EXISTS_ERROR,
],
[
[
'reuse' => FALSE,
],
FileSystemInterface::EXISTS_REPLACE,
],
];
}
/**
* Tests that the plugin constructor correctly sets the configuration.
*
* @dataProvider providerFileProcessBaseConstructor
*
* @param array $configuration
* The plugin configuration.
* @param $expected
* The expected value of the plugin configuration.
*/
public function testFileProcessBaseConstructor($configuration, $expected) {
$this
->assertPlugin($configuration, $expected);
}
/**
* Data provider for testFileProcessBaseConstructor.
*/
public function providerFileProcessBaseConstructor() {
return [
[
[
'file_exists' => 'replace',
],
FileSystemInterface::EXISTS_REPLACE,
],
[
[
'file_exists' => 'rename',
],
FileSystemInterface::EXISTS_RENAME,
],
[
[
'file_exists' => 'use existing',
],
FileSystemInterface::EXISTS_ERROR,
],
[
[
'file_exists' => 'foobar',
],
FileSystemInterface::EXISTS_REPLACE,
],
[
[],
FileSystemInterface::EXISTS_REPLACE,
],
];
}
/**
* Creates a TestFileCopy process plugin.
*
* @param array $configuration
* The plugin configuration.
* @param $expected
* The expected value of the plugin configuration.
*/
protected function assertPlugin($configuration, $expected) {
$stream_wrapper_manager = $this
->prophesize(StreamWrapperManagerInterface::class)
->reveal();
$file_system = $this
->prophesize(FileSystemInterface::class)
->reveal();
$download_plugin = $this
->prophesize(MigrateProcessInterface::class)
->reveal();
$this->plugin = new TestFileCopy($configuration, 'test', [], $stream_wrapper_manager, $file_system, $download_plugin);
$plugin_config = $this->plugin
->getConfiguration();
$this
->assertArrayHasKey('file_exists', $plugin_config);
$this
->assertSame($expected, $plugin_config['file_exists']);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FileCopyTest:: |
protected | function | Creates a TestFileCopy process plugin. | |
FileCopyTest:: |
public | function | Data provider for testDeprecationNoticeRename. | |
FileCopyTest:: |
public | function | Data provider for testDeprecationNoticeReuse. | |
FileCopyTest:: |
public | function | Data provider for testFileProcessBaseConstructor. | |
FileCopyTest:: |
public | function | Tests that the rename configuration key will trigger a deprecation notice. | |
FileCopyTest:: |
public | function | Tests that the reuse configuration key will trigger a deprecation notice. | |
FileCopyTest:: |
public | function | Tests that the plugin constructor correctly sets the configuration. | |
MigrateProcessTestCase:: |
protected | property | ||
MigrateProcessTestCase:: |
protected | property | ||
MigrateProcessTestCase:: |
protected | property | ||
MigrateProcessTestCase:: |
protected | function |
Overrides UnitTestCase:: |
19 |
MigrateTestCase:: |
protected | property | The migration ID map. | |
MigrateTestCase:: |
protected | property | An array of migration configuration values. | 16 |
MigrateTestCase:: |
protected | property | Local store for mocking setStatus()/getStatus(). | |
MigrateTestCase:: |
protected | function | Generates a table schema from a row. | |
MigrateTestCase:: |
protected | function | Gets an SQLite database connection object for use in tests. | |
MigrateTestCase:: |
protected | function | Retrieves a mocked migration. | 1 |
MigrateTestCase:: |
protected | function | Gets the value on a row for a given key. | 1 |
MigrateTestCase:: |
public | function | Tests a query. | |
MigrateTestCase:: |
protected | function | Asserts tested values during test retrieval. | |
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. |