/** * @test * @group library */ public function copyShouldCopyAsExpected() { $sourceWebsiteId = 'SITE-mf12copy-20da-4ea8-a477-4ee793source-SITE'; $destinationWebsiteId = 'SITE-mf12copy-20da-4ea8-a477-4ee7j3f5dest-SITE'; $this->service->copyMediaFileToNewWebsite($sourceWebsiteId, $destinationWebsiteId); $expectedDestinationDirectory = $this->testMediaFilesDirectory . DIRECTORY_SEPARATOR . $destinationWebsiteId; $assertionMessage = sprintf("Destination directory '%s' has not been created", $expectedDestinationDirectory); $this->assertTrue(is_dir($expectedDestinationDirectory), $assertionMessage); $testFilesDirectory = $this->config->test->files->directory; $expectedCopyTreeFile = $testFilesDirectory . DIRECTORY_SEPARATOR . 'expected_media_copy.tree'; $expectedCopyTree = file_get_contents($expectedCopyTreeFile); $this->assertSame($expectedCopyTree, DirectoryHelper::getRecursiveAsJson($expectedDestinationDirectory, true), "Tree mismatch between copied directory tree and expected directory tree"); DirectoryHelper::removeRecursiv($expectedDestinationDirectory, $this->testMediaFilesDirectory); }
/** * @param string $sourceWebsiteId * @param string $newWebsiteId */ public function copyMediaToNewWebsite($sourceWebsiteId, $newWebsiteId) { $config = Registry::getConfig(); $mediaDirectory = $config->media->files->directory; $mediaFileService = new MediaFileService($mediaDirectory); $sourceMediaDirectory = $mediaDirectory . DIRECTORY_SEPARATOR . $sourceWebsiteId; if (is_dir($sourceMediaDirectory)) { $mediaFileService->copyMediaFileToNewWebsite($sourceWebsiteId, $newWebsiteId); } return $this->execute('copyMediaToNewWebsite', array($sourceWebsiteId, $newWebsiteId)); }