public bool Export() { try { if (!ExportCalculationItemsRecursively(calculationGroup, tempFolderPath)) { return(false); } if (itemExported) { ZipFileExportHelper.CreateZipFileFromExportedFiles(tempFolderPath, filePath); } return(true); } catch (CriticalFileWriteException e) { log.ErrorFormat(Resources.MacroStabilityInwardsCalculationGroupExporter_Export_Exception_0_no_stability_projects_exported, e.Message); return(false); } finally { if (Directory.Exists(tempFolderPath)) { DirectoryHelper.TryDelete(tempFolderPath); } } }
public void CreateZipFileFromExportedFiles_OperationThrowsIOException_ThrowsCriticalFileWriteException() { // Setup string directoryPath = TestHelper.GetScratchPadPath(nameof(CreateZipFileFromExportedFiles_OperationThrowsIOException_ThrowsCriticalFileWriteException)); Directory.CreateDirectory(directoryPath); string sourceFolderPath = Path.Combine(TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO), nameof(ZipFileExportHelper)); string destinationFilePath = Path.Combine(directoryPath, "test.zip"); try { using (new DirectoryPermissionsRevoker(directoryPath, FileSystemRights.Write)) { // Call void Call() => ZipFileExportHelper.CreateZipFileFromExportedFiles(sourceFolderPath, destinationFilePath); // Assert var exception = Assert.Throws <CriticalFileWriteException>(Call); var expectedMessage = $"Er is een onverwachte fout opgetreden tijdens het schrijven van het bestand '{destinationFilePath}'."; Assert.AreEqual(expectedMessage, exception.Message); Assert.IsNotNull(exception.InnerException); } } finally { DirectoryHelper.TryDelete(directoryPath); } }
public bool Export() { try { if (!ExportWaterLevelsForNormProbabilities() || !ExportWaterLevelCalculationsForUserDefinedTargetProbabilities() || !ExportWaveHeightCalculationsForUserDefinedTargetProbabilities()) { return(false); } ZipFileExportHelper.CreateZipFileFromExportedFiles(tempFolderPath, filePath); return(true); } catch (CriticalFileWriteException e) { log.ErrorFormat(RiskeerCommonIOResources.HydraulicBoundaryLocationsExporter_Error_Exception_0_no_HydraulicBoundaryLocations_exported, e.Message); return(false); } finally { if (Directory.Exists(tempFolderPath)) { DirectoryHelper.TryDelete(tempFolderPath); } } }
public void CreateZipFileFromExportedFiles_DestinationFilePathNull_ThrowsArgumentException() { // Call void Call() => ZipFileExportHelper.CreateZipFileFromExportedFiles("test", null); // Assert Assert.Throws <ArgumentException>(Call); }
public void CreateZipFileFromExportedFiles_SourceFolderPathNull_ThrowsArgumentException() { // Call void Call() => ZipFileExportHelper.CreateZipFileFromExportedFiles(null, "test"); // Assert Assert.Throws <ArgumentException>(Call); }
public void CreateZipFileFromExportedFiles_FileAlreadyExists_ReplacesFileWithNewlyCreatedZipFile() { // Setup string directoryPath = TestHelper.GetScratchPadPath(nameof(CreateZipFileFromExportedFiles_FileAlreadyExists_ReplacesFileWithNewlyCreatedZipFile)); Directory.CreateDirectory(directoryPath); string sourceFolderPath1 = Path.Combine(TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO), nameof(ZipFileExportHelper), "Set1"); string destinationFilePath = Path.Combine(directoryPath, "test.zip"); try { ZipFileExportHelper.CreateZipFileFromExportedFiles(sourceFolderPath1, destinationFilePath); // Precondition Assert.IsTrue(File.Exists(destinationFilePath)); using (ZipArchive zipArchive = ZipFile.OpenRead(destinationFilePath)) { var expectedFiles = new[] { "TestFile1.txt", "TestFile2.txt", "TestFile3.txt", "TestFile4.txt" }; CollectionAssert.AreEquivalent(expectedFiles, zipArchive.Entries.Select(e => e.FullName)); } string sourceFolderPath2 = Path.Combine(TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO), nameof(ZipFileExportHelper), "Set2"); // Call ZipFileExportHelper.CreateZipFileFromExportedFiles(sourceFolderPath2, destinationFilePath); // Assert Assert.IsTrue(File.Exists(destinationFilePath)); using (ZipArchive zipArchive = ZipFile.OpenRead(destinationFilePath)) { var expectedFiles = new[] { "TestFile5.txt", "TestFile6.txt", "TestFile7.txt" }; CollectionAssert.AreEquivalent(expectedFiles, zipArchive.Entries.Select(e => e.FullName)); } } finally { DirectoryHelper.TryDelete(directoryPath); } }