Skip to content

Commit 1692cee

Browse files
committed
fix: updates Assessment Platform to remove empty component array
Assessment Platform is a required field under Assessment Assests but component are not. This updated that field to ensure there are no empty component lists. Signed-off-by: Jennifer Power <[email protected]>
1 parent 29d6357 commit 1692cee

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

models/plans/plan.go

+13-9
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,7 @@ func GenerateAssessmentPlan(ctx context.Context, comps []components.Component, i
115115
}
116116

117117
assessmentAssets := AssessmentAssets(comps)
118-
taskAssessmentSubject := oscalTypes.AssessmentSubject{
119-
IncludeSubjects: &subjectSelectors,
120-
Type: defaultSubjectType,
121-
}
122-
*ruleBasedTask.Subjects = append(*ruleBasedTask.Subjects, taskAssessmentSubject)
118+
*ruleBasedTask.Subjects = append(*ruleBasedTask.Subjects, oscalTypes.AssessmentSubject{IncludeSubjects: &subjectSelectors})
123119

124120
metadata := models.NewSampleMetadata()
125121
metadata.Title = options.title
@@ -151,7 +147,7 @@ func newTask() oscalTypes.Task {
151147
UUID: uuid.NewUUID(),
152148
Title: "Automated Assessment",
153149
Type: defaultTaskType,
154-
Description: "Evaluation of defined rules for components.",
150+
Description: "Evaluation of defined rules for applicable comps.",
155151
Subjects: &[]oscalTypes.AssessmentSubject{},
156152
AssociatedActivities: &[]oscalTypes.AssociatedActivity{},
157153
}
@@ -296,12 +292,20 @@ func AssessmentAssets(comps []components.Component) oscalTypes.AssessmentAssets
296292

297293
}
298294
}
295+
299296
// AssessmentPlatforms is a required field under AssessmentAssets
300297
assessmentPlatform := oscalTypes.AssessmentPlatform{
301-
UUID: uuid.NewUUID(),
302-
Title: models.SampleRequiredString,
303-
UsesComponents: &usedComponents,
298+
UUID: uuid.NewUUID(),
299+
Title: models.SampleRequiredString,
300+
}
301+
302+
if len(usedComponents) == 0 {
303+
return oscalTypes.AssessmentAssets{
304+
AssessmentPlatforms: []oscalTypes.AssessmentPlatform{assessmentPlatform},
305+
}
304306
}
307+
308+
assessmentPlatform.UsesComponents = &usedComponents
305309
assessmentAssets := oscalTypes.AssessmentAssets{
306310
Components: &systemComponents,
307311
AssessmentPlatforms: []oscalTypes.AssessmentPlatform{assessmentPlatform},

0 commit comments

Comments
 (0)