public function FileCopyTest::testSuccessfulReuse in Drupal 9
Same name and namespace in other branches
- 8 core/modules/migrate/tests/src/Kernel/process/FileCopyTest.php \Drupal\Tests\migrate\Kernel\process\FileCopyTest::testSuccessfulReuse()
Tests successful file reuse.
@dataProvider providerSuccessfulReuse
Parameters
string $source_path: Source path to copy from.
string $destination_path: The destination path to copy to.
File
- core/
modules/ migrate/ tests/ src/ Kernel/ process/ FileCopyTest.php, line 87
Class
- FileCopyTest
- Tests the file_copy process plugin.
Namespace
Drupal\Tests\migrate\Kernel\processCode
public function testSuccessfulReuse($source_path, $destination_path) {
$file_reuse = $this
->doTransform($source_path, $destination_path);
clearstatcache(TRUE, $destination_path);
$timestamp = (new \SplFileInfo($file_reuse))
->getMTime();
$this
->assertIsInt($timestamp);
// We need to make sure the modified timestamp on the file is sooner than
// the attempted migration.
sleep(1);
$configuration = [
'file_exists' => 'use existing',
];
$this
->doTransform($source_path, $destination_path, $configuration);
clearstatcache(TRUE, $destination_path);
$modified_timestamp = (new \SplFileInfo($destination_path))
->getMTime();
$this
->assertEquals($timestamp, $modified_timestamp);
$this
->doTransform($source_path, $destination_path);
clearstatcache(TRUE, $destination_path);
$modified_timestamp = (new \SplFileInfo($destination_path))
->getMTime();
$this
->assertGreaterThan($timestamp, $modified_timestamp);
}