Sha256: 23ea92da30c75d28f899d84ecb25b8a08e72bec45e9fa49d667d0041eb2a0b55
Contents?: true
Size: 1.29 KB
Versions: 1
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true require 'date' require 'oscal' module RSpec module RSpecOscalFormatter # Create an assessment plan from the metadata and template class CreateAssessmentPlan def initialize(metadata) @assessment_plan = Oscal::AssessmentPlan::AssessmentPlan.new( { uuid: metadata.assessment_plan_uuid, metadata: build_ap_metadata_block(metadata), import_ssp: { href: './assessment_plan.json' }, reviewed_controls: make_reviewed_controls(metadata), }, ) end def build_ap_metadata_block(metadata) { title: "Automated Testing Plan for login.gov. It #{metadata.description}", last_modified: DateTime.now.iso8601, version: DateTime.now.iso8601, oscal_version: '1.1.2', } end def make_reviewed_controls(metadata) { control_selections: [ include_controls: [ { control_id: metadata.control_id, statement_ids: [metadata.statement_id], }, ], ], } end def get @assessment_plan end def to_json(*_args) @assessment_plan.to_json end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec_oscal_formatter-0.1.1 | lib/rspec_oscal_formatter/create_assessment_plan.rb |