diff --git a/features/fedramp_extensions.feature b/features/fedramp_extensions.feature index b4168d329..5885b1654 100644 --- a/features/fedramp_extensions.feature +++ b/features/fedramp_extensions.feature @@ -41,8 +41,11 @@ Examples: | component-has-authentication-method | | component-has-diagram-label | | component-has-non-provider-responsible-role | + | component-has-proof-of-compliance-link | | component-has-provider-responsible-role | | component-has-used-by-link | + | component-has-valid-proof-of-compliance-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 @@ -232,8 +236,14 @@ Examples: | component-has-diagram-label-PASS.yaml | | component-has-non-provider-responsible-role-FAIL.yaml | | component-has-non-provider-responsible-role-PASS.yaml | + | component-has-proof-of-compliance-link-FAIL.yaml | + | component-has-proof-of-compliance-link-PASS.yaml | | component-has-used-by-link-FAIL.yaml | | component-has-used-by-link-PASS.yaml | + | component-has-valid-proof-of-compliance-link-FAIL.yaml | + | component-has-valid-proof-of-compliance-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..e03e7efc5 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-proof-of-compliance-link-INVALID.xml b/src/validations/constraints/content/ssp-component-has-proof-of-compliance-link-INVALID.xml new file mode 100644 index 000000000..0ad99cbd8 --- /dev/null +++ b/src/validations/constraints/content/ssp-component-has-proof-of-compliance-link-INVALID.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-component-has-valid-proof-of-compliance-link-INVALID.xml b/src/validations/constraints/content/ssp-component-has-valid-proof-of-compliance-link-INVALID.xml new file mode 100644 index 000000000..92e76f3c8 --- /dev/null +++ b/src/validations/constraints/content/ssp-component-has-valid-proof-of-compliance-link-INVALID.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ 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..432caf1de 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -5,6 +5,32 @@ + + + + + Component Has Proof of Compliance Link + + In a FedRAMP SSP, a validation component MUST include a proof of compliance link. + + + Component Has Valid Proof of Compliance Link + + In a FedRAMP SSP, a validation component MUST include a valid proof of compliance 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-proof-of-compliance-link-FAIL.yaml b/src/validations/constraints/unit-tests/component-has-proof-of-compliance-link-FAIL.yaml new file mode 100644 index 000000000..d91593f2c --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-proof-of-compliance-link-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for component-has-proof-of-compliance-link + description: >- + This test case validates the behavior of constraint + component-has-proof-of-compliance-link + content: ../content/ssp-component-has-proof-of-compliance-link-INVALID.xml + expectations: + - constraint-id: component-has-proof-of-compliance-link + result: fail diff --git a/src/validations/constraints/unit-tests/component-has-proof-of-compliance-link-PASS.yaml b/src/validations/constraints/unit-tests/component-has-proof-of-compliance-link-PASS.yaml new file mode 100644 index 000000000..c089f5611 --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-proof-of-compliance-link-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for component-has-proof-of-compliance-link + description: >- + This test case validates the behavior of constraint + component-has-proof-of-compliance-link + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: component-has-proof-of-compliance-link + result: pass diff --git a/src/validations/constraints/unit-tests/component-has-valid-proof-of-compliance-link-FAIL.yaml b/src/validations/constraints/unit-tests/component-has-valid-proof-of-compliance-link-FAIL.yaml new file mode 100644 index 000000000..bffaa790a --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-valid-proof-of-compliance-link-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for component-has-valid-proof-of-compliance-link + description: >- + This test case validates the behavior of constraint + component-has-valid-proof-of-compliance-link + content: ../content/ssp-component-has-valid-proof-of-compliance-link-INVALID.xml + expectations: + - constraint-id: component-has-valid-proof-of-compliance-link + result: fail diff --git a/src/validations/constraints/unit-tests/component-has-valid-proof-of-compliance-link-PASS.yaml b/src/validations/constraints/unit-tests/component-has-valid-proof-of-compliance-link-PASS.yaml new file mode 100644 index 000000000..2f18bc64f --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-valid-proof-of-compliance-link-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for component-has-valid-proof-of-compliance-link + description: >- + This test case validates the behavior of constraint + component-has-valid-proof-of-compliance-link + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: component-has-valid-proof-of-compliance-link + 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