Skip to content

Commit

Permalink
Changed order to print from info to high on console (#2787)
Browse files Browse the repository at this point in the history
  • Loading branch information
felipe-avelar authored Apr 12, 2021
1 parent f1454e3 commit d3357c5
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 32 deletions.
3 changes: 2 additions & 1 deletion internal/console/helpers/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,8 @@ func PrintResult(summary *model.Summary, failedQueries map[string]error, printer
fmt.Printf("%s", WordWrap(err.Error(), "\t\t", 5))
}
fmt.Printf("------------------------------------\n\n")
for idx := range summary.Queries {
for index := range summary.Queries {
idx := len(summary.Queries) - index - 1
fmt.Printf(
"%s, Severity: %s, Results: %d\n",
printer.PrintBySev(summary.Queries[idx].QueryName, string(summary.Queries[idx].Severity)),
Expand Down
14 changes: 8 additions & 6 deletions internal/console/helpers/helpers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,23 @@ var printTests = []struct {
expectedResult string
}{
{
caseTest: test.SummaryMock,
expectedResult: "Files scanned: 1\n" +
"Parsed files: 1\n" +
"Queries loaded: 1\n" +
caseTest: test.ComplexSummaryMock,
expectedResult: "Files scanned: 2\n" +
"Parsed files: 2\n" +
"Queries loaded: 2\n" +
"Queries failed to execute: 0\n\n" +
"------------------------------------\n\n" +
"AmazonMQ Broker Encryption Disabled, Severity: MEDIUM, Results: 1\n" +
"\t[1]: positive.tf:1\n" +
"ALB protocol is HTTP, Severity: HIGH, Results: 2\n" +
"\t[1]: positive.tf:25\n" +
"\t[2]: positive.tf:19\n\n" +
"Results Summary:\n" +
"HIGH: 2\n" +
"MEDIUM: 0\n" +
"MEDIUM: 1\n" +
"LOW: 0\n" +
"INFO: 0\n" +
"TOTAL: 2\n\n",
"TOTAL: 3\n\n",
},
}

Expand Down
94 changes: 69 additions & 25 deletions test/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,49 @@ func MapToStringSlice(stringKeyMap map[string]string) []string {
return keys
}

var queryHigh = model.VulnerableQuery{
QueryName: "ALB protocol is HTTP",
QueryID: "de7f5e83-da88-4046-871f-ea18504b1d43",
Severity: model.SeverityHigh,
Files: []model.VulnerableFile{
{
FileName: "positive.tf",
Line: 25,
IssueType: "MissingAttribute",
SearchKey: "aws_alb_listener[front_end].default_action.redirect",
KeyExpectedValue: "'default_action.redirect.protocol' is equal 'HTTPS'",
KeyActualValue: "'default_action.redirect.protocol' is missing",
Value: nil,
},
{
FileName: "positive.tf",
Line: 19,
IssueType: "IncorrectValue",
SearchKey: "aws_alb_listener[front_end].default_action.redirect",
KeyExpectedValue: "'default_action.redirect.protocol' is equal 'HTTPS'",
KeyActualValue: "'default_action.redirect.protocol' is equal 'HTTP'",
Value: nil,
},
},
}

var queryMedium = model.VulnerableQuery{
QueryName: "AmazonMQ Broker Encryption Disabled",
QueryID: "3db3f534-e3a3-487f-88c7-0a9fbf64b702",
Severity: model.SeverityMedium,
Files: []model.VulnerableFile{
{
FileName: "positive.tf",
Line: 1,
IssueType: "MissingAttribute",
SearchKey: "resource.aws_mq_broker[positive1]",
KeyExpectedValue: "resource.aws_mq_broker[positive1].encryption_options is defined",
KeyActualValue: "resource.aws_mq_broker[positive1].encryption_options is not defined",
Value: nil,
},
},
}

// SummaryMock a summary to be used without running kics scan
var SummaryMock = model.Summary{
Counters: model.Counters{
Expand All @@ -113,31 +156,7 @@ var SummaryMock = model.Summary{
FailedToExecuteQueries: 0,
},
Queries: []model.VulnerableQuery{
{
QueryName: "ALB protocol is HTTP",
QueryID: "de7f5e83-da88-4046-871f-ea18504b1d43",
Severity: model.SeverityHigh,
Files: []model.VulnerableFile{
{
FileName: "positive.tf",
Line: 25,
IssueType: "MissingAttribute",
SearchKey: "aws_alb_listener[front_end].default_action.redirect",
KeyExpectedValue: "'default_action.redirect.protocol' is equal 'HTTPS'",
KeyActualValue: "'default_action.redirect.protocol' is missing",
Value: nil,
},
{
FileName: "positive.tf",
Line: 19,
IssueType: "IncorrectValue",
SearchKey: "aws_alb_listener[front_end].default_action.redirect",
KeyExpectedValue: "'default_action.redirect.protocol' is equal 'HTTPS'",
KeyActualValue: "'default_action.redirect.protocol' is equal 'HTTP'",
Value: nil,
},
},
},
queryHigh,
},
SeveritySummary: model.SeveritySummary{
ScanID: "console",
Expand All @@ -150,3 +169,28 @@ var SummaryMock = model.Summary{
TotalCounter: 2,
},
}

// ComplexSummaryMock a summary with more results to be used without running kics scan
var ComplexSummaryMock = model.Summary{
Counters: model.Counters{
ScannedFiles: 2,
ParsedFiles: 2,
FailedToScanFiles: 0,
TotalQueries: 2,
FailedToExecuteQueries: 0,
},
Queries: []model.VulnerableQuery{
queryHigh,
queryMedium,
},
SeveritySummary: model.SeveritySummary{
ScanID: "console",
SeverityCounters: map[model.Severity]int{
model.SeverityInfo: 0,
model.SeverityLow: 0,
model.SeverityMedium: 1,
model.SeverityHigh: 2,
},
TotalCounter: 3,
},
}

0 comments on commit d3357c5

Please sign in to comment.