Skip to content

fix(CSAF2.1): #197 fix mandatoryTest_6_1_27.8 - #648

Open
bendo-eXX wants to merge 4 commits into
mainfrom
fix/csaf-2.1_mandatory_test_6.1.27.8
Open

fix(CSAF2.1): #197 fix mandatoryTest_6_1_27.8#648
bendo-eXX wants to merge 4 commits into
mainfrom
fix/csaf-2.1_mandatory_test_6.1.27.8

Conversation

@bendo-eXX

Copy link
Copy Markdown
Contributor

No description provided.

@bendo-eXX bendo-eXX self-assigned this Jun 18, 2026
@github-actions

Copy link
Copy Markdown

Coverage after merging fix/csaf-2.1_mandatory_test_6.1.27.8 into main

99.84%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
cwe.js100%100%100%100%
informativeTests.js100%100%100%100%
mandatoryTests.js100%100%100%100%
optionalTests.js100%100%100%100%
schemaTests.js100%100%100%100%
strip.js100%100%100%100%
validate.js100%100%100%100%
validateStrict.js90.91%66.67%100%93.10%27, 27–28
csaf_2_1
   csafAjv.js100%100%100%100%
   dateHelper.js97.96%86.67%100%100%63, 65
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   recommendedTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   sharingGroup.js100%100%100%100%
csaf_2_1/csafAjv
   SelectionList_2_0_0.schema.js100%100%100%100%
   content_schema.js100%100%100%100%
   csaf_meta.js100%100%100%100%
   cvss-v4.0.0.js100%100%100%100%
   cvss_meta.js100%100%100%100%
   draft-07-schema.js100%100%100%100%
   extension-content.js100%100%100%100%
   meta-format-assertion.js100%100%100%100%
csaf_2_1/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_12.js100%100%100%100%
   informativeTest_6_3_18.js100%100%100%100%
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js100%100%100%100%
csaf_2_1/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js99.64%96.97%100%100%179
   mandatoryTest_6_1_11.js89.72%80%100%90.63%54–56, 64–71
   mandatoryTest_6_1_13.js99.53%96.15%100%100%137
   mandatoryTest_6_1_2.js100%100%100%100%
   mandatoryTest_6_1_25.js100%100%100%100%
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_12.js100%100%100%100%
   mandatoryTest_6_1_27_14.js100%100%100%100%
   mandatoryTest_6_1_27_15.js100%100%100%100%
   mandatoryTest_6_1_27_16.js100%100%100%100%
   mandatoryTest_6_1_27_17.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_18.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_19.js92.31%80%100%94.06%79–80, 82–88
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_8.js100%100%100%100%
   mandatoryTest_6_1_34.js95.92%81.82%100%97.65%55–57, 77
   mandatoryTest_6_1_35.js100%100%100%100%
   mandatoryTest_6_1_36.js97.10%72.22%100%99.10%146–148, 156, 183, 185, 199
   mandatoryTest_6_1_37.js99.50%91.67%100%100%147
   mandatoryTest_6_1_39.js100%100%100%100%
   mandatoryTest_6_1_40.js100%100%100%100%
   mandatoryTest_6_1_41.js100%100%100%100%
   mandatoryTest_6_1_42.js100%100%100%100%
   mandatoryTest_6_1_43.js100%100%100%100%
   mandatoryTest_6_1_44.js100%100%100%100%
   mandatoryTest_6_1_45.js100%100%100%100%
   mandatoryTest_6_1_46.js97.94%81.82%100%100%73, 76
   mandatoryTest_6_1_51.js100%100%100%100%
   mandatoryTest_6_1_52.js100%100%100%100%
   mandatoryTest_6_1_53.js100%100%100%100%
   mandatoryTest_6_1_57.js100%100%100%100%
   mandatoryTest_6_1_58.js100%100%100%100%
   mandatoryTest_6_1_6.js100%100%100%100%
   mandatoryTest_6_1_61.js100%100%100%100%
   mandatoryTest_6_1_7.js100%100%100%100%
   mandatoryTest_6_1_8.js93.15%61.90%100%98.39%100, 103, 112, 115, 74–76, 81, 88, 91
   mandatoryTest_6_1_9.js100%100%100%100%
   mandatoryTests_6_1_38.js100%100%100%100%
csaf_2_1/mandatoryTests/shared
   docProductUtils.js96.13%78.95%100%98.51%121, 67–69, 77, 92
   wildcardUtils.js100%100%100%100%
csaf_2_1/recommendedTests
   recommendedTest_6_2_1.js100%100%100%100%
   recommendedTest_6_2_10.js70%100%0%75%7–8
   recommendedTest_6_2_11.js70%100%0%75%7–8
   recommendedTest_6_2_12.js100%100%100%100%
   recommendedTest_6_2_13.js100%100%100%100%
   recommendedTest_6_2_14.js100%100%100%100%
   recommendedTest_6_2_15.js100%100%100%100%
   recommendedTest_6_2_16.js100%100%100%100%
   recommendedTest_6_2_17.js100%100%100%100%
   recommendedTest_6_2_18.js100%100%100%100%
   recommendedTest_6_2_19.js70%100%0%75%7–8
   recommendedTest_6_2_2.js100%100%100%100%
   recommendedTest_6_2_21.js100%100%100%100%
   recommendedTest_6_2_22.js100%100%100%100%
   recommendedTest_6_2_23.js100%100%100%100%
   recommendedTest_6_2_25.js100%100%100%100%
   recommendedTest_6_2_27.js97.24%82.61%100%98.96%124–126, 141, 145, 166
   recommendedTest_6_2_28.js100%100%100%100%
   recommendedTest_6_2_29.js100%100%100%100%
   recommendedTest_6_2_3.js97.67%87.50%100%98.70%63–64
   recommendedTest_6_2_30.js100%100%100%100%
   recommendedTest_6_2_38.js100%100%100%100%
   recommendedTest_6_2_39_2.js100%100%100%100%
   recommendedTest_6_2_39_3.js100%100%100%100%
   recommendedTest_6_2_39_4.js100%100%100%100%
   recommendedTest_6_2_4.js100%100%100%100%
   recommendedTest_6_2_40.js100%100%100%100%
   recommendedTest_6_2_41.js100%100%100%100%
   recommendedTest_6_2_43.js100%100%100%100%
   recommendedTest_6_2_47.js100%100%100%100%
   recommendedTest_6_2_48.js100%100%100%100%
   recommendedTest_6_2_5.js100%100%100%100%
   recommendedTest_6_2_6.js100%100%100%100%
   recommendedTest_6_2_7.js100%100%100%100%
   recommendedTest_6_2_8.js100%100%100%100%
   recommendedTest_6_2_9.js100%100%100%100%
csaf_2_1/recommendedTests/shared
   checkForUnsafeHashAlgorithms.js98.53%87.50%100%100%31
csaf_2_1/schemaTests
   csaf_2_1.js93.10%100%100%92.31%22–23
   csaf_2_1_strict.js93.10%100%100%92.31%22–23
csaf_2_1/schemaTests/csaf_2_1
   schema.js100%100%100%100%
csaf_2_1/schemaTests/csaf_2_1_strict
   schema.js100%100%100%100%
csaf_2_1/shared/csafHelpers
   walkHashes.js93.41%76.92%100%96.10%100, 117–119, 123, 140–142, 146, 94–96
lib
   cwec.js100%100%100%100%
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   optionalTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   strip.js100%100%100%100%
   validate.js100%100%100%100%
   walkPaths.js99%93.33%100%100%66
lib/cwec
   2.11.js100%100%100%100%
   3.0.js100%100%100%100%
   4.10.js100%100%100%100%
   4.12.js100%100%100%100%
   4.13.js100%100%100%100%
   4.14.js100%100%100%100%
   4.9.js100%100%100%100%
