private async Task <string> _ValidateRunAsync(int i) { var file = this.Files.ElementAtOrDefault(i); // Write Log string t = FormatCli.H2($"Task: { (i + 1).ToString() }"); t += FormatCli.KeyValue("File", file.File); t += FormatCli.KeyValue("Checksum", file.Checksum); //Checks var path = DirFile.Combine(this.AppSettings.Path.Export, file.File); if (!System.IO.File.Exists(path)) { t += Environment.NewLine; t += $"Error: Could not find file {path}"; return(t); } var checksum = await Task.Run(() => FilesModel.Hash(path)); if (checksum != file.Checksum) { t += Environment.NewLine; t += $"Error: Checksum is not identical, backup maybe corrupted!"; return(t); } t += FormatCli.KeyValue("Status", "Valid!"); return(t); }
private string _ImportParams(int i) { var file = this.Files.ElementAtOrDefault(i); // Write Log string t = FormatCli.H2($"Task: { (i + 1).ToString() }"); t += FormatCli.KeyValue("File", file.File); t += FormatCli.KeyValue("Checksum", file.Checksum); //Checks var path = DirFile.Combine(this.AppSettings.Path.Export, file.File); if (!System.IO.File.Exists(path)) { t += Environment.NewLine; t += $"Error: Could not find file {path}"; return(t); } this.Import.File = path; t += FormatCli.H3("Parameter"); var connector = this.Import.Config.Format == "p" ? new Connectors.Psql(AppSettings).BinName : this.Import.BinName; t += $"{ connector } { this.Import.GetPatameters(this.Connect) }" + Environment.NewLine; return(t); }
public void Combine_Linux() { var tests = new List <Tuple <string, string, string> >() { new Tuple <string, string, string>("/var/log/", "/sample.log", "/var/log/sample.log"), new Tuple <string, string, string>("/var/log", "/sample.log", "/var/log/sample.log"), new Tuple <string, string, string>("/var/log/", "sample.log", "/var/log/sample.log"), new Tuple <string, string, string>("/var/log", "sample.log", "/var/log/sample.log"), }; foreach (var test in tests) { var c = DirFile.Combine(test.Item1, test.Item2); Assert.Equal(test.Item3, c); } }
public void Combine_Windows() { var tests = new List <Tuple <string, string, string> >() { new Tuple <string, string, string>("C:\\Tmp\\", "\\File.txt", "C:\\Tmp\\File.txt"), new Tuple <string, string, string>("C:\\Tmp\\", "File.txt", "C:\\Tmp\\File.txt"), new Tuple <string, string, string>("C:\\Tmp", "\\File.txt", "C:\\Tmp\\File.txt"), new Tuple <string, string, string>("C:\\Tmp", "File.txt", "C:\\Tmp\\File.txt"), }; foreach (var test in tests) { var c = DirFile.Combine(test.Item1, test.Item2); Assert.Equal(test.Item3, c); } }
private async Task <string> _ImportRunTaskAsync(int i) { var file = this.Files.ElementAtOrDefault(i); // Write Log string t = FormatCli.H2($"Task: { (i + 1).ToString() }"); t += FormatCli.KeyValue("File", file.File); t += FormatCli.KeyValue("Checksum", file.Checksum); //Checks var path = DirFile.Combine(this.AppSettings.Path.Export, file.File); if (!System.IO.File.Exists(path)) { t += Environment.NewLine; t += $"Error: Could not find file {path}"; return(t); } this.Import.File = path; // Validate if (this.Import.SkipValidation) { t += FormatCli.KeyValue("Status", "Skipped!"); } else { var checksum = await Task.Run(() => FilesModel.Hash(path)); if (checksum != file.Checksum) { t += Environment.NewLine; t += $"Error: Checksum is not identical, backup maybe corrupted!"; return(t); } t += FormatCli.KeyValue("Status", "Valid!"); } // Decompress var decompress = await this.Import.DecompressAsync(); // Import var task = await this.Import.RunAsync(this.Connect, this.Output); task.Duartion.Add(decompress.Duartion); t += FormatCli.KeyValue("Duration", task.Duartion.TotalMinutes + " min"); if (this.Import.Config.Verbose) { t += FormatCli.H3("Parameter"); var connector = this.Import.Config.Format == "p" ? new Connectors.Psql(AppSettings).BinName : this.Import.BinName; t += $"{ connector } { this.Import.GetPatameters(this.Connect) }" + Environment.NewLine; } if (!string.IsNullOrEmpty(task.Ouput)) { t += FormatCli.H3("Output:"); t += task.Ouput; } if (!string.IsNullOrEmpty(task.Error)) { t += FormatCli.H3("Error:"); t += task.Error; } return(t); }