Пример #1
0
        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);
        }