lib/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_10.js96.39%90%100%97.18%47–49
   informativeTest_6_3_11.js96.63%91.67%100%97.33%47–49
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_3.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js97.96%83.33%100%100%30
   informativeTest_6_3_6.js99.02%95.52%100%99.55%196–198, 222, 402
   informativeTest_6_3_7.js96%87.50%100%97.59%53–55, 61
   informativeTest_6_3_8.js97.66%83.33%100%99.05%239–241, 244, 246, 298–300, 394, 399, 416
   informativeTest_6_3_9.js95.97%89.47%100%96.83%42–44, 54–56
lib/informativeTests/shared
   testURL.js100%100%100%100%
lib/language_specific_translation
   translations.js100%100%100%100%
lib/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js98.60%92.59%100%100%106, 97
   mandatoryTest_6_1_11.js100%100%100%100%
   mandatoryTest_6_1_12.js100%100%100%100%
   mandatoryTest_6_1_13.js99.28%95.83%100%100%109
   mandatoryTest_6_1_14.js100%100%100%100%
   mandatoryTest_6_1_15.js100%100%100%100%
   mandatoryTest_6_1_16.js100%100%100%100%
   mandatoryTest_6_1_17.js100%100%100%100%
   mandatoryTest_6_1_18.js100%100%100%100%
   mandatoryTest_6_1_19.js100%100%100%100%
   mandatoryTest_6_1_2.js98%87.50%100%100%110, 52, 68
   mandatoryTest_6_1_20.js100%100%100%100%
   mandatoryTest_6_1_21.js100%100%100%100%
   mandatoryTest_6_1_22.js100%100%100%100%
   mandatoryTest_6_1_23.js98.44%92.31%100%100%39
   mandatoryTest_6_1_24.js96.63%83.33%100%100%50, 62, 64
   mandatoryTest_6_1_25.js98.94%93.75%100%100%139, 144
   mandatoryTest_6_1_26.js100%100%100%100%
   mandatoryTest_6_1_27_1.js100%100%100%100%
   mandatoryTest_6_1_27_10.js95.58%80.95%100%98.90%52, 54, 57–59
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_2.js100%100%100%100%
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_6.js100%100%100%100%
   mandatoryTest_6_1_27_7.js100%100%100%100%
   mandatoryTest_6_1_27_8.js100%100%100%100%
   mandatoryTest_6_1_27_9.js98.82%94.87%100%100%55, 92
   mandatoryTest_6_1_28.js100%100%100%100%
   mandatoryTest_6_1_29.js100%100%100%100%
   mandatoryTest_6_1_3.js100%100%100%100%
   mandatoryTest_6_1_30.js100%100%100%100%
   mandatoryTest_6_1_31.js100%100%100%100%
   mandatoryTest_6_1_32.js100%100%100%100%
   mandatoryTest_6_1_33.js100%100%100%100%
   mandatoryTest_6_1_4.js100%100%100%100%
   mandatoryTest_6_1_5.js81.36%100%75%79.21%100–101, 81–99
   mandatoryTest_6_1_6.js100%100%100%100%
   mandatoryTest_6_1_7.js97.54%90.63%100%100%62, 77, 81
   mandatoryTest_6_1_8.js94.02%72.22%100%97.96%61–63, 74, 77, 86, 89
   mandatoryTest_6_1_9.js100%100%100%100%
lib/mandatoryTests/shared
   docUtils.js98.60%92.68%100%100%139, 56, 72
lib/optionalTests
   optionalTest_6_2_1.js98.76%91.30%100%99.72%134, 145, 302, 348–349
   optionalTest_6_2_10.js100%100%100%100%
   optionalTest_6_2_11.js100%100%100%100%
   optionalTest_6_2_12.js100%100%100%100%
   optionalTest_6_2_13.js100%100%100%100%
   optionalTest_6_2_14.js100%100%100%100%
   optionalTest_6_2_15.js100%100%100%100%
   optionalTest_6_2_16.js95.95%89.47%100%96.85%114–116, 88–90
   optionalTest_6_2_17.js100%100%100%100%
   optionalTest_6_2_18.js96.84%92.31%100%97.50%48–50
   optionalTest_6_2_19.js96.05%83.72%100%98.05%108, 195, 206, 251–256, 79, 88, 90
   optionalTest_6_2_2.js98.35%92.31%100%99.07%91–92
   optionalTest_6_2_20.js94.59%71.43%100%100%19, 23
   optionalTest_6_2_3.js100%100%100%100%
   optionalTest_6_2_4.js100%100%100%100%
   optionalTest_6_2_5.js100%100%100%100%
   optionalTest_6_2_6.js100%100%100%100%
   optionalTest_6_2_7.js100%100%100%100%
   optionalTest_6_2_8.js100%100%100%100%
   optionalTest_6_2_9.js100%100%100%100%
lib/optionalTests/shared
   checkForUnsafeHashAlgorithms.js98.55%88.89%100%100%31
lib/schemaTests
   csaf_2_0.js96.88%80%100%100%23
   csaf_2_0_strict.js96.88%80%100%100%23
lib/schemaTests/csaf_2_0
   schema.js100%100%100%100%
lib/schemaTests/csaf_2_0_strict
   schema.js100%100%100%100%
lib/shared
   bcpLanguageTagChecker.js100%100%100%100%
   csafAjv.js100%100%100%100%
   csafHelpers.js100%100%100%100%
   cvss2.js98.39%84.62%100%99.41%115, 120–122, 125, 9
   cvss3.js100%100%100%100%
   cvss4.js98.75%86.96%83.33%99.17%1024–1026, 1052, 1077, 1080, 988–993
   cwec.js100%100%100%100%
   dateHelper.js95.45%80%100%100%16–17
   first.js100%100%100%100%
   languageSpecificTranslation.js100%100%100%100%
   sortObjectKeys.js100%100%100%100%
   urlHelper.js100%100%100%100%
lib/shared/bcpLanguageTagChecker
   extensions.js100%100%100%100%
   subtags.js100%100%100%100%
lib/shared/csafHelpers
   walkHashes.js100%100%100%100%
schemas
   cvss-v2.0.js100%100%100%100%
   cvss-v3.0.js100%100%100%100%
   cvss-v3.1.js100%100%100%100%

@bendo-eXX
bendo-eXX force-pushed the fix/csaf-2.1_mandatory_test_6.1.27.8 branch from ea490a4 to a3db3e1 Compare June 18, 2026 09:39
@github-actions

Copy link
Copy Markdown

Coverage after merging fix/csaf-2.1_mandatory_test_6.1.27.8 into main

99.84%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
cwe.js100%100%100%100%
informativeTests.js100%100%100%100%
mandatoryTests.js100%100%100%100%
optionalTests.js100%100%100%100%
schemaTests.js100%100%100%100%
strip.js100%100%100%100%
validate.js100%100%100%100%
validateStrict.js90.91%66.67%100%93.10%27, 27–28
csaf_2_1
   csafAjv.js100%100%100%100%
   dateHelper.js97.96%86.67%100%100%63, 65
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   recommendedTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   sharingGroup.js100%100%100%100%
csaf_2_1/csafAjv
   SelectionList_2_0_0.schema.js100%100%100%100%
   content_schema.js100%100%100%100%
   csaf_meta.js100%100%100%100%
   cvss-v4.0.0.js100%100%100%100%
   cvss_meta.js100%100%100%100%
   draft-07-schema.js100%100%100%100%
   extension-content.js100%100%100%100%
   meta-format-assertion.js100%100%100%100%
