Change from metric to rule

The SARIF that we are interpreting has moved away from using `metric`
to the more general term, `rule`. We need to adapt our baseline lines of
code counting to use `rule` as well.
This commit is contained in:
Andrew Eisenberg 2021-05-04 09:38:38 -07:00
parent 8e3540bb01
commit a2312a0bf3
6 changed files with 30 additions and 30 deletions

14
lib/analyze.test.js generated
View file

@ -43,23 +43,23 @@ ava_1.default("status report fields and search path setting", async (t) => {
databaseAnalyze: async (_, sarifFile, searchPath) => {
fs.writeFileSync(sarifFile, JSON.stringify({
runs: [
// variant 1 uses metricId
// variant 1 uses ruleId
{
properties: {
metricResults: [
{
metricId: `${language}/summary/lines-of-code`,
ruleId: `${language}/summary/lines-of-code`,
value: 123,
},
],
},
},
// variant 2 uses metric.id
// variant 2 uses rule.id
{
properties: {
metricResults: [
{
metric: {
rule: {
id: `${language}/summary/lines-of-code`,
},
value: 123,
@ -128,21 +128,21 @@ ava_1.default("status report fields and search path setting", async (t) => {
const sarif = JSON.parse(fs.readFileSync(filePath, "utf8"));
t.deepEqual(sarif.runs[0].properties.metricResults, [
{
metricId: `${lang}/summary/lines-of-code`,
ruleId: `${lang}/summary/lines-of-code`,
value: 123,
baseline: lineCount,
},
]);
t.deepEqual(sarif.runs[1].properties.metricResults, [
{
metric: {
rule: {
id: `${lang}/summary/lines-of-code`,
},
value: 123,
baseline: lineCount,
},
]);
// when the metric doesn't exists, it should not be added
// when the rule doesn't exists, it should not be added
t.deepEqual(sarif.runs[2].properties.metricResults, []);
}
});