diff --git a/features/fedramp_extensions.feature b/features/fedramp_extensions.feature index b4168d329..74cd9f12e 100644 --- a/features/fedramp_extensions.feature +++ b/features/fedramp_extensions.feature @@ -43,6 +43,9 @@ Examples: | component-has-non-provider-responsible-role | | component-has-provider-responsible-role | | component-has-used-by-link | + | component-has-valid-validation-details-link | + | component-has-validation-details-link | + | component-has-validation-reference | | component-type | | connection-security | | control-implementation-status | @@ -183,6 +186,7 @@ Examples: | user-privilege-level | | user-sensitivity-level | | user-type | + | validation-reference-has-correct-format | #END_DYNAMIC_CONSTRAINT_IDS @constraints @@ -234,6 +238,12 @@ Examples: | component-has-non-provider-responsible-role-PASS.yaml | | component-has-used-by-link-FAIL.yaml | | component-has-used-by-link-PASS.yaml | + | component-has-valid-validation-details-link-FAIL.yaml | + | component-has-valid-validation-details-link-PASS.yaml | + | component-has-validation-details-link-FAIL.yaml | + | component-has-validation-details-link-PASS.yaml | + | component-has-validation-reference-FAIL.yaml | + | component-has-validation-reference-PASS.yaml | | component-responsible-role-references-party-FAIL.yaml | | component-responsible-role-references-party-PASS.yaml | | component-type-FAIL.yaml | @@ -516,6 +526,8 @@ Examples: | user-sensitivity-level-PASS.yaml | | user-type-FAIL.yaml | | user-type-PASS.yaml | + | validation-reference-has-correct-format-FAIL.yaml | + | validation-reference-has-correct-format-PASS.yaml | #END_DYNAMIC_TEST_CASES @style-guide diff --git a/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml b/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml index 366139e44..699cf3960 100644 --- a/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml +++ b/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml @@ -1712,8 +1712,8 @@ compliance (e.g., Module in Process).

- - + + @@ -1731,8 +1731,8 @@ compliance (e.g., Module in Process).

- - + + diff --git a/src/validations/constraints/content/ssp-component-has-valid-validation-details-link-INVALID.xml b/src/validations/constraints/content/ssp-component-has-valid-validation-details-link-INVALID.xml new file mode 100644 index 000000000..dd0164901 --- /dev/null +++ b/src/validations/constraints/content/ssp-component-has-valid-validation-details-link-INVALID.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-component-has-validation-details-link-INVALID.xml b/src/validations/constraints/content/ssp-component-has-validation-details-link-INVALID.xml new file mode 100644 index 000000000..85508274b --- /dev/null +++ b/src/validations/constraints/content/ssp-component-has-validation-details-link-INVALID.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-component-has-validation-reference-INVALID.xml b/src/validations/constraints/content/ssp-component-has-validation-reference-INVALID.xml new file mode 100644 index 000000000..c9f79c94b --- /dev/null +++ b/src/validations/constraints/content/ssp-component-has-validation-reference-INVALID.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-validation-reference-has-correct-format-INVALID.xml b/src/validations/constraints/content/ssp-validation-reference-has-correct-format-INVALID.xml new file mode 100644 index 000000000..7200ae3af --- /dev/null +++ b/src/validations/constraints/content/ssp-validation-reference-has-correct-format-INVALID.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/fedramp-external-constraints.xml b/src/validations/constraints/fedramp-external-constraints.xml index c4f534b5e..ab860ae48 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -5,6 +5,32 @@ + + + + + Component Has Valid Proof of Compliance Link + + In a FedRAMP SSP, a validation component MUST include a valid validation details link. + + + Component Has Proof of Compliance Link + + In a FedRAMP SSP, a validation component MUST include a validation details link. + + + Component Has Validation Reference + + In a FedRAMP SSP, a validation component MUST include a validation reference. + + + Validation Reference Has Correct Format + + In a FedRAMP SSP, a validation component MUST include a validation reference with the correct 4-digit format. + + + + diff --git a/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-FAIL.yaml b/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-FAIL.yaml new file mode 100644 index 000000000..b64e61034 --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for component-has-valid-validation-details-link + description: >- + This test case validates the behavior of constraint + component-has-valid-validation-details-link + content: ../content/ssp-component-has-valid-validation-details-link-INVALID.xml + expectations: + - constraint-id: component-has-valid-validation-details-link + result: fail diff --git a/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-PASS.yaml b/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-PASS.yaml new file mode 100644 index 000000000..506404854 --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for component-has-valid-validation-details-link + description: >- + This test case validates the behavior of constraint + component-has-valid-validation-details-link + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: component-has-valid-validation-details-link + result: pass diff --git a/src/validations/constraints/unit-tests/component-has-validation-details-link-FAIL.yaml b/src/validations/constraints/unit-tests/component-has-validation-details-link-FAIL.yaml new file mode 100644 index 000000000..bfa7032df --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-validation-details-link-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for component-has-validation-details-link + description: >- + This test case validates the behavior of constraint + component-has-validation-details-link + content: ../content/ssp-component-has-validation-details-link-INVALID.xml + expectations: + - constraint-id: component-has-validation-details-link + result: fail diff --git a/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml b/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml new file mode 100644 index 000000000..a6faf52c0 --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for component-has-validation-details + description: >- + This test case validates the behavior of constraint + component-has-validation-details + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: component-has-validation-details + result: pass diff --git a/src/validations/constraints/unit-tests/component-has-validation-reference-FAIL.yaml b/src/validations/constraints/unit-tests/component-has-validation-reference-FAIL.yaml new file mode 100644 index 000000000..6cfebf2da --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-validation-reference-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for component-has-validation-reference + description: >- + This test case validates the behavior of constraint + component-has-validation-reference + content: ../content/ssp-component-has-validation-reference-INVALID.xml + expectations: + - constraint-id: component-has-validation-reference + result: fail diff --git a/src/validations/constraints/unit-tests/component-has-validation-reference-PASS.yaml b/src/validations/constraints/unit-tests/component-has-validation-reference-PASS.yaml new file mode 100644 index 000000000..16176ce65 --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-validation-reference-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for component-has-validation-reference + description: >- + This test case validates the behavior of constraint + component-has-validation-reference + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: component-has-validation-reference + result: pass diff --git a/src/validations/constraints/unit-tests/validation-reference-has-correct-format-FAIL.yaml b/src/validations/constraints/unit-tests/validation-reference-has-correct-format-FAIL.yaml new file mode 100644 index 000000000..10c685575 --- /dev/null +++ b/src/validations/constraints/unit-tests/validation-reference-has-correct-format-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for validation-reference-has-correct-format + description: >- + This test case validates the behavior of constraint + validation-reference-has-correct-format + content: ../content/ssp-validation-reference-has-correct-format-INVALID.xml + expectations: + - constraint-id: validation-reference-has-correct-format + result: fail diff --git a/src/validations/constraints/unit-tests/validation-reference-has-correct-format-PASS.yaml b/src/validations/constraints/unit-tests/validation-reference-has-correct-format-PASS.yaml new file mode 100644 index 000000000..102bebecd --- /dev/null +++ b/src/validations/constraints/unit-tests/validation-reference-has-correct-format-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for validation-reference-has-correct-format + description: >- + This test case validates the behavior of constraint + validation-reference-has-correct-format + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: validation-reference-has-correct-format + result: pass