csaf_2_1/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_12.js100%100%100%100%
   informativeTest_6_3_18.js100%100%100%100%
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js100%100%100%100%
csaf_2_1/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js99.64%96.97%100%100%179
   mandatoryTest_6_1_11.js89.72%80%100%90.63%54–56, 64–71
   mandatoryTest_6_1_13.js99.53%96.15%100%100%137
   mandatoryTest_6_1_2.js100%100%100%100%
   mandatoryTest_6_1_25.js100%100%100%100%
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_12.js100%100%100%100%
   mandatoryTest_6_1_27_14.js100%100%100%100%
   mandatoryTest_6_1_27_15.js100%100%100%100%
   mandatoryTest_6_1_27_16.js100%100%100%100%
   mandatoryTest_6_1_27_17.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_18.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_19.js92.31%80%100%94.06%79–80, 82–88
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_8.js99.60%97.44%100%100%110
   mandatoryTest_6_1_34.js95.92%81.82%100%97.65%55–57, 77
   mandatoryTest_6_1_35.js100%100%100%100%
   mandatoryTest_6_1_36.js97.10%72.22%100%99.10%146–148, 156, 183, 185, 199
   mandatoryTest_6_1_37.js99.50%91.67%100%100%147
   mandatoryTest_6_1_39.js100%100%100%100%
   mandatoryTest_6_1_40.js100%100%100%100%
   mandatoryTest_6_1_41.js100%100%100%100%
   mandatoryTest_6_1_42.js100%100%100%100%
   mandatoryTest_6_1_43.js100%100%100%100%
   mandatoryTest_6_1_44.js100%100%100%100%
   mandatoryTest_6_1_45.js100%100%100%100%
   mandatoryTest_6_1_46.js97.94%81.82%100%100%73, 76
   mandatoryTest_6_1_51.js100%100%100%100%
   mandatoryTest_6_1_52.js100%100%100%100%
   mandatoryTest_6_1_53.js100%100%100%100%
   mandatoryTest_6_1_57.js100%100%100%100%
   mandatoryTest_6_1_58.js100%100%100%100%
   mandatoryTest_6_1_6.js100%100%100%100%
   mandatoryTest_6_1_61.js100%100%100%100%
   mandatoryTest_6_1_7.js100%100%100%100%
   mandatoryTest_6_1_8.js93.15%61.90%100%98.39%100, 103, 112, 115, 74–76, 81, 88, 91
   mandatoryTest_6_1_9.js100%100%100%100%
   mandatoryTests_6_1_38.js100%100%100%100%
csaf_2_1/mandatoryTests/shared
   docProductUtils.js96.13%78.95%100%98.51%121, 67–69, 77, 92
   wildcardUtils.js100%100%100%100%
csaf_2_1/recommendedTests
   recommendedTest_6_2_1.js100%100%100%100%
   recommendedTest_6_2_10.js70%100%0%75%7–8
   recommendedTest_6_2_11.js70%100%0%75%7–8
   recommendedTest_6_2_12.js100%100%100%100%
   recommendedTest_6_2_13.js100%100%100%100%
   recommendedTest_6_2_14.js100%100%100%100%
   recommendedTest_6_2_15.js100%100%100%100%
   recommendedTest_6_2_16.js100%100%100%100%
   recommendedTest_6_2_17.js100%100%100%100%
   recommendedTest_6_2_18.js100%100%100%100%
   recommendedTest_6_2_19.js70%100%0%75%7–8
   recommendedTest_6_2_2.js100%100%100%100%
   recommendedTest_6_2_21.js100%100%100%100%
   recommendedTest_6_2_22.js100%100%100%100%
   recommendedTest_6_2_23.js100%100%100%100%
   recommendedTest_6_2_25.js100%100%100%100%
   recommendedTest_6_2_27.js97.24%82.61%100%98.96%124–126, 141, 145, 166
   recommendedTest_6_2_28.js100%100%100%100%
   recommendedTest_6_2_29.js100%100%100%100%
   recommendedTest_6_2_3.js97.67%87.50%100%98.70%63–64
   recommendedTest_6_2_30.js100%100%100%100%
   recommendedTest_6_2_38.js100%100%100%100%
   recommendedTest_6_2_39_2.js100%100%100%100%
   recommendedTest_6_2_39_3.js100%100%100%100%
   recommendedTest_6_2_39_4.js100%100%100%100%
   recommendedTest_6_2_4.js100%100%100%100%
   recommendedTest_6_2_40.js100%100%100%100%
   recommendedTest_6_2_41.js100%100%100%100%
   recommendedTest_6_2_43.js100%100%100%100%
   recommendedTest_6_2_47.js100%100%100%100%
   recommendedTest_6_2_48.js100%100%100%100%
   recommendedTest_6_2_5.js100%100%100%100%
   recommendedTest_6_2_6.js100%100%100%100%
   recommendedTest_6_2_7.js100%100%100%100%
   recommendedTest_6_2_8.js100%100%100%100%
   recommendedTest_6_2_9.js100%100%100%100%
csaf_2_1/recommendedTests/shared
   checkForUnsafeHashAlgorithms.js98.53%87.50%100%100%31
csaf_2_1/schemaTests
   csaf_2_1.js93.10%100%100%92.31%22–23
   csaf_2_1_strict.js93.10%100%100%92.31%22–23
csaf_2_1/schemaTests/csaf_2_1
   schema.js100%100%100%100%
csaf_2_1/schemaTests/csaf_2_1_strict
   schema.js100%100%100%100%
csaf_2_1/shared/csafHelpers
   walkHashes.js93.41%76.92%100%96.10%100, 117–119, 123, 140–142, 146, 94–96
lib
   cwec.js100%100%100%100%
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   optionalTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   strip.js100%100%100%100%
   validate.js100%100%100%100%
   walkPaths.js99%93.33%100%100%66
lib/cwec
   2.11.js100%100%100%100%
   3.0.js100%100%100%100%
   4.10.js100%100%100%100%
   4.12.js100%100%100%100%
   4.13.js100%100%100%100%
   4.14.js100%100%100%100%
   4.9.js100%100%100%100%
lib/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_10.js96.39%90%100%97.18%47–49
   informativeTest_6_3_11.js96.63%91.67%100%97.33%47–49
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_3.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js97.96%83.33%100%100%30
   informativeTest_6_3_6.js99.02%95.52%100%99.55%196–198, 222, 402
   informativeTest_6_3_7.js96%87.50%100%97.59%53–55, 61
   informativeTest_6_3_8.js97.66%83.33%100%99.05%239–241, 244, 246, 298–300, 394, 399, 416
   informativeTest_6_3_9.js95.97%89.47%100%96.83%42–44, 54–56
lib/informativeTests/shared
   testURL.js100%100%100%100%
lib/language_specific_translation
   translations.js100%100%100%100%
lib/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js98.60%92.59%100%100%106, 97
   mandatoryTest_6_1_11.js100%100%100%100%
   mandatoryTest_6_1_12.js100%100%100%100%
   mandatoryTest_6_1_13.js99.28%95.83%100%100%109
   mandatoryTest_6_1_14.js100%100%100%100%
   mandatoryTest_6_1_15.js100%100%100%100%
   mandatoryTest_6_1_16.js100%100%100%100%
   mandatoryTest_6_1_17.js100%100%100%100%
   mandatoryTest_6_1_18.js100%100%100%100%
   mandatoryTest_6_1_19.js100%100%100%100%
   mandatoryTest_6_1_2.js98%87.50%100%100%110, 52, 68
   mandatoryTest_6_1_20.js100%100%100%100%
   mandatoryTest_6_1_21.js100%100%100%100%
   mandatoryTest_6_1_22.js100%100%100%100%
   mandatoryTest_6_1_23.js98.44%92.31%100%100%39
   mandatoryTest_6_1_24.js96.63%83.33%100%100%50, 62, 64
   mandatoryTest_6_1_25.js98.94%93.75%100%100%139, 144
   mandatoryTest_6_1_26.js100%100%100%100%
   mandatoryTest_6_1_27_1.js100%100%100%100%
   mandatoryTest_6_1_27_10.js95.58%80.95%100%98.90%52, 54, 57–59
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_2.js100%100%100%100%
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_6.js100%100%100%100%
   mandatoryTest_6_1_27_7.js100%100%100%100%
   mandatoryTest_6_1_27_8.js100%100%100%100%
   mandatoryTest_6_1_27_9.js98.82%94.87%100%100%55, 92
   mandatoryTest_6_1_28.js100%100%100%100%
   mandatoryTest_6_1_29.js100%100%100%100%
   mandatoryTest_6_1_3.js100%100%100%100%
   mandatoryTest_6_1_30.js100%100%100%100%
   mandatoryTest_6_1_31.js100%100%100%100%
   mandatoryTest_6_1_32.js100%100%100%100%
   mandatoryTest_6_1_33.js100%100%100%100%
   mandatoryTest_6_1_4.js100%100%100%100%
   mandatoryTest_6_1_5.js81.36%100%75%79.21%100–101, 81–99
   mandatoryTest_6_1_6.js100%100%100%100%
   mandatoryTest_6_1_7.js97.54%90.63%100%100%62, 77, 81
   mandatoryTest_6_1_8.js94.02%72.22%100%97.96%61–63, 74, 77, 86, 89
   mandatoryTest_6_1_9.js100%100%100%100%
