Skip to content
This repository was archived by the owner on Oct 30, 2024. It is now read-only.

refactors sarif test #469

Merged
merged 5 commits into from
Aug 24, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
exports results field and renames func
  • Loading branch information
dani-santos-code committed Aug 18, 2022
commit fa435751f854989651bac831f2fdef5e5a3c1f25
2 changes: 1 addition & 1 deletion auditors/all/all_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ func TestFixAll(t *testing.T) {
for _, file := range files {
t.Run(file, func(t *testing.T) {
_, report := test.FixSetupMultiple(t, fixtureDir, file, allAuditors)
for _, result := range report.Results() {
for _, result := range report.GetResults() {
for _, auditResult := range result.GetAuditResults() {
require.NotEqual(t, kubeaudit.Error, auditResult.Severity)
}
Expand Down
4 changes: 2 additions & 2 deletions auditors/deprecatedapis/depreceatedapis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ func TestAuditDeprecatedAPIs(t *testing.T) {
}

func assertReport(t *testing.T, report *kubeaudit.Report, expectedSeverity kubeaudit.SeverityLevel, message string, metadata map[string]string) {
assert.Equal(t, 1, len(report.Results()))
for _, result := range report.Results() {
assert.Equal(t, 1, len(report.GetResults()))
for _, result := range report.GetResults() {
assert.Equal(t, 1, len(result.GetAuditResults()))
for _, auditResult := range result.GetAuditResults() {
require.Equal(t, expectedSeverity, auditResult.Severity)
Expand Down
2 changes: 1 addition & 1 deletion fix_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func TestFix(t *testing.T) {
for _, fixture := range fixtureFiles {
t.Run(filepath.Join(fixturesDirPath, fixture.Name()), func(t *testing.T) {
_, report := test.FixSetupMultiple(t, fixturesDirPath, fixture.Name(), allAuditors)
for _, result := range report.Results() {
for _, result := range report.GetResults() {
for _, auditResult := range result.GetAuditResults() {
if !assert.NotEqual(t, kubeaudit.Error, auditResult.Severity) {
return
Expand Down
2 changes: 1 addition & 1 deletion internal/sarif/sarif.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func Create(kubeauditReport *kubeaudit.Report) (*sarif.Report, error) {

var results []*kubeaudit.AuditResult

for _, reportResult := range kubeauditReport.Results() {
for _, reportResult := range kubeauditReport.GetResults() {
r := reportResult.GetAuditResults()
results = append(results, r...)
}
Expand Down
2 changes: 1 addition & 1 deletion internal/test/test.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ func AuditMultiple(t *testing.T, fixtureDir, fixture string, auditables []kubeau
require.NotNil(t, report)

errors := make(map[string]bool)
for _, result := range report.Results() {
for _, result := range report.GetResults() {
for _, auditResult := range result.GetAuditResults() {
errors[auditResult.Rule] = true
}
Expand Down
26 changes: 13 additions & 13 deletions kubeaudit.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
//
// Or, to get the result objects:
//
// results := report.Results()
// results := report.GetResults()
//
// Autofix
//
Expand Down Expand Up @@ -168,7 +168,7 @@ func (a *Kubeaudit) AuditManifest(manifestPath string, manifest io.Reader) (*Rep
}
}

report := &Report{results: results}
report := &Report{Results: results}

return report, nil
}
Expand All @@ -193,7 +193,7 @@ func (a *Kubeaudit) AuditCluster(options AuditOptions) (*Report, error) {
return nil, err
}

report := &Report{results: results}
report := &Report{Results: results}

return report, nil
}
Expand All @@ -216,26 +216,26 @@ func (a *Kubeaudit) AuditLocal(configpath string, context string, options AuditO
return nil, err
}

report := &Report{results: results}
report := &Report{Results: results}

return report, nil
}

// Report contains the results after auditing
type Report struct {
results []Result
Results []Result
}

// RawResults returns all of the results for each Kubernetes resource, including ones that had no audit results.
// Generally, you will want to use Results() instead.
func (r *Report) RawResults() []Result {
return r.results
return r.Results
}

// Results returns the audit results for each Kubernetes resource
func (r *Report) Results() []Result {
results := make([]Result, 0, len(r.results))
for _, result := range r.results {
func (r *Report) GetResults() []Result {
results := make([]Result, 0, len(r.Results))
for _, result := range r.Results {
if len(result.GetAuditResults()) > 0 {
results = append(results, result)
}
Expand All @@ -246,7 +246,7 @@ func (r *Report) Results() []Result {
// ResultsWithMinSeverity returns the audit results for each Kubernetes resource with a minimum severity
func (r *Report) ResultsWithMinSeverity(minSeverity SeverityLevel) []Result {
var results []Result
for _, result := range r.results {
for _, result := range r.Results {
var filteredAuditResults []*AuditResult
for _, auditResult := range result.GetAuditResults() {
if auditResult.Severity >= minSeverity {
Expand All @@ -265,7 +265,7 @@ func (r *Report) ResultsWithMinSeverity(minSeverity SeverityLevel) []Result {

// HasErrors returns true if any findings have the level of Error
func (r *Report) HasErrors() (errorsFound bool) {
for _, workloadResult := range r.Results() {
for _, workloadResult := range r.GetResults() {
for _, auditResult := range workloadResult.GetAuditResults() {
if auditResult.Severity >= Error {
return true
Expand All @@ -284,7 +284,7 @@ func (r *Report) PrintResults(printOptions ...PrintOption) {
// Fix tries to automatically patch any security concerns and writes the resulting manifest to the provided writer.
// Only applies when audit was performed on a manifest (not local or cluster)
func (r *Report) Fix(writer io.Writer) error {
fixed, err := fix(r.results)
fixed, err := fix(r.Results)
if err != nil {
return err
}
Expand All @@ -296,7 +296,7 @@ func (r *Report) Fix(writer io.Writer) error {
// PrintPlan writes the actions that will be performed by the Fix() function in a human-readable way to the
// provided writer. Only applies when audit was performed on a manifest (not local or cluster)
func (r *Report) PrintPlan(writer io.Writer) {
for _, result := range r.Results() {
for _, result := range r.GetResults() {
for _, auditResult := range result.GetAuditResults() {
ok, plan := auditResult.FixPlan()
if ok {
Expand Down
2 changes: 1 addition & 1 deletion kubeaudit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ func TestUnknownResource(t *testing.T) {
t.Run(file, func(t *testing.T) {
_, report := test.FixSetupMultiple(t, "internal/test/fixtures", file, allAuditors)
require.NotNil(t, report)
for _, result := range report.Results() {
for _, result := range report.GetResults() {
for _, auditResult := range result.GetAuditResults() {
assert.Equal(t, kubeaudit.Warn, auditResult.Severity)
}
Expand Down
4 changes: 2 additions & 2 deletions util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ type logEntry struct {

func TestPrintResults(t *testing.T) {
report := Report{
results: []Result{
Results: []Result{
&workloadResult{
AuditResults: []*AuditResult{
newTestAuditResult(Error),
Expand Down Expand Up @@ -73,7 +73,7 @@ func TestLogAuditResult(t *testing.T) {

auditResult := newTestAuditResult(severity)
report := &Report{
results: []Result{
Results: []Result{
&workloadResult{
AuditResults: []*AuditResult{
auditResult,
Expand Down