Skip to content

feat: add mandatory test 6.1.36 #216

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: 196-csaf-2.1
Choose a base branch
from

Conversation

domachine
Copy link
Contributor

No description provided.

Copy link

Coverage after merging 197-csaf-2.1-mandatory-test-6.1.36 into 196-csaf-2.1-exclude-unimplemented-tests-from-test-suite

99.69%

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
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   optionalTests.js100%100%100%100%
csaf_2_1/mandatoryTests
   mandatoryTest_6_1_36.js97.11%73.68%100%99.10%146–148, 165, 183, 185, 199
lib
   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%
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.js94.62%75%100%96.21%239–241, 244, 246, 297–311, 316, 359, 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/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.24%95.83%100%100%103
   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.44%66.67%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%
   cwec.js100%100%100%100%
   dateHelper.js95.45%80%100%100%16–17
   first.js100%100%100%100%
   sortObjectKeys.js100%100%100%100%
lib/shared/bcpLanguageTagChecker
   extensions.js100%100%100%100%
   subtags.js100%100%100%100%
lib/shared/csafAjv
   cvss-v2.0.js100%100%100%100%
   cvss-v3.0.js100%100%100%100%
   cvss-v3.1.js100%100%100%100%
   cvss-v4.0.js100%100%100%100%
lib/shared/csafHelpers
   walkHashes.js100%100%100%100%

Base automatically changed from 196-csaf-2.1-exclude-unimplemented-tests-from-test-suite to 196-csaf-2.1 February 27, 2025 09:44
@domachine domachine mentioned this pull request Feb 27, 2025
27 tasks
@tschmidtb51
Copy link
Contributor

I'll review after #220 is merged

@tschmidtb51 tschmidtb51 marked this pull request as draft February 28, 2025 14:28
@domachine domachine force-pushed the 197-csaf-2.1-mandatory-test-6.1.36 branch 2 times, most recently from 8394eb7 to eb7c402 Compare March 3, 2025 14:09
@domachine domachine force-pushed the 197-csaf-2.1-mandatory-test-6.1.36 branch from eb7c402 to 1267a2f Compare March 5, 2025 09:06
Copy link

github-actions bot commented Mar 5, 2025

Coverage after merging 197-csaf-2.1-mandatory-test-6.1.36 into 196-csaf-2.1

99.69%

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
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   optionalTests.js100%100%100%100%
csaf_2_1/mandatoryTests
   mandatoryTest_6_1_36.js97.10%72.22%100%99.10%146–148, 156, 183, 185, 199
lib
   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%
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.js94.62%75%100%96.21%239–241, 244, 246, 297–311, 316, 359, 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/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.24%95.83%100%100%103
   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.44%66.67%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%
   cwec.js100%100%100%100%
   dateHelper.js95.45%80%100%100%16–17
   first.js100%100%100%100%
   sortObjectKeys.js100%100%100%100%
lib/shared/bcpLanguageTagChecker
   extensions.js100%100%100%100%
   subtags.js100%100%100%100%
lib/shared/csafAjv
   cvss-v2.0.js100%100%100%100%
   cvss-v3.0.js100%100%100%100%
   cvss-v3.1.js100%100%100%100%
   cvss-v4.0.js100%100%100%100%
lib/shared/csafHelpers
   walkHashes.js100%100%100%100%

@domachine domachine marked this pull request as ready for review March 5, 2025 11:52
@domachine domachine force-pushed the 197-csaf-2.1-mandatory-test-6.1.36 branch from 1267a2f to 213be7e Compare March 7, 2025 08:52
Copy link

github-actions bot commented Mar 7, 2025

Coverage after merging 197-csaf-2.1-mandatory-test-6.1.36 into 196-csaf-2.1

99.69%

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
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   optionalTests.js100%100%100%100%
csaf_2_1/mandatoryTests
   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
lib
   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%
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.js94.62%75%100%96.21%239–241, 244, 246, 297–311, 316, 359, 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/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.24%95.83%100%100%103
   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.44%66.67%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%
   cwec.js100%100%100%100%
   dateHelper.js95.45%80%100%100%16–17
   first.js100%100%100%100%
   sortObjectKeys.js100%100%100%100%
lib/shared/bcpLanguageTagChecker
   extensions.js100%100%100%100%
   subtags.js100%100%100%100%
lib/shared/csafAjv
   cvss-v2.0.js100%100%100%100%
   cvss-v3.0.js100%100%100%100%
   cvss-v3.1.js100%100%100%100%
   cvss-v4.0.js100%100%100%100%
lib/shared/csafHelpers
   walkHashes.js100%100%100%100%