lib/mandatoryTests/shared
   docUtils.js98.60%92.68%100%100%139, 56, 72
lib/optionalTests
   optionalTest_6_2_1.js98.76%91.30%100%99.72%134, 145, 302, 348–349
   optionalTest_6_2_10.js100%100%100%100%
   optionalTest_6_2_11.js100%100%100%100%
   optionalTest_6_2_12.js100%100%100%100%
   optionalTest_6_2_13.js100%100%100%100%
   optionalTest_6_2_14.js100%100%100%100%
   optionalTest_6_2_15.js100%100%100%100%
   optionalTest_6_2_16.js95.95%89.47%100%96.85%114–116, 88–90
   optionalTest_6_2_17.js100%100%100%100%
   optionalTest_6_2_18.js96.84%92.31%100%97.50%48–50
   optionalTest_6_2_19.js96.05%83.72%100%98.05%108, 195, 206, 251–256, 79, 88, 90
   optionalTest_6_2_2.js98.35%92.31%100%99.07%91–92
   optionalTest_6_2_20.js94.59%71.43%100%100%19, 23
   optionalTest_6_2_3.js100%100%100%100%
   optionalTest_6_2_4.js100%100%100%100%
   optionalTest_6_2_5.js100%100%100%100%
   optionalTest_6_2_6.js100%100%100%100%
   optionalTest_6_2_7.js100%100%100%100%
   optionalTest_6_2_8.js100%100%100%100%
   optionalTest_6_2_9.js100%100%100%100%
lib/optionalTests/shared
   checkForUnsafeHashAlgorithms.js98.55%88.89%100%100%31
lib/schemaTests
   csaf_2_0.js96.88%80%100%100%23
   csaf_2_0_strict.js96.88%80%100%100%23
lib/schemaTests/csaf_2_0
   schema.js100%100%100%100%
lib/schemaTests/csaf_2_0_strict
   schema.js100%100%100%100%
lib/shared
   bcpLanguageTagChecker.js100%100%100%100%
   csafAjv.js100%100%100%100%
   csafHelpers.js100%100%100%100%
   cvss2.js98.39%84.62%100%99.41%115, 120–122, 125, 9
   cvss3.js100%100%100%100%
   cvss4.js98.75%86.96%83.33%99.17%1024–1026, 1052, 1077, 1080, 988–993
   cwec.js100%100%100%100%
   dateHelper.js95.45%80%100%100%16–17
   first.js100%100%100%100%
   languageSpecificTranslation.js100%100%100%100%
   sortObjectKeys.js100%100%100%100%
   urlHelper.js100%100%100%100%
lib/shared/bcpLanguageTagChecker
   extensions.js100%100%100%100%
   subtags.js100%100%100%100%
lib/shared/csafHelpers
   walkHashes.js100%100%100%100%
schemas
   cvss-v2.0.js100%100%100%100%
   cvss-v3.0.js100%100%100%100%
   cvss-v3.1.js100%100%100%100%

@bendo-eXX bendo-eXX linked an issue Jul 7, 2026 that may be closed by this pull request
@github-actions

Copy link
Copy Markdown

Coverage after merging fix/csaf-2.1_mandatory_test_6.1.27.8 into main will be

99.84%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
cwe.js100%100%100%100%
informativeTests.js100%100%100%100%
mandatoryTests.js100%100%100%100%
optionalTests.js100%100%100%100%
schemaTests.js100%100%100%100%
strip.js100%100%100%100%
validate.js100%100%100%100%
validateStrict.js90.91%66.67%100%93.10%27, 27–28
csaf_2_1
   csafAjv.js100%100%100%100%
   dateHelper.js97.96%86.67%100%100%63, 65
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   recommendedTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   sharingGroup.js100%100%100%100%
csaf_2_1/csafAjv
   SelectionList_2_0_0.schema.js100%100%100%100%
   content_schema.js100%100%100%100%
   csaf_meta.js100%100%100%100%
   cvss-v4.0.0.js100%100%100%100%
   cvss_meta.js100%100%100%100%
   draft-07-schema.js100%100%100%100%
   extension-content.js100%100%100%100%
   meta-format-assertion.js100%100%100%100%
csaf_2_1/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_12.js100%100%100%100%
   informativeTest_6_3_18.js100%100%100%100%
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js100%100%100%100%
csaf_2_1/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js99.64%96.97%100%100%179
   mandatoryTest_6_1_11.js89.72%80%100%90.63%54–56, 64–71
   mandatoryTest_6_1_13.js99.53%96.15%100%100%137
   mandatoryTest_6_1_2.js100%100%100%100%
   mandatoryTest_6_1_25.js100%100%100%100%
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_12.js100%100%100%100%
   mandatoryTest_6_1_27_14.js100%100%100%100%
   mandatoryTest_6_1_27_15.js100%100%100%100%
   mandatoryTest_6_1_27_16.js100%100%100%100%
   mandatoryTest_6_1_27_17.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_18.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_19.js92.31%80%100%94.06%79–80, 82–88
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_8.js99.60%97.44%100%100%110
   mandatoryTest_6_1_34.js95.92%81.82%100%97.65%55–57, 77
   mandatoryTest_6_1_35.js100%100%100%100%
   mandatoryTest_6_1_36.js97.10%72.22%100%99.10%146–148, 156, 183, 185, 199
   mandatoryTest_6_1_37.js99.50%91.67%100%100%147
   mandatoryTest_6_1_39.js100%100%100%100%
   mandatoryTest_6_1_4.js100%100%100%100%
   mandatoryTest_6_1_40.js100%100%100%100%
   mandatoryTest_6_1_41.js100%100%100%100%
   mandatoryTest_6_1_42.js100%100%100%100%
   mandatoryTest_6_1_43.js100%100%100%100%
   mandatoryTest_6_1_44.js100%100%100%100%
   mandatoryTest_6_1_45.js100%100%100%100%
   mandatoryTest_6_1_46.js97.94%81.82%100%100%73, 76
   mandatoryTest_6_1_51.js100%100%100%100%
   mandatoryTest_6_1_52.js100%100%100%100%
   mandatoryTest_6_1_53.js100%100%100%100%
   mandatoryTest_6_1_57.js100%100%100%100%
   mandatoryTest_6_1_58.js100%100%100%100%
   mandatoryTest_6_1_6.js100%100%100%100%
   mandatoryTest_6_1_61.js100%100%100%100%
   mandatoryTest_6_1_7.js100%100%100%100%
   mandatoryTest_6_1_8.js93.15%61.90%100%98.39%100, 103, 112, 115, 74–76, 81, 88, 91
   mandatoryTest_6_1_9.js100%100%100%100%
   mandatoryTests_6_1_38.js100%100%100%100%
