Skip to content

Commit 8324e70

Browse files
authored
function to validate formatter fields for cleaner code (#250)
1 parent 533b797 commit 8324e70

File tree

3 files changed

+17
-8
lines changed

3 files changed

+17
-8
lines changed

internal/audit/auditlog.go

+11-2
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,19 @@ import (
2424
"github.com/sonatype-nexus-community/nancy/buildversion"
2525
)
2626

27+
func isEntryValid(params ...interface{}) bool {
28+
for _, v := range params {
29+
if v == nil {
30+
return false
31+
}
32+
}
33+
return true
34+
}
35+
2736
// LogResults will given a number of expected results and the results themselves, log the
2837
// results.
2938
func LogResults(formatter log.Formatter, packageCount int, coordinates []types.Coordinate, invalidCoordinates []types.Coordinate, exclusions []string) int {
3039
vulnerableCount := 0
31-
exclusionCount := 0
3240

3341
for _, c := range coordinates {
3442
c.ExcludeVulnerabilities(exclusions)
@@ -42,7 +50,6 @@ func LogResults(formatter log.Formatter, packageCount int, coordinates []types.C
4250
coordinate := coordinates[i]
4351
for _, v := range coordinate.Vulnerabilities {
4452
if v.Excluded {
45-
exclusionCount++
4653
excludedVulnerabilities = append(excludedVulnerabilities, v)
4754
}
4855
}
@@ -63,6 +70,8 @@ func LogResults(formatter log.Formatter, packageCount int, coordinates []types.C
6370
vulnerableCoordinates = make([]types.Coordinate, 0)
6471
}
6572

73+
exclusionCount := len(excludedVulnerabilities)
74+
6675
log.SetFormatter(formatter)
6776
log.SetOutput(os.Stdout)
6877
log.WithFields(log.Fields{

internal/audit/auditlogtextformatter.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ func (f AuditLogTextFormatter) Format(entry *Entry) ([]byte, error) {
158158
numVulnerable := entry.Data["num_vulnerable"]
159159
numExcluded := entry.Data["num_exclusions"]
160160
buildVersion := entry.Data["version"]
161-
if auditedEntries != nil && invalidEntries != nil && excludedEntries != nil && packageCount != nil && numVulnerable != nil && numExcluded != nil && buildVersion != nil {
161+
if isEntryValid(auditedEntries, invalidEntries, excludedEntries, packageCount, numVulnerable, numExcluded, buildVersion) {
162162
auditedEntries := entry.Data["audited"].([]types.Coordinate)
163163
invalidEntries := entry.Data["invalid"].([]types.Coordinate)
164164
packageCount := entry.Data["num_audited"].(int)
@@ -182,10 +182,10 @@ func (f AuditLogTextFormatter) Format(entry *Entry) ([]byte, error) {
182182
t.AppendRow([]interface{}{"Audited Dependencies", strconv.Itoa(packageCount)})
183183
t.AppendSeparator()
184184
t.AppendRow([]interface{}{"Vulnerable Dependencies", au.Bold(au.Red(strconv.Itoa(numVulnerable)))})
185-
if numExcluded > 0 {
186-
t.AppendSeparator()
187-
t.AppendRow([]interface{}{"Ignored Vulnerabilities", au.Bold(au.Yellow(strconv.Itoa(numExcluded)))})
188-
}
185+
if numExcluded > 0 {
186+
t.AppendSeparator()
187+
t.AppendRow([]interface{}{"Ignored Vulnerabilities", au.Bold(au.Yellow(strconv.Itoa(numExcluded)))})
188+
}
189189
sb.WriteString(t.Render())
190190
sb.WriteString("\n")
191191

internal/audit/csvformatter.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func (f CsvFormatter) Format(entry *Entry) ([]byte, error) {
4444
excludedCount := entry.Data["num_exclusions"]
4545
buildVersion := entry.Data["version"]
4646

47-
if auditedEntries != nil && invalidEntries != nil && packageCount != nil && numVulnerable != nil && excludedCount != nil && buildVersion != nil {
47+
if isEntryValid(auditedEntries, invalidEntries, packageCount, numVulnerable, excludedCount, buildVersion) {
4848
auditedEntries := entry.Data["audited"].([]types.Coordinate)
4949
invalidEntries := entry.Data["invalid"].([]types.Coordinate)
5050
packageCount := entry.Data["num_audited"].(int)

0 commit comments

Comments
 (0)