Skip to content

Commit 94330e1

Browse files
authored
✨ Add unassessed risk type and exit early for app risk status calculation (konveyor#623)
https://issues.redhat.com/browse/MTA-2308 Signed-off-by: Ian Bolton <[email protected]>
1 parent 5b39e71 commit 94330e1

File tree

3 files changed

+22
-24
lines changed

3 files changed

+22
-24
lines changed

api/application.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1136,7 +1136,7 @@ func (r *Application) With(m *model.Application, tags []model.ApplicationTag) {
11361136
})
11371137
r.Effort = m.Analyses[len(m.Analyses)-1].Effort
11381138
}
1139-
r.Risk = assessment.RiskUnknown
1139+
r.Risk = assessment.RiskUnassessed
11401140
}
11411141

11421142
// WithVirtualTags updates the resource with tags derived from assessments.

api/archetype.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ func (r *Archetype) With(m *model.Archetype) {
385385
ref.With(m.Review.ID, "")
386386
r.Review = ref
387387
}
388-
r.Risk = assessment.RiskUnknown
388+
r.Risk = assessment.RiskUnassessed
389389
}
390390

391391
// WithResolver uses an ArchetypeResolver to update the resource with

assessment/pkg.go

+20-22
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import (
88

99
// Assessment risk
1010
const (
11-
RiskUnknown = "unknown"
12-
RiskRed = "red"
13-
RiskYellow = "yellow"
14-
RiskGreen = "green"
11+
RiskUnassessed = "unassessed"
12+
RiskUnknown = "unknown"
13+
RiskRed = "red"
14+
RiskYellow = "yellow"
15+
RiskGreen = "green"
1516
)
1617

1718
// Assessment status
@@ -43,26 +44,23 @@ const (
4344

4445
// Risk returns the single highest risk score for a group of assessments.
4546
func Risk(assessments []Assessment) (risk string) {
46-
risk = RiskUnknown
47+
// Return "unassessed" immediately if there are no assessments
4748
if len(assessments) == 0 {
48-
return
49+
return RiskUnassessed
4950
}
50-
red := 0
51-
yellow := 0
52-
unknown := 0
53-
green := 0
54-
if len(assessments) > 0 {
55-
for _, a := range assessments {
56-
switch a.Risk() {
57-
case RiskRed:
58-
red++
59-
case RiskYellow:
60-
yellow++
61-
case RiskGreen:
62-
green++
63-
default:
64-
unknown++
65-
}
51+
52+
red, yellow, unknown, green := 0, 0, 0, 0
53+
54+
for _, a := range assessments {
55+
switch a.Risk() {
56+
case RiskRed:
57+
red++
58+
case RiskYellow:
59+
yellow++
60+
case RiskGreen:
61+
green++
62+
default:
63+
unknown++
6664
}
6765
}
6866

0 commit comments

Comments
 (0)