csaf_2_1/mandatoryTests/shared
   docProductUtils.js95.75%78.26%100%97.84%103, 129–131, 172, 78–80, 88
   wildcardUtils.js100%100%100%100%
csaf_2_1/recommendedTests
   recommendedTest_6_2_1.js100%100%100%100%
   recommendedTest_6_2_10.js70%100%0%75%7–8
   recommendedTest_6_2_11.js70%100%0%75%7–8
   recommendedTest_6_2_12.js100%100%100%100%
   recommendedTest_6_2_13.js100%100%100%100%
   recommendedTest_6_2_14.js100%100%100%100%
   recommendedTest_6_2_15.js100%100%100%100%
   recommendedTest_6_2_16.js100%100%100%100%
   recommendedTest_6_2_17.js100%100%100%100%
   recommendedTest_6_2_18.js100%100%100%100%
   recommendedTest_6_2_19.js70%100%0%75%7–8
   recommendedTest_6_2_2.js100%100%100%100%
   recommendedTest_6_2_21.js100%100%100%100%
   recommendedTest_6_2_22.js100%100%100%100%
   recommendedTest_6_2_23.js100%100%100%100%
   recommendedTest_6_2_25.js100%100%100%100%
   recommendedTest_6_2_27.js97.24%82.61%100%98.96%124–126, 141, 145, 166
   recommendedTest_6_2_28.js100%100%100%100%
   recommendedTest_6_2_29.js100%100%100%100%
   recommendedTest_6_2_3.js97.67%87.50%100%98.70%63–64
   recommendedTest_6_2_30.js100%100%100%100%
   recommendedTest_6_2_38.js100%100%100%100%
   recommendedTest_6_2_39_2.js100%100%100%100%
   recommendedTest_6_2_39_3.js100%100%100%100%
   recommendedTest_6_2_39_4.js100%100%100%100%
   recommendedTest_6_2_4.js100%100%100%100%
   recommendedTest_6_2_40.js100%100%100%100%
   recommendedTest_6_2_41.js100%100%100%100%
   recommendedTest_6_2_43.js100%100%100%100%
   recommendedTest_6_2_47.js100%100%100%100%
   recommendedTest_6_2_48.js100%100%100%100%
   recommendedTest_6_2_5.js100%100%100%100%
   recommendedTest_6_2_6.js100%100%100%100%
   recommendedTest_6_2_7.js100%100%100%100%
   recommendedTest_6_2_8.js100%100%100%100%
   recommendedTest_6_2_9.js100%100%100%100%
csaf_2_1/recommendedTests/shared
   checkForUnsafeHashAlgorithms.js98.53%87.50%100%100%31
csaf_2_1/schemaTests
   csaf_2_1.js93.10%100%100%92.31%22–23
   csaf_2_1_strict.js93.10%100%100%92.31%22–23
csaf_2_1/schemaTests/csaf_2_1
   schema.js100%100%100%100%
csaf_2_1/schemaTests/csaf_2_1_strict
   schema.js100%100%100%100%
csaf_2_1/shared/csafHelpers
   walkHashes.js93.41%76.92%100%96.10%100, 117–119, 123, 140–142, 146, 94–96
lib
   cwec.js100%100%100%100%
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   optionalTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   strip.js100%100%100%100%
   validate.js100%100%100%100%
   walkPaths.js99%93.33%100%100%66
lib/cwec
   2.11.js100%100%100%100%
   3.0.js100%100%100%100%
   4.10.js100%100%100%100%
   4.12.js100%100%100%100%
   4.13.js100%100%100%100%
   4.14.js100%100%100%100%
   4.9.js100%100%100%100%
lib/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_10.js96.39%90%100%97.18%47–49
   informativeTest_6_3_11.js96.63%91.67%100%97.33%47–49
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_3.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js97.96%83.33%100%100%30
   informativeTest_6_3_6.js99.02%95.52%100%99.55%196–198, 222, 402
   informativeTest_6_3_7.js96%87.50%100%97.59%53–55, 61
   informativeTest_6_3_8.js97.66%83.33%100%99.05%239–241, 244, 246, 298–300, 394, 399, 416
   informativeTest_6_3_9.js95.97%89.47%100%96.83%42–44, 54–56
lib/informativeTests/shared
   testURL.js100%100%100%100%
lib/language_specific_translation
   translations.js100%100%100%100%
lib/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js98.60%92.59%100%100%106, 97
   mandatoryTest_6_1_11.js100%100%100%100%
   mandatoryTest_6_1_12.js100%100%100%100%
   mandatoryTest_6_1_13.js99.28%95.83%100%100%109
   mandatoryTest_6_1_14.js100%100%100%100%
   mandatoryTest_6_1_15.js100%100%100%100%
   mandatoryTest_6_1_16.js100%100%100%100%
   mandatoryTest_6_1_17.js100%100%100%100%
   mandatoryTest_6_1_18.js100%100%100%100%
   mandatoryTest_6_1_19.js100%100%100%100%
   mandatoryTest_6_1_2.js98%87.50%100%100%110, 52, 68
   mandatoryTest_6_1_20.js100%100%100%100%
   mandatoryTest_6_1_21.js100%100%100%100%
   mandatoryTest_6_1_22.js100%100%100%100%
   mandatoryTest_6_1_23.js98.44%92.31%100%100%39
   mandatoryTest_6_1_24.js96.63%83.33%100%100%50, 62, 64
   mandatoryTest_6_1_25.js98.94%93.75%100%100%139, 144
   mandatoryTest_6_1_26.js100%100%100%100%
   mandatoryTest_6_1_27_1.js100%100%100%100%
   mandatoryTest_6_1_27_10.js95.58%80.95%100%98.90%52, 54, 57–59
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_2.js100%100%100%100%
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_6.js100%100%100%100%
   mandatoryTest_6_1_27_7.js100%100%100%100%
   mandatoryTest_6_1_27_8.js100%100%100%100%
   mandatoryTest_6_1_27_9.js98.82%94.87%100%100%55, 92
   mandatoryTest_6_1_28.js100%100%100%100%
   mandatoryTest_6_1_29.js100%100%100%100%
   mandatoryTest_6_1_3.js100%100%100%100%
   mandatoryTest_6_1_30.js100%100%100%100%
   mandatoryTest_6_1_31.js100%100%100%100%
   mandatoryTest_6_1_32.js100%100%100%100%
   mandatoryTest_6_1_33.js100%100%100%100%
   mandatoryTest_6_1_4.js100%100%100%100%
   mandatoryTest_6_1_5.js81.36%100%75%79.21%100–101, 81–99</

# Conflicts:
#	csaf_2_1/mandatoryTests.js
@github-actions

Copy link
Copy Markdown

Coverage after merging fix/csaf-2.1_mandatory_test_6.1.27.8 into main will be

99.84%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
cwe.js100%100%100%100%
informativeTests.js100%100%100%100%
mandatoryTests.js100%100%100%100%
optionalTests.js100%100%100%100%
schemaTests.js100%100%100%100%
strip.js100%100%100%100%
validate.js100%100%100%100%
validateStrict.js90.91%66.67%100%93.10%27, 27–28
csaf_2_1
   csafAjv.js100%100%100%100%
   dateHelper.js97.96%86.67%100%100%63, 65
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   recommendedTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   sharingGroup.js100%100%100%100%
csaf_2_1/csafAjv
   SelectionList_2_0_0.schema.js100%100%100%100%
   content_schema.js100%100%100%100%
   csaf_meta.js100%100%100%100%
   cvss-v4.0.0.js100%100%100%100%
   cvss_meta.js100%100%100%100%
   draft-07-schema.js100%100%100%100%
   extension-content.js100%100%100%100%
   meta-format-assertion.js100%100%100%100%
