public void SarifLogger_WritesFileData()
{
var sb = new StringBuilder();
string file;
using (var tempFile = new TempFile(".cpp"))
using (var textWriter = new StringWriter(sb))
{
file = tempFile.Name;
File.WriteAllText(file, "#include \"windows.h\";");
using (var sarifLogger = new SarifLogger(
textWriter,
analysisTargets: new string[] { file },
verbose: false,
computeTargetsHash: true,
logEnvironment: false,
prereleaseInfo: null,
invocationTokensToRedact: null))
{
}
}
string logText = sb.ToString();
string fileDataKey = new Uri(file).ToString();
var sarifLog = JsonConvert.DeserializeObject<SarifLog>(logText);
sarifLog.Runs[0].Files[fileDataKey].MimeType.Should().Be(MimeType.Cpp);
sarifLog.Runs[0].Files[fileDataKey].Hashes[0].Algorithm.Should().Be(AlgorithmKind.MD5);
sarifLog.Runs[0].Files[fileDataKey].Hashes[0].Value.Should().Be("4B9DC12934390387862CC4AB5E4A2159");
sarifLog.Runs[0].Files[fileDataKey].Hashes[1].Algorithm.Should().Be(AlgorithmKind.Sha1);
sarifLog.Runs[0].Files[fileDataKey].Hashes[1].Value.Should().Be("9B59B1C1E3F5F7013B10F6C6B7436293685BAACE");
sarifLog.Runs[0].Files[fileDataKey].Hashes[2].Algorithm.Should().Be(AlgorithmKind.Sha256);
sarifLog.Runs[0].Files[fileDataKey].Hashes[2].Value.Should().Be("0953D7B3ADA7FED683680D2107EE517A9DBEC2D0AF7594A91F058D104B7A2AEB");
}