if (prohibitionRuleMap.get(category)?.has(productStatus)) {
ctx.errors.push({
instancePath: `/vulnerabilities/${vulnerabilityIndex}/remediations/${remediationIndex}`,
message: `contradicting remediation product status combination for product id "${productId}": ${category}, ${productStatus}`,
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe, we can improve the error message?

Suggested change
message: `contradicting remediation product status combination for product id "${productId}": ${category}, ${productStatus}`,
message: `contradicting remediation product status combination for product id "${productId}": product status is ${productStatus} but remediation category is ${category}`,

Copy link
Contributor

Choose a reason for hiding this comment

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

@domachine I guess, I'm missing a response to this comment...

Copy link
Contributor

Choose a reason for hiding this comment

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

What do you think about the suggested error message in https://github.com/secvisogram/csaf-validator-lib/pull/257/files#r2074269857? Please ensure that both follow the same pattern.

Copy link
Contributor

@tschmidtb51 tschmidtb51 left a comment

Choose a reason for hiding this comment

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

I would like to see the wording improved - feel free to come up with a better one than the suggestion.

Also, I wonder if we could adds usability if we use the product_id as instancePath... Please check how we did this in similar tests...

@tschmidtb51 tschmidtb51 marked this pull request as draft March 10, 2025 22:04
Copy link
Contributor

@rainer-exxcellent rainer-exxcellent left a comment

Choose a reason for hiding this comment

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

LGTM

@domachine
Copy link
Contributor Author

I would like to see the wording improved - feel free to come up with a better one than the suggestion.

Also, I wonder if we could adds usability if we use the product_id as instancePath... Please check how we did this in similar tests...

Maybe this is a similar case: https://github.com/secvisogram/csaf-validator-lib/blob/main/lib/mandatoryTests/mandatoryTest_6_1_1.js#L62
Here we are using the product id.

@domachine domachine requested a review from tschmidtb51 March 19, 2025 10:20
@rainer-exxcellent rainer-exxcellent marked this pull request as ready for review April 8, 2025 11:46
Copy link
Contributor

@tschmidtb51 tschmidtb51 left a comment

Choose a reason for hiding this comment

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

Maybe this is a similar case: https://github.com/secvisogram/csaf-validator-lib/blob/main/lib/mandatoryTests/mandatoryTest_6_1_1.js#L62
Here we are using the product id.

I guess, it could be helpful to show it directly at that place... What do you think from an UI perspective?

if (prohibitionRuleMap.get(category)?.has(productStatus)) {
ctx.errors.push({
instancePath: `/vulnerabilities/${vulnerabilityIndex}/remediations/${remediationIndex}`,
message: `contradicting remediation product status combination for product id "${productId}": ${category}, ${productStatus}`,
Copy link
Contributor

Choose a reason for hiding this comment

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

@domachine I guess, I'm missing a response to this comment...

@tschmidtb51 tschmidtb51 marked this pull request as draft April 14, 2025 22:58
@domachine domachine self-assigned this Apr 25, 2025
@domachine
Copy link
Contributor Author

Maybe this is a similar case: https://github.com/secvisogram/csaf-validator-lib/blob/main/lib/mandatoryTests/mandatoryTest_6_1_1.js#L62
Here we are using the product id.

I guess, it could be helpful to show it directly at that place... What do you think from an UI perspective?

I'm not really sure if this would result in better UX. The are two major error sources (probably more). One case I see is that the user confused the product id. In this case it might be easier to spot if the error was right at the product id. The second case is that the remediation category or the product status is messed up. In that case it might be easier to spot and fix if the error was located at the product status or the remediation. Maybe the user can even memorize the product id (maybe it's some technical identifier) then it might be obvious what's wrong if she/he re-checks the remediation (which the error points to).

Since the remediation and the product status are probably located side by side (in the same vulnerability) I think it's fine to point the user to the remediation. But it's probably also a matter of taste. Do you have any particular use-case in mind?

@domachine domachine force-pushed the 197-csaf-2.1-mandatory-test-6.1.36 branch from 213be7e to e1b4533 Compare April 28, 2025 12:39
@domachine domachine requested a review from tschmidtb51 April 28, 2025 12:39
@domachine domachine assigned tschmidtb51 and unassigned domachine Apr 28, 2025
Copy link

Coverage after merging 197-csaf-2.1-mandatory-test-6.1.36 into 196-csaf-2.1

99.09%

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
   informativeTests.js100%100%100%100%
   mandatoryTests.js100%100%100%100%
   optionalTests.js100%100%100%100%
csaf_2_1/mandatoryTests
   mandatoryTest_6_1_1.js44.75%77.78%37.50%43.88%100–116, 127–167, 175–186, 194–212, 220–238, 246–268, 71–89, 92–99
   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_39.js100%100%100%100%
   mandatoryTest_6_1_40.js100%100%100%100%
   mandatoryTest_6_1_41.js100%100%100%100%
   mandatoryTest_6_1_8.js93.10%60%100%98.39%100, 103, 112, 115, 74–76, 81, 88, 91
   mandatoryTests_6_1_38.js100%100%100%100%
   sharingGroup.js100%100%100%100%
lib
   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%
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/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.24%95.83%100%100%103
   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.44%66.67%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%
   cwec.js100%100%100%100%
   dateHelper.js95.45%80%100%100%16–17
   first.js100%100%100%100%
   sortObjectKeys.js100%100%100%100%
lib/shared/bcpLanguageTagChecker
   extensions.js100%100%100%100%
   subtags.js100%100%100%100%
lib/shared/csafAjv
   cvss-v2.0.js100%100%100%100%
   cvss-v3.0.js100%100%100%100%
   cvss-v3.1.js100%100%100%100%
   cvss-v4.0.js100%100%100%100%
lib/shared/csafHelpers
   walkHashes.js100%100%100%100%

@tschmidtb51
Copy link
Contributor

Let's discuss that again in our next meeting

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.

3 participants