csaf_2_1/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_12.js100%100%100%100%
   informativeTest_6_3_18.js100%100%100%100%
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_21_1.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js100%100%100%100%
csaf_2_1/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js99.64%96.97%100%100%179
   mandatoryTest_6_1_11.js89.72%80%100%90.63%54–56, 64–71
   mandatoryTest_6_1_13.js99.53%96.15%100%100%137
   mandatoryTest_6_1_2.js100%100%100%100%
   mandatoryTest_6_1_25.js100%100%100%100%
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_12.js100%100%100%100%
   mandatoryTest_6_1_27_14.js100%100%100%100%
   mandatoryTest_6_1_27_15.js100%100%100%100%
   mandatoryTest_6_1_27_16.js100%100%100%100%
   mandatoryTest_6_1_27_17.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_18.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_19.js92.31%80%100%94.06%79–80, 82–88
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_6.js100%100%100%100%
   mandatoryTest_6_1_27_8.js99.60%97.44%100%100%110
   mandatoryTest_6_1_34.js95.92%81.82%100%97.65%55–57, 77
   mandatoryTest_6_1_35.js100%100%100%100%
   mandatoryTest_6_1_36.js97.10%72.22%100%99.10%146–148, 156, 183, 185, 199
   mandatoryTest_6_1_37.js99.50%91.67%100%100%147
   mandatoryTest_6_1_39.js100%100%100%100%
   mandatoryTest_6_1_4.js100%100%100%100%
   mandatoryTest_6_1_40.js100%100%100%100%
   mandatoryTest_6_1_41.js100%100%100%100%
   mandatoryTest_6_1_42.js100%100%100%100%
   mandatoryTest_6_1_43.js100%100%100%100%
   mandatoryTest_6_1_44.js100%100%100%100%
   mandatoryTest_6_1_45.js100%100%100%100%
   mandatoryTest_6_1_46.js97.94%81.82%100%100%73, 76
   mandatoryTest_6_1_47.js100%100%100%100%
   mandatoryTest_6_1_49.js100%100%100%100%
   mandatoryTest_6_1_51.js100%100%100%100%
   mandatoryTest_6_1_52.js100%100%100%100%
   mandatoryTest_6_1_53.js100%100%100%100%
   mandatoryTest_6_1_57.js100%100%100%100%
   mandatoryTest_6_1_58.js100%100%100%100%
   mandatoryTest_6_1_6.js100%100%100%100%
   mandatoryTest_6_1_61.js100%100%100%100%
   mandatoryTest_6_1_7.js100%100%100%100%
   mandatoryTest_6_1_8.js93.15%61.90%100%98.39%100, 103, 112, 115, 74–76, 81, 88, 91
   mandatoryTest_6_1_9.js100%100%100%100%
   mandatoryTests_6_1_38.js100%100%100%100%
csaf_2_1/mandatoryTests/shared
   docProductUtils.js95.75%78.26%100%97.84%103, 129–131, 172, 78–80, 88
   wildcardUtils.js100%100%100%100%
csaf_2_1/recommendedTests
   recommendedTest_6_2_1.js100%100%100%100%
   recommendedTest_6_2_10.js70%100%0%75%7–8
   recommendedTest_6_2_11.js99.25%95%100%100%63
   recommendedTest_6_2_12.js100%100%100%100%
   recommendedTest_6_2_13.js100%100%100%100%
   recommendedTest_6_2_14.js100%100%100%100%
   recommendedTest_6_2_15.js100%100%100%100%
   recommendedTest_6_2_16.js100%100%100%100%
   recommendedTest_6_2_17.js100%100%100%100%
   recommendedTest_6_2_18.js100%100%100%100%
   recommendedTest_6_2_19.js70%100%0%75%7–8
   recommendedTest_6_2_2.js100%100%100%100%
   recommendedTest_6_2_21.js100%100%100%100%
   recommendedTest_6_2_22.js100%100%100%100%
   recommendedTest_6_2_23.js100%100%100%100%
   recommendedTest_6_2_25.js100%100%100%100%
   recommendedTest_6_2_27.js97.24%82.61%100%98.96%124–126, 141, 145, 166
   recommendedTest_6_2_28.js100%100%100%100%
   recommendedTest_6_2_29.js100%100%100%100%
   recommendedTest_6_2_3.js97.67%87.50%100%98.70%63–64
   recommendedTest_6_2_30.js100%100%100%100%
   recommendedTest_6_2_38.js100%100%100%100%
   recommendedTest_6_2_39_2.js100%100%100%100%
   recommendedTest_6_2_39_3.js100%100%100%100%
   recommendedTest_6_2_39_4.js100%100%100%100%
   recommendedTest_6_2_4.js100%100%100%100%
   recommendedTest_6_2_40.js100%100%100%100%
   recommendedTest_6_2_41.js100%100%100%100%
   recommendedTest_6_2_43.js100%100%100%100%
   recommendedTest_6_2_47.js100%100%100%100%
   recommendedTest_6_2_48.js100%100%100%100%
   recommendedTest_6_2_5.js100%100%100%100%
   recommendedTest_6_2_53.js100%100%100%100%
   recommendedTest_6_2_6.js100%100%100%100%
   recommendedTest_6_2_7.js100%100%100%100%
   recommendedTest_6_2_8.js100%100%100%100%
   recommendedTest_6_2_9.js100%100%100%100%
csaf_2_1/recommendedTests/shared
   checkForUnsafeHashAlgorithms.js98.53%87.50%100%100%31
csaf_2_1/schemaTests
   csaf_2_1.js93.10%100%100%92.31%22–23
   csaf_2_1_strict.js93.10%100%100%92.31%22–23
csaf_2_1/schemaTests/csaf_2_1
   schema.js100%100%100%100%
csaf_2_1/schemaTests/csaf_2_1_strict
   schema.js100%100%100%100%
csaf_2_1/shared/csafHelpers
   walkHashes.js93.41%76.92%100%96.10%100, 117–119, 123, 140–142, 146, 94–96
lib
   cwec.js100%100%100%100%
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   optionalTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   strip.js100%100%100%100%
   validate.js100%100%100%100%
   walkPaths.js99%93.33%100%100%66
lib/cwec
   2.11.js100%100%100%100%
   3.0.js100%100%100%100%
   4.10.js100%100%100%100%
   4.12.js100%100%100%100%
   4.13.js100%100%100%100%
   4.14.js100%100%100%100%
   4.9.js100%100%100%100%
lib/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_10.js96.39%90%100%97.18%47–49
   informativeTest_6_3_11.js96.63%91.67%100%97.33%47–49
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_3.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js97.96%83.33%100%100%30
   informativeTest_6_3_6.js99.02%95.52%100%99.55%196–198, 222, 402
   informativeTest_6_3_7.js96%87.50%100%97.59%53–55, 61
   informativeTest_6_3_8.js97.66%83.33%100%99.05%239–241, 244, 246, 298–300, 394, 399, 416
   informativeTest_6_3_9.js95.97%89.47%100%96.83%42–44, 54–56
lib/informativeTests/shared
   testURL.js100%100%100%100%
lib/language_specific_translation
   translations.js100%100%100%100%
