mirror of
https://github.com/actions/setup-dotnet.git
synced 2025-08-14 20:55:11 +00:00
47 lines
2.6 KiB
TypeScript
47 lines
2.6 KiB
TypeScript
import msbuildFile from '../.github/msbuild.json';
|
|
describe('msbuild tests', () => {
|
|
test('regular expression in msbuild.json is valid', async () => {
|
|
const regexPattern =
|
|
msbuildFile['problemMatcher'][0]['pattern'][0]['regexp'];
|
|
const regexResultsMap = msbuildFile['problemMatcher'][0]['pattern'][0];
|
|
|
|
const regex = new RegExp(regexPattern);
|
|
|
|
const stringsToMatch = [
|
|
"/Users/zacharyeisinger/Documents/repo/setup-dotnet/__tests__/sample-broken-csproj/sample.csproj : warning NU1904: Package 'System.Text.Encodings.Web' 4.7.0 has a known critical severity vulnerability, https://github.com/advisories/GHSA-ghhp-997w-qr28 [/Users/zacharyeisinger/Documents/repo/setup-dotnet/__tests__/sample-broken-csproj/sample.csproj]",
|
|
"/Users/zacharyeisinger/Documents/repo/setup-dotnet/__tests__/sample-broken-csproj/sample.csproj : error NU1904: Package 'System.Text.Encodings.Web' 4.7.0 has a known critical severity vulnerability, https://github.com/advisories/GHSA-ghhp-997w-qr28 [/Users/zacharyeisinger/Documents/repo/setup-dotnet/__tests__/sample-broken-csproj/sample.csproj]"
|
|
];
|
|
// Expected results are calculated according to the msbuild matcher located in msbuild.json file
|
|
const expectedResults = [
|
|
{
|
|
file: '/Users/zacharyeisinger/Documents/repo/setup-dotnet/__tests__/sample-broken-csproj/sample.csproj',
|
|
severity: 'warning',
|
|
code: 'NU1904',
|
|
message:
|
|
"Package 'System.Text.Encodings.Web' 4.7.0 has a known critical severity vulnerability, https://github.com/advisories/GHSA-ghhp-997w-qr28",
|
|
fromPath:
|
|
'/Users/zacharyeisinger/Documents/repo/setup-dotnet/__tests__/sample-broken-csproj/sample.csproj'
|
|
},
|
|
{
|
|
file: '/Users/zacharyeisinger/Documents/repo/setup-dotnet/__tests__/sample-broken-csproj/sample.csproj',
|
|
severity: 'error',
|
|
code: 'NU1904',
|
|
message:
|
|
"Package 'System.Text.Encodings.Web' 4.7.0 has a known critical severity vulnerability, https://github.com/advisories/GHSA-ghhp-997w-qr28",
|
|
fromPath:
|
|
'/Users/zacharyeisinger/Documents/repo/setup-dotnet/__tests__/sample-broken-csproj/sample.csproj'
|
|
}
|
|
];
|
|
|
|
stringsToMatch.map((string, index) => {
|
|
const matchedResultsArray = string.match(regex);
|
|
for (const propName in expectedResults[index]) {
|
|
const propertyIndex = regexResultsMap[propName];
|
|
const expectedPropValue = expectedResults[index][propName];
|
|
const matchedPropValue = matchedResultsArray![propertyIndex];
|
|
expect(matchedPropValue).toEqual(expectedPropValue);
|
|
}
|
|
});
|
|
}, 10000);
|
|
});
|