Generate default license baseline file in test (#17943)

This commit is contained in:
Matt Thalman 2023-12-12 08:55:30 -06:00 committed by GitHub
parent 781e19cca5
commit f5c0cfe173
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 14 additions and 90 deletions

View file

@ -166,12 +166,23 @@ public class LicenseScanTests : TestBase
string baselineName = $"Licenses.{_targetRepo}.json"; string baselineName = $"Licenses.{_targetRepo}.json";
string baselinePath = BaselineHelper.GetBaselineFilePath(baselineName, BaselineSubDir); string baselinePath = BaselineHelper.GetBaselineFilePath(baselineName, BaselineSubDir);
if (!File.Exists(baselinePath)) string expectedFilePath = Path.Combine(LogsDirectory, baselineName);
if (File.Exists(baselinePath))
{ {
Assert.Fail($"No license baseline file exists for repo '{_targetRepo}'. Expected file: {baselinePath}"); File.Copy(baselinePath, expectedFilePath, overwrite: true);
}
else
{
// If there is no license baseline, generate a default empty one.
ScancodeResults defaultResults = new();
string defaultResultsJson = JsonSerializer.Serialize(defaultResults, options);
File.WriteAllText(expectedFilePath, defaultResultsJson);
} }
BaselineHelper.CompareBaselineContents(baselineName, json, OutputHelper, Config.WarnOnLicenseScanDiffs, BaselineSubDir); string actualFilePath = Path.Combine(TestBase.LogsDirectory, $"Updated{baselineName}");
File.WriteAllText(actualFilePath, json);
BaselineHelper.CompareFiles(expectedFilePath, actualFilePath, OutputHelper, Config.WarnOnLicenseScanDiffs);
} }
private LicenseExclusion ParseLicenseExclusion(string rawExclusion) private LicenseExclusion ParseLicenseExclusion(string rawExclusion)