Skip to content

Commit 966089e

Browse files
committed
fixup! fixup! feat: drop number of vulnerabilities on --pre-release
1 parent 1169a82 commit 966089e

3 files changed

Lines changed: 47 additions & 12 deletions

File tree

lib/security-release/security-release.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,14 @@ export function formatDateToYYYYMMDD(date) {
132132
return `${year}/${month}/${day}`;
133133
}
134134

135-
export function getHighestSeverityAnnouncement(reports) {
136-
const highestSeverityIndex = Math.max(...reports.map(r => SECURITY_RANKS.indexOf(report.severity.rating)));
137-
138-
return `The highest severity issue fixed in this release is ${SEVERITY_RANKS[highestSeverityIndex] ?? 'NONE'}.`;
135+
export function getHighestSeverityAnnouncement(reports, releaseLine = 'this release') {
136+
const highestSeverityIndex = Math.max(...reports.map(
137+
r => SEVERITY_RANKS.indexOf(r.severity.rating.toUpperCase())
138+
));
139+
140+
return `The highest severity issue fixed in ${releaseLine} is ${
141+
SEVERITY_RANKS[highestSeverityIndex] ?? 'NONE'
142+
}.`;
139143
}
140144

141145
export function promptDependencies(cli) {

lib/security_blog.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {
77
validateDate,
88
SecurityRelease,
99
commitAndPushVulnerabilitiesJSON,
10-
getHighestSeverity,
1110
getHighestSeverityAnnouncement,
1211
} from './security-release/security-release.js';
1312
import auth from './auth.js';
@@ -337,10 +336,8 @@ export default class SecurityBlog extends SecurityRelease {
337336

338337
const result = Array.from(impact.entries())
339338
.sort(([a], [b]) => b.localeCompare(a)) // DESC
340-
.map(([version, reports]) => {
341-
return `The highest severity issue fixed in the ${version} release line is ` +
342-
`${getHighestSeverity(reports)}.`;
343-
})
339+
.map(([version, reports]) =>
340+
getHighestSeverityAnnouncement(reports, `the ${version} release line`))
344341
.join('\n');
345342

346343
return result;

test/unit/security_release.test.js

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import assert from 'node:assert';
33

44
import SecurityBlog from '../../lib/security_blog.js';
55
import {
6-
getHighestSeverity,
76
getHighestSeverityAnnouncement
87
} from '../../lib/security-release/security-release.js';
98

@@ -27,20 +26,55 @@ describe('security_release: severity announcement', () => {
2726
report(3, 'high')
2827
];
2928

30-
assert.strictEqual(getHighestSeverity(reports), 'HIGH');
3129
assert.strictEqual(
3230
getHighestSeverityAnnouncement(reports),
3331
'The highest severity issue fixed in this release is HIGH.'
3432
);
3533
});
3634

35+
it('can be customized with second argument', () => {
36+
const reports = [
37+
report(1, 'low'),
38+
report(2, 'medium'),
39+
report(3, 'high')
40+
];
41+
42+
assert.strictEqual(
43+
getHighestSeverityAnnouncement(reports, 'special release'),
44+
'The highest severity issue fixed in special release is HIGH.'
45+
);
46+
});
47+
48+
it('invalid severity ratings are ignored', () => {
49+
const reports = [
50+
report(1, 'low'),
51+
report(2, 'medium'),
52+
report(3, 'hypercritical')
53+
];
54+
55+
assert.strictEqual(
56+
getHighestSeverityAnnouncement(reports),
57+
'The highest severity issue fixed in this release is MEDIUM.'
58+
);
59+
});
60+
61+
it('if no valid rating is passed, output NONE', () => {
62+
const reports = [
63+
report(3, 'hypercritical')
64+
];
65+
66+
assert.strictEqual(
67+
getHighestSeverityAnnouncement(reports),
68+
'The highest severity issue fixed in this release is NONE.'
69+
);
70+
});
71+
3772
it('uses medium severity wording', () => {
3873
const reports = [
3974
report(1, 'low'),
4075
report(2, 'medium')
4176
];
4277

43-
assert.strictEqual(getHighestSeverity(reports), 'MEDIUM');
4478
assert.strictEqual(
4579
getHighestSeverityAnnouncement(reports),
4680
'The highest severity issue fixed in this release is MEDIUM.'

0 commit comments

Comments
 (0)