Skip to content

Commit b0bb6b0

Browse files
feat: adapt code to match ssvc v2
1 parent c66091b commit b0bb6b0

File tree

2 files changed

+22
-11
lines changed

2 files changed

+22
-11
lines changed

csaf_2_1/mandatoryTests/mandatoryTest_6_1_46.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Ajv from 'ajv/dist/jtd.js'
2-
import csafAjv from '../../lib/shared/csafAjv.js'
2+
import csafAjv from '../csafAjv.js'
33

44
const ajv = new Ajv()
55

@@ -23,7 +23,7 @@ const inputSchema = /** @type {const} */ ({
2323
content: {
2424
additionalProperties: true,
2525
optionalProperties: {
26-
ssvc_v1: {
26+
ssvc_v2: {
2727
additionalProperties: true,
2828
properties: {},
2929
},
@@ -40,8 +40,8 @@ const inputSchema = /** @type {const} */ ({
4040

4141
const validateInput = ajv.compile(inputSchema)
4242

43-
const validate_ssvc_v1 = csafAjv.compile({
44-
$ref: 'https://certcc.github.io/SSVC/data/schema/v1/Decision_Point_Value_Selection-1-0-1.schema.json',
43+
const validate_ssvc_v2 = csafAjv.compile({
44+
$ref: 'https://certcc.github.io/SSVC/data/schema/v2/Decision_Point_Value_Selection-2-0-0.schema.json',
4545
})
4646

4747
/**
@@ -66,13 +66,13 @@ export function mandatoryTest_6_1_46(doc) {
6666

6767
doc.vulnerabilities?.forEach((vulnerability, vulnerabilityIndex) => {
6868
vulnerability.metrics?.forEach((metric, metricIndex) => {
69-
if (metric.content?.ssvc_v1) {
70-
const valid = validate_ssvc_v1(metric.content.ssvc_v1)
69+
if (metric.content?.ssvc_v2) {
70+
const valid = validate_ssvc_v2(metric.content.ssvc_v2)
7171
if (!valid) {
7272
ctx.isValid = false
73-
for (const err of validate_ssvc_v1.errors ?? []) {
73+
for (const err of validate_ssvc_v2.errors ?? []) {
7474
ctx.errors.push({
75-
instancePath: `/vulnerabilities/${vulnerabilityIndex}/metrics/${metricIndex}/content/ssvc_v1${err.instancePath}`,
75+
instancePath: `/vulnerabilities/${vulnerabilityIndex}/metrics/${metricIndex}/content/ssvc_v2${err.instancePath}`,
7676
message: err.message ?? '',
7777
})
7878
}

tests/csaf_2_1/mandatoryTest_6_1_46.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,20 @@ const failingInputSchemaTestWithEmptyVulnerability6_1_46 = {
1010
metrics: [
1111
{
1212
content: {
13-
ssvc_v1: {
14-
id: 'CVE-1900-0001',
15-
schemaVersion: '1-0-1',
13+
ssvc_v2: {
14+
schemaVersion: '2.0.0',
15+
selections: [
16+
{
17+
key: 'MI',
18+
namespace: 'ssvc',
19+
values: [
20+
{
21+
key: 'N',
22+
},
23+
],
24+
version: '1.0.0',
25+
},
26+
],
1627
timestamp: '2024-01-24T10:00:00.000Z',
1728
},
1829
},

0 commit comments

Comments
 (0)