public void ExceptionShouldBeThrownWhenNullOptions() { var mockFormatter = new Mock <ICSVFormatter>(); var detailedReport = new detailedreport(); var sut = new CSVAnalysisWriter(mockFormatter.Object); using var resultStream = new MemoryStream(); using var resultWriter = new StreamWriter(resultStream); Should.Throw <ArgumentNullException>(() => sut.Write(resultWriter, detailedReport, null)); }
public void ExceptionShouldBeThrownWhenNullWriter() { var mockFormatter = new Mock <ICSVFormatter>(); var options = new Options { OutputFileName = "output.csv" }; var sut = new CSVFlawWriter(mockFormatter.Object); var detailedReport = new detailedreport(); Should.Throw <ArgumentNullException>(() => sut.Write(null, detailedReport, options)); }
public void ShouldReturnFilenameFromXML() { var mockFormatter = new Mock <ICSVFormatter>(); var options = new Options( ); var sut = new CSVFlawWriter(mockFormatter.Object); var detailedReport = new detailedreport { app_name = "app name" }; sut.GetOutputFilename(detailedReport, options).ShouldBe("app name.csv"); }
public void ShouldReturnFilenameIfSupplied() { var mockFormatter = new Mock <ICSVFormatter>(); var options = new Options { OutputFileName = "input.csv" }; var sut = new CSVFlawWriter(mockFormatter.Object); var detailedReport = new detailedreport(); sut.GetOutputFilename(detailedReport, options).ShouldBe("input.csv"); }
public void ShouldReturnFilenameIfSupplied() { var mockFormatter = new Mock <ICSVFormatter>(); var options = new Options { OutputFileName = "bob.csv", GenerateAnalysis = true }; var sut = new CSVAnalysisWriter(mockFormatter.Object); var detailedReport = new detailedreport(); sut.GetOutputFilename(detailedReport, options).ShouldBe("bob_sca.csv"); }
public string GetOutputFilename(detailedreport detailedXml, Options options) { var baseFilename = options.OutputFileName ?? detailedXml.app_name + ".csv"; // If we're generating flaws and SCA, add _sca var newFilename = Path.GetFileNameWithoutExtension(baseFilename) + "_sca" + Path.GetExtension( baseFilename); return(Path.Combine(Path.GetDirectoryName(baseFilename), newFilename)); }
public void ShouldReturnFilenameFromXML() { var mockFormatter = new Mock <ICSVFormatter>(); var options = new Options { GenerateAnalysis = true }; var sut = new CSVAnalysisWriter(mockFormatter.Object); var detailedReport = new detailedreport { app_name = "sca app name" }; sut.GetOutputFilename(detailedReport, options).ShouldBe("sca app name_sca.csv"); }
protected void ValidateWriteParameters(TextWriter outFile, detailedreport detailedXml, Options options) { if (outFile == null) { throw new ArgumentNullException(nameof(outFile)); } if (detailedXml == null) { throw new ArgumentNullException(nameof(detailedXml)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } }
public void Write(TextWriter outFile, detailedreport detailedXml, Options options) { ValidateWriteParameters(outFile, detailedXml, options); var includeFixed = options.IncludeFixedFlaws; WriteHeader(outFile); foreach (var severity in detailedXml.severity) { foreach (var category in severity.category) { foreach (var cwe in category.cwe) { WriteFlaws(cwe.staticflaws, outFile, includeFixed); WriteFlaws(cwe.dynamicflaws, outFile, includeFixed); WriteFlaws(cwe.manualflaws, outFile, includeFixed); } } } }
public string GetOutputFilename(detailedreport detailedXml, Options options) { return(options.OutputFileName ?? (detailedXml.app_name == null ? null : detailedXml.app_name + ".csv")); }
public void Write(TextWriter outFile, detailedreport detailedXml, Options options) { ValidateWriteParameters(outFile, detailedXml, options); WriteHeader(outFile); WriteComponents(detailedXml.software_composition_analysis.vulnerable_components, outFile); }