public static void Create(string source, string destination, string issuer, string comment) { if (!Directory.Exists(source)) throw new ArgumentException("Source directory not found."); if (!Directory.Exists(destination)) throw new ArgumentException("Destination directory not found."); var workingDirectory = new WorkingDirectory(source); workingDirectory.ImportFiles(); var backupStatus = new BackupStatus(); string newId = new Random().Next().ToString(); if (File.Exists(Path.Combine(destination, "1.zip"))) { File.Move(Path.Combine(destination, "1.zip"), Path.Combine(destination, newId + ".zip")); } else { newId = null; } backupStatus.ReadFiles(Path.Combine(destination, newId + ".zip"), true); workingDirectory.CreateIncrementalBackup(Path.Combine(destination, "1.zip"), backupStatus, newId, comment, issuer); }
public void WorkingDirectoryScannerScansDirectoryCorrectly() { var directory = new WorkingDirectory(WorkingDirectory); directory.ImportFiles (); Assert.IsNotNull(directory.Root.Children.SingleOrDefault(a => a.VirtualPath == "./test1.txt")); Assert.IsNotNull(directory.Root.Children.SingleOrDefault(a => a.VirtualPath == "./test2.txt")); Assert.IsNotNull(directory.Root.Children.SingleOrDefault(a => a.VirtualPath == "./test3.txt")); Assert.IsNotNull(directory.Root.Children.SingleOrDefault(a => a.VirtualPath == "./a/test4.txt")); Assert.IsNotNull(directory.Root.Children.SingleOrDefault(a => a.VirtualPath == "./b/test5.txt")); Assert.IsNotNull(directory.Root.Children.SingleOrDefault(a => a.VirtualPath == "./a/b/test6.txt")); foreach (var backupFile in directory.Root.Children) { Assert.IsNotNull(backupFile.FileHash); Assert.AreEqual(WorkingDirectory, backupFile.ArchivePath); Assert.IsNotNull(backupFile.VirtualPath); Assert.IsNotNull(backupFile.Name); } }
public void WorkingDirectoryRootIsNotNull() { var directory = new WorkingDirectory(WorkingDirectory); Assert.IsNotNull(directory.Root); }
public void WorkingDirectoryPathPropertyMatchesConstructorParameter() { var directory = new WorkingDirectory(WorkingDirectory); Assert.AreEqual(WorkingDirectory, directory.WorkingDirectoryPath); }