lib/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js98.60%92.59%100%100%106, 97
   mandatoryTest_6_1_11.js100%100%100%100%
   mandatoryTest_6_1_12.js100%100%100%100%
   mandatoryTest_6_1_13.js99.28%95.83%100%100%109
   mandatoryTest_6_1_14.js100%100%100%100%
   mandatoryTest_6_1_15.js100%100%100%100%
   mandatoryTest_6_1_16.js100%100%100%100%
   mandatoryTest_6_1_17.js100%100%100%100%
   mandatoryTest_6_1_18.js100%100%100%100%
   mandatoryTest_6_1_19.js100%100%100%100%
   mandatoryTest_6_1_2.js98%87.50%100%100%110, 52, 68
   mandatoryTest_6_1_20.js100%100%100%100%
   mandatoryTest_6_1_21.js100%100%100%100%
   mandatoryTest_6_1_22.js100%100%100%100%
   mandatoryTest_6_1_23.js98.44%92.31%100%100%39
   mandatoryTest_6_1_24.js96.63%83.33%100%100%50, 62, 64
   mandatoryTest_6_1_25.js98.94%93.75%100%100%139, 144
   mandatoryTest_6_1_26.js100%100%100%100%
   mandatoryTest_6_1_27_1.js100%100%100%100%
   mandatoryTest_6_1_27_10.js95.58%80.95%100%98.90%52, 54, 57–59
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_2.js100%100%100%100%
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_6.js100%100%100%100%
   mandatoryTest_6_1_27_7.js100%100%100%100%
   mandatoryTest_6_1_27_8.js100%100%100%100%
   mandatoryTest_6_1_27_9.js98.82%94.87%100%100%55, 92
   mandatoryTest_6_1_28.js100%100%100%100%
   mandatoryTest_6_1_29.js100%100%100%100%
   mandatoryTest_6_1_3.js100%100%100%100%
   mandatoryTest_6_1_30.js100%100%100%100%
   mandatoryTest_6_1_31.js100%100%100%100%
   

const groupProductMap = new Map()
/** @type {ProductGroup[] | undefined} */
const productGroups = doc.product_tree?.product_groups
if (Array.isArray(productGroups)) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think most of the isArray statements are not necessary. This should be done in the Validation

const vulnerabilities = doc.vulnerabilities
if (Array.isArray(vulnerabilities)) {
vulnerabilities.forEach((vulnerability, vulnerabilityIndex) => {
if (['ids', 'cve'].every((p) => vulnerability[p] === undefined)) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use meaningful variable names, not p

Comment thread csaf_2_1/mandatoryTests/mandatoryTest_6_1_27_8.js
}
})
}
return hadErrors

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The result in oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-02.result.json does not match to the result of the function

[
  {
    "instancePath": "/vulnerabilities/0/product_status/known_not_affected/0",
    "message": "product id `CSAFPID-9080700` does not have a vulnerability id assigned nor a CVE or general vulnerability id is given"
  },
  {
    "instancePath": "/vulnerabilities/0/product_status/known_not_affected/1",
    "message": "product id `CSAFPID-9080701` does not have a vulnerability id assigned nor a CVE or general vulnerability id is given"
  },
  {
    "instancePath": "/vulnerabilities/1/product_status/known_not_affected/3",
    "message": "product id `CSAFPID-9080703` does not have a vulnerability id assigned nor a CVE or general vulnerability id is given"
  },
  {
    "instancePath": "/vulnerabilities/2/product_status/known_not_affected/3",
    "message": "product id `CSAFPID-9080703` does not have a vulnerability id assigned nor a CVE or general vulnerability id is given"
  }
]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possible inconsistency between test case and expected result

I may be overlooking something or misunderstanding the intended behavior, but it seems that the test case oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-02.json and the corresponding oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-02.result.json do not match.

For the first vulnerability (/vulnerabilities/0/), the scenario is:

"product_ids": ["CSAFPID-9080702"]

Validation against:

known_not_affected = [
  "CSAFPID-9080700",
  "CSAFPID-9080701",
  "CSAFPID-9080702"
]

Results in:

  • CSAFPID-9080700 → not covered → validation error at index 0
  • CSAFPID-9080701 → not covered → validation error at index 1
  • CSAFPID-9080702 → covered → no validation error

This produces 2 validation errors (indices 0 and 1).

However, the expected result.json only contains a validation error at index 2.

Possible solution

If the expected result is correct, the test case could instead reference the product group:

"group_ids": ["CSAFGID-1020300"]

where CSAFGID-1020300 resolves to:

[
  "CSAFPID-9080700",
  "CSAFPID-9080701"
]

Validation against the same known_not_affected list would then produce:

  • CSAFPID-9080700 → covered → OK
  • CSAFPID-9080701 → covered → OK
  • CSAFPID-9080702 → not covered → validation error at index 2

This results in 1 validation error (index 2), which matches the expected result.json.

Expected behavior

If the expected outcome is the one defined in result.json, it seems that the affected products should be resolved via the referenced product group rather than by referencing the single product directly.

Could you confirm whether this is an inconsistency in the test case or if I am missing some aspect of the intended validation logic?

@github-actions

Copy link
Copy Markdown

Coverage after merging fix/csaf-2.1_mandatory_test_6.1.27.8 into main will be

99.84%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
cwe.js100%100%100%100%
informativeTests.js100%100%100%100%
mandatoryTests.js100%100%100%100%
optionalTests.js100%100%100%100%
schemaTests.js100%100%100%100%
strip.js100%100%100%100%
validate.js100%100%100%100%
validateStrict.js90.91%66.67%100%93.10%27, 27–28
csaf_2_1
   csafAjv.js100%100%100%100%
   dateHelper.js97.96%86.67%100%100%63, 65
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   recommendedTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   sharingGroup.js100%100%100%100%
csaf_2_1/csafAjv
   SelectionList_2_0_0.schema.js100%100%100%100%
   content_schema.js100%100%100%100%
   csaf_meta.js100%100%100%100%
   cvss-v4.0.0.js100%100%100%100%
   cvss_meta.js100%100%100%100%
   draft-07-schema.js100%100%100%100%
   extension-content.js100%100%100%100%
   meta-format-assertion.js100%100%100%100%
csaf_2_1/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_12.js100%100%100%100%
   informativeTest_6_3_18.js100%100%100%100%
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_21_1.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js100%100%100%100%
csaf_2_1/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js99.64%96.97%100%100%179
   mandatoryTest_6_1_11.js89.72%80%100%90.63%54–56, 64–71
   mandatoryTest_6_1_13.js99.53%96.15%100%100%137
   mandatoryTest_6_1_2.js100%100%100%100%
   mandatoryTest_6_1_25.js100%100%100%100%
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_12.js100%100%100%100%
   mandatoryTest_6_1_27_14.js100%100%100%100%
   mandatoryTest_6_1_27_15.js100%100%100%100%
   mandatoryTest_6_1_27_16.js100%100%100%100%
   mandatoryTest_6_1_27_17.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_18.js99.15%93.75%100%100%80
   mandatoryTest_6_1_27_19.js92.31%80%100%94.06%79–80, 82–88
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_6.js100%100%100%100%
   mandatoryTest_6_1_27_8.js99.59%97.06%100%100%117
   mandatoryTest_6_1_34.js95.92%81.82%100%97.65%55–57, 77
   mandatoryTest_6_1_35.js100%100%100%100%
   mandatoryTest_6_1_36.js97.10%72.22%100%99.10%146–148, 156, 183, 185, 199
   mandatoryTest_6_1_37.js99.50%91.67%100%100%147
   mandatoryTest_6_1_39.js100%100%100%100%
   mandatoryTest_6_1_4.js100%100%100%100%
   mandatoryTest_6_1_40.js100%100%100%100%
   mandatoryTest_6_1_41.js100%100%100%100%
   mandatoryTest_6_1_42.js100%100%100%100%
   mandatoryTest_6_1_43.js100%100%100%100%
   mandatoryTest_6_1_44.js100%100%100%100%
   mandatoryTest_6_1_45.js100%100%100%100%
   mandatoryTest_6_1_46.js97.94%81.82%100%100%73, 76
   mandatoryTest_6_1_47.js100%100%100%100%
   mandatoryTest_6_1_49.js100%100%100%100%
   mandatoryTest_6_1_51.js100%100%100%100%
   mandatoryTest_6_1_52.js100%100%100%100%
   mandatoryTest_6_1_53.js100%100%100%100%
   mandatoryTest_6_1_57.js100%100%100%100%
   mandatoryTest_6_1_58.js100%100%100%100%
   mandatoryTest_6_1_6.js100%100%100%100%
   mandatoryTest_6_1_61.js100%100%100%100%
   mandatoryTest_6_1_7.js100%100%100%100%
   mandatoryTest_6_1_8.js93.15%61.90%100%98.39%100, 103, 112, 115, 74–76, 81, 88, 91
   mandatoryTest_6_1_9.js100%100%100%100%
   mandatoryTests_6_1_38.js100%100%100%100%
csaf_2_1/mandatoryTests/shared
   docProductUtils.js95.75%78.26%100%97.84%103, 129–131, 172, 78–80, 88
   wildcardUtils.js100%100%100%100%
csaf_2_1/recommendedTests
   recommendedTest_6_2_1.js100%100%100%100%
   recommendedTest_6_2_10.js70%100%0%75%7–8
   recommendedTest_6_2_11.js99.25%95%100%100%63
   recommendedTest_6_2_12.js100%100%100%100%
   recommendedTest_6_2_13.js100%100%100%100%
   recommendedTest_6_2_14.js100%100%100%100%
   recommendedTest_6_2_15.js100%100%100%100%
   recommendedTest_6_2_16.js100%100%100%100%
   recommendedTest_6_2_17.js100%100%100%100%
   recommendedTest_6_2_18.js100%100%100%100%
   recommendedTest_6_2_19.js70%100%0%75%7–8
   recommendedTest_6_2_2.js100%100%100%100%
   recommendedTest_6_2_21.js100%100%100%100%
   recommendedTest_6_2_22.js100%100%100%100%
   recommendedTest_6_2_23.js100%100%100%100%
   recommendedTest_6_2_25.js100%100%100%100%
   recommendedTest_6_2_27.js97.24%82.61%100%98.96%124–126, 141, 145, 166
   recommendedTest_6_2_28.js100%100%100%100%
   recommendedTest_6_2_29.js100%100%100%100%
   recommendedTest_6_2_3.js97.67%87.50%100%98.70%63–64
   recommendedTest_6_2_30.js100%100%100%100%
   recommendedTest_6_2_38.js100%100%100%100%
   recommendedTest_6_2_39_2.js100%100%100%100%
   recommendedTest_6_2_39_3.js100%100%100%100%
   recommendedTest_6_2_39_4.js100%100%100%100%
   recommendedTest_6_2_4.js100%100%100%100%
   recommendedTest_6_2_40.js100%100%100%100%
   recommendedTest_6_2_41.js100%100%100%100%
   recommendedTest_6_2_43.js100%100%100%100%
   recommendedTest_6_2_47.js100%100%100%100%
   recommendedTest_6_2_48.js100%100%100%100%
   recommendedTest_6_2_5.js100%100%100%100%
   recommendedTest_6_2_53.js100%100%100%100%
   recommendedTest_6_2_6.js100%100%100%100%
   recommendedTest_6_2_7.js100%100%100%100%
   recommendedTest_6_2_8.js100%100%100%100%
   recommendedTest_6_2_9.js100%100%100%100%
csaf_2_1/recommendedTests/shared
   checkForUnsafeHashAlgorithms.js98.53%87.50%100%100%31
csaf_2_1/schemaTests
   csaf_2_1.js93.10%100%100%92.31%22–23
   csaf_2_1_strict.js93.10%100%100%92.31%22–23
csaf_2_1/schemaTests/csaf_2_1
   schema.js100%100%100%100%
csaf_2_1/schemaTests/csaf_2_1_strict
   schema.js100%100%100%100%
csaf_2_1/shared/csafHelpers
   walkHashes.js93.41%76.92%100%96.10%100, 117–119, 123, 140–142, 146, 94–96
lib
   cwec.js100%100%100%100%
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   optionalTests.js100%100%100%100%
   schemaTests.js100%100%100%100%
   strip.js100%100%100%100%
   validate.js100%100%100%100%
   walkPaths.js99%93.33%100%100%66
lib/cwec
   2.11.js100%100%100%100%
   3.0.js100%100%100%100%
   4.10.js100%100%100%100%
   4.12.js100%100%100%100%
   4.13.js100%100%100%100%
   4.14.js100%100%100%100%
   4.9.js100%100%100%100%
lib/informativeTests
   informativeTest_6_3_1.js100%100%100%100%
   informativeTest_6_3_10.js96.39%90%100%97.18%47–49
   informativeTest_6_3_11.js96.63%91.67%100%97.33%47–49
   informativeTest_6_3_2.js100%100%100%100%
   informativeTest_6_3_3.js100%100%100%100%
   informativeTest_6_3_4.js100%100%100%100%
   informativeTest_6_3_5.js97.96%83.33%100%100%30
   informativeTest_6_3_6.js99.02%95.52%100%99.55%196–198, 222, 402
   informativeTest_6_3_7.js96%87.50%100%97.59%53–55, 61
   informativeTest_6_3_8.js97.66%83.33%100%99.05%239–241, 244, 246, 298–300, 394, 399, 416
   informativeTest_6_3_9.js95.97%89.47%100%96.83%42–44, 54–56
lib/informativeTests/shared
   testURL.js100%100%100%100%
lib/language_specific_translation
   translations.js100%100%100%100%
lib/mandatoryTests
   mandatoryTest_6_1_1.js100%100%100%100%
   mandatoryTest_6_1_10.js98.60%92.59%100%100%106, 97
   mandatoryTest_6_1_11.js100%100%100%100%
   mandatoryTest_6_1_12.js100%100%100%100%
   mandatoryTest_6_1_13.js99.28%95.83%100%100%109
   mandatoryTest_6_1_14.js100%100%100%100%
   mandatoryTest_6_1_15.js100%100%100%100%
   mandatoryTest_6_1_16.js100%100%100%100%
   mandatoryTest_6_1_17.js100%100%100%100%
   mandatoryTest_6_1_18.js100%100%100%100%
   mandatoryTest_6_1_19.js100%100%100%100%
   mandatoryTest_6_1_2.js98%87.50%100%100%110, 52, 68
   mandatoryTest_6_1_20.js100%100%100%100%
   mandatoryTest_6_1_21.js100%100%100%100%
   mandatoryTest_6_1_22.js100%100%100%100%
   mandatoryTest_6_1_23.js98.44%92.31%100%100%39
   mandatoryTest_6_1_24.js96.63%83.33%100%100%50, 62, 64
   mandatoryTest_6_1_25.js98.94%93.75%100%100%139, 144
   mandatoryTest_6_1_26.js100%100%100%100%
   mandatoryTest_6_1_27_1.js100%100%100%100%
   mandatoryTest_6_1_27_10.js95.58%80.95%100%98.90%52, 54, 57–59
   mandatoryTest_6_1_27_11.js100%100%100%100%
   mandatoryTest_6_1_27_2.js100%100%100%100%
   mandatoryTest_6_1_27_3.js100%100%100%100%
   mandatoryTest_6_1_27_4.js100%100%100%100%
   mandatoryTest_6_1_27_5.js100%100%100%100%
   mandatoryTest_6_1_27_6.js100%100%100%100%
   mandatoryTest_6_1_27_7.js100%100%100%100%
   mandatoryTest_6_1_27_8.js100%100%100%100%
   mandatoryTest_6_1_27_9.js98.82%94.87%100%100%55, 92
   mandatoryTest_6_1_28.js100%100%100%100%
   mandatoryTest_6_1_29.js100%100%100%100%
   mandatoryTest_6_1_3.js100%100%100%100%
   mandatoryTest_6_1_30.js100%100%100%100%
   mandatoryTest_6_1_31.js100%100%100%100%
   

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CSAF-2.1: Failed Mandatory Test 6.1.27.08

2 participants