Пример #1
0
        public void CreateDirectoryTest()
        {
            var tempFolder = GetTempFolder();
            var fs         = new FileSystemStorage();

            var path = fs.Combine(tempFolder, Guid.NewGuid().ToString());

            fs.CreateDirectory(path);

            var result = fs.DirectoryExists(path);

            if (!result)
            {
                Trace.WriteLine($"Failed to create directory: {path}");
                Assert.Fail();
            }

            fs.DeleteDirectory(path);

            result = fs.DirectoryExists(path);
            if (result)
            {
                Trace.WriteLine($"Failed to delete directory: {path}");
                Assert.Fail();
            }
        }
Пример #2
0
        public void DirectoryExistsTest()
        {
            var tempFolder = GetTempFolder();
            var fs         = new FileSystemStorage();

            var path   = fs.Combine(tempFolder, Guid.NewGuid().ToString());
            var result = fs.DirectoryExists(path);

            if (result)
            {
                Trace.WriteLine($"Directory {path} exists on file system");
                Assert.Fail();
            }

            path = fs.Combine(tempFolder, Guid.NewGuid().ToString());
            fs.CreateDirectory(path);

            result = fs.DirectoryExists(path);
            if (!result)
            {
                Trace.WriteLine($"Directory {path} does no exist on file system");
                Assert.Fail();
            }

            fs.DeleteDirectory(path);
        }
Пример #3
0
        //public void SaveHistoryItem(string path, HistoryItem item)
        //{
        //    var fileName = m_Storage.GetFileName(path);
        //    var directory = m_Storage.GetDirectoryName(path);

        //    var historyDir = m_Storage.Combine(directory, HistoryDirectory);
        //    m_Storage.CreateDirectory(historyDir);

        //    var destPath = m_Storage.Combine(historyDir, fileName + "_history.json");

        //    string json = json = JsonConvert.SerializeObject(item, Formatting.Indented);

        //    File.WriteAllText(destPath, json);
        //}

        public void SaveHistory(BackupPerfectLogger logger = null)
        {
            var m_IStorage = new FileSystemStorage();
            var fullPath   = m_IStorage.Combine(HistoryData.TargetPath, HistoryData.SessionSignature);

            var historyDir = m_IStorage.Combine(fullPath, HistoryDirectory);

            m_IStorage.CreateDirectory(historyDir);

            string historyFile = m_IStorage.Combine(historyDir, $"{HistoryData.SessionSignature}_history.json");

            var historyData = new object[1];

            historyData[0] = this;
            string json = json = JsonConvert.SerializeObject(historyData, Formatting.Indented);

            File.WriteAllText(historyFile, json);
        }
Пример #4
0
        public void MoveFileTest()
        {
            var tempFolder = GetTempFolder();
            var fs         = new FileSystemStorage();

            var testData = new List <Tuple <string, string> >
            {
                new Tuple <string, string>(@"file1.txt", @"folder2\file2.txt"),
            };

            foreach (var data in testData)
            {
                var path1 = fs.Combine(tempFolder, data.Item1);
                var path2 = fs.Combine(tempFolder, data.Item2);

                //Delete leftovers
                try { fs.DeleteFile(path1); } catch { }
                try { fs.DeleteFile(path2); } catch { }
                try { fs.DeleteDirectory(fs.GetDirectoryName(path2)); } catch { }

                System.IO.File.WriteAllText(path1, "test file");

                //simple move target folder no exists
                try
                {
                    fs.MoveFile(path1, path2);
                    Trace.WriteLine($"move to {path2} shuold fail to move file - path error");
                    Assert.Fail();
                }
                catch { }

                try { fs.CreateDirectory(fs.GetDirectoryName(path2)); } catch { }

                //simple move
                fs.MoveFile(path1, path2);
                if (!fs.FileExists(path2))
                {
                    Trace.WriteLine($"failed to move file {path2}");
                    Assert.Fail();
                }

                //file already exist
                fs.CopyFile(path2, path1);
                try
                {
                    fs.MoveFile(path1, path2);
                    Trace.WriteLine($"Moveto {path2} shuold fail- file exist");
                    Assert.Fail();
                }
                catch { }

                if (!fs.FileExists(path2))
                {
                    Trace.WriteLine($"File was deleted{path1}");
                    Assert.Fail();
                }

                if (!fs.FileExists(path2))
                {
                    Trace.WriteLine($"File not copied - override {path2}");
                    Assert.Fail();
                }

                fs.DeleteFile(path1);
                fs.DeleteFile(path2);

                var targetFileName      = fs.GetFileName(path2);
                var targetDirectoryName = path2.Substring(0, path2.Length - targetFileName.Length);
                fs.DeleteDirectory(targetDirectoryName);
            }
        }