public void FailsWhenNoSourceFilesToZipTest() { IAction action = new ZipFilesAction() { LoggingService = ServicesContainer.ServicesProvider.GetLoggingService(null) }; string outputZipPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + ".zip"); var actionResult = action.Execute(ArgumentCollection.New() .WithArgument(ZipFilesActionInstanceArgs.ArchivePath, outputZipPath)); Assert.IsNotNull(actionResult); Assert.IsFalse(actionResult.Result); Assert.IsNotNull(actionResult.AttachedException); Assert.AreEqual(typeof(MissingArgumentsException), actionResult.AttachedException.GetType()); actionResult = action.Execute(ArgumentCollection.New() .WithArgument(ZipFilesActionExecutionArgs.ArchivePath, outputZipPath)); Assert.IsNotNull(actionResult); Assert.IsFalse(actionResult.Result); Assert.IsNotNull(actionResult.AttachedException); Assert.AreEqual(typeof(MissingArgumentsException), actionResult.AttachedException.GetType()); // CLEANUP if (File.Exists(outputZipPath)) { File.Delete(outputZipPath); } }
public void MoveZippedFilesTest() { ZipFilesAction action = new ZipFilesAction() { LoggingService = ServicesContainer.ServicesProvider.GetLoggingService(nameof(ZipFilesAction)), MoveZippedFiles = true }; string ticks = $"{DateTime.Now.Ticks}"; string filesDirectory = Path.Combine(Path.GetTempPath(), $"dir-{ticks}"); string movingDirectory = Path.Combine(filesDirectory, "moved"); action.MoveZippedFilesToPath = movingDirectory; string file1ToZip = Path.Combine(filesDirectory, $"file-1-{ticks}.txt"); string file2ToZip = Path.Combine(filesDirectory, $"file-1-{ticks}.txt"); string outputZip = Path.Combine(filesDirectory, $"output-{ticks}.zip"); // Create filesDirectory Directory.CreateDirectory(filesDirectory); Assert.IsTrue(Directory.Exists(filesDirectory)); // Create file 1 File.WriteAllText(file1ToZip, nameof(file1ToZip)); File.WriteAllText(file2ToZip, nameof(file2ToZip)); // With execution: list of files var actionResult = action.Execute(ArgumentCollection.New() .WithArgument(ZipFilesActionExecutionArgs.FilesPaths, new List <string>() { file1ToZip, file2ToZip }) .WithArgument(ZipFilesActionExecutionArgs.ArchivePath, outputZip) ); Assert.IsNotNull(actionResult); Assert.IsTrue(actionResult.Result); Assert.IsTrue(File.Exists(outputZip)); File.Delete(outputZip); Assert.IsFalse(File.Exists(file1ToZip)); Assert.IsFalse(File.Exists(file2ToZip)); Assert.IsTrue(File.Exists(Path.Combine(movingDirectory, Path.GetFileName(file1ToZip)))); Assert.IsTrue(File.Exists(Path.Combine(movingDirectory, Path.GetFileName(file2ToZip)))); // CLEANUP if (Directory.Exists(filesDirectory)) { Directory.Delete(filesDirectory, true); } }
public void FailsWhenNoOutputZipFileTest() { IAction action = new ZipFilesAction() { LoggingService = ServicesContainer.ServicesProvider.GetLoggingService(null) }; string ticks = $"{DateTime.Now.Ticks}"; string filesDirectory = Path.Combine(Path.GetTempPath(), $"dir-{ticks}"); string file1ToZip = Path.Combine(filesDirectory, $"file-1-{ticks}.txt"); string file2ToZip = Path.Combine(filesDirectory, $"file-1-{ticks}.txt"); // Create filesDirectory Directory.CreateDirectory(filesDirectory); Assert.IsTrue(Directory.Exists(filesDirectory)); // Create file 1 File.WriteAllText(file1ToZip, nameof(file1ToZip)); File.WriteAllText(file2ToZip, nameof(file1ToZip)); // With execution: list of files var actionResult = action.Execute(ArgumentCollection.New() .WithArgument(ZipFilesActionExecutionArgs.FilesPaths, new List <string>() { file1ToZip, file2ToZip })); Assert.IsNotNull(actionResult); Assert.IsFalse(actionResult.Result); Assert.IsNotNull(actionResult.AttachedException); Assert.AreEqual(typeof(MissingArgumentsException), actionResult.AttachedException.GetType()); // With execution : files in directory actionResult = action.Execute(ArgumentCollection.New() .WithArgument(ZipFilesActionExecutionArgs.FilesInDirectoryPath, filesDirectory)); Assert.IsNotNull(actionResult); Assert.IsFalse(actionResult.Result); Assert.IsNotNull(actionResult.AttachedException); Assert.AreEqual(typeof(MissingArgumentsException), actionResult.AttachedException.GetType()); // With execution: single File ((ZipFilesAction)action).FilePath = file1ToZip; actionResult = action.Execute(ArgumentCollection.New()); Assert.IsNotNull(actionResult); Assert.IsFalse(actionResult.Result); Assert.IsNotNull(actionResult.AttachedException); Assert.AreEqual(typeof(MissingArgumentsException), actionResult.AttachedException.GetType()); // With execution : files in directory ((ZipFilesAction)action).FilePath = null; ((ZipFilesAction)action).FilesInDirectoryPath = filesDirectory; actionResult = action.Execute(ArgumentCollection.New()); Assert.IsNotNull(actionResult); Assert.IsFalse(actionResult.Result); Assert.IsNotNull(actionResult.AttachedException); Assert.AreEqual(typeof(MissingArgumentsException), actionResult.AttachedException.GetType()); // CLEANUP if (Directory.Exists(filesDirectory)) { Directory.Delete(filesDirectory, true); } if (File.Exists(file1ToZip)) { File.Delete(file1ToZip); } if (File.Exists(file2ToZip)) { File.Delete(file2ToZip); } }
public void SuccessWhenFilesExistTest() { IAction action = new ZipFilesAction() { LoggingService = ServicesContainer.ServicesProvider.GetLoggingService(null) }; string ticks = $"{DateTime.Now.Ticks}"; string filesDirectory = Path.Combine(Path.GetTempPath(), $"dir-{ticks}"); string file1ToZip = Path.Combine(filesDirectory, $"file-1-{ticks}.txt"); string file2ToZip = Path.Combine(filesDirectory, $"file-1-{ticks}.txt"); string outputZip = Path.Combine(filesDirectory, $"output-{ticks}.zip"); // Create filesDirectory Directory.CreateDirectory(filesDirectory); Assert.IsTrue(Directory.Exists(filesDirectory)); // Create file 1 File.WriteAllText(file1ToZip, nameof(file1ToZip)); File.WriteAllText(file2ToZip, nameof(file2ToZip)); // With execution: list of files var actionResult = action.Execute(ArgumentCollection.New() .WithArgument(ZipFilesActionExecutionArgs.FilesPaths, new List <string>() { file1ToZip, file2ToZip }) .WithArgument(ZipFilesActionExecutionArgs.ArchivePath, outputZip) ); Assert.IsNotNull(actionResult); Assert.IsTrue(actionResult.Result); Assert.IsTrue(File.Exists(outputZip)); File.Delete(outputZip); // With execution : files in directory // directory empty => Not files to zip actionResult = action.Execute(ArgumentCollection.New() .WithArgument(ZipFilesActionExecutionArgs.FilesInDirectoryPath, filesDirectory) .WithArgument(ZipFilesActionExecutionArgs.ArchivePath, outputZip) ); Assert.IsNotNull(actionResult); Assert.IsTrue(actionResult.Result); Assert.IsTrue(File.Exists(outputZip)); File.Delete(outputZip); // With execution: single File ((ZipFilesAction)action).FilePath = file1ToZip; actionResult = action.Execute(ArgumentCollection.New() .WithArgument(ZipFilesActionExecutionArgs.ArchivePath, outputZip) ); Assert.IsNotNull(actionResult); Assert.IsTrue(actionResult.Result); Assert.IsTrue(File.Exists(outputZip)); File.Delete(outputZip); // With execution : files in directory ((ZipFilesAction)action).FilePath = null; ((ZipFilesAction)action).FilesInDirectoryPath = filesDirectory; actionResult = action.Execute(ArgumentCollection.New() .WithArgument(ZipFilesActionExecutionArgs.ArchivePath, outputZip) ); Assert.IsNotNull(actionResult); Assert.IsTrue(actionResult.Result); Assert.IsTrue(File.Exists(outputZip)); File.Delete(outputZip); // CLEANUP if (Directory.Exists(filesDirectory)) { Directory.Delete(filesDirectory, true); } if (File.Exists(file1ToZip)) { File.Delete(file1ToZip); } if (File.Exists(file2ToZip)) { File.Delete(file2ToZip); } if (File.Exists(outputZip)) { File.Delete(outputZip); } }