Skip to content

Commit

Permalink
Simplify tests by using T.TempDir (#1186)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexandear committed May 30, 2023
1 parent 6705461 commit 6dbb0c5
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 37 deletions.
12 changes: 3 additions & 9 deletions report/csv_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package report

import (
"bytes"
"os"
"path/filepath"
"strings"
Expand Down Expand Up @@ -45,42 +46,35 @@ func TestWriteCSV(t *testing.T) {
}

for _, test := range tests {
tmpfile, err := os.Create(filepath.Join(tmpPath, test.testReportName+".csv"))
tmpfile, err := os.Create(filepath.Join(t.TempDir(), test.testReportName+".csv"))
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
err = writeCsv(test.findings, tmpfile)
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
got, err := os.ReadFile(tmpfile.Name())
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
if test.wantEmpty {
if len(got) > 0 {
t.Errorf("Expected empty file, got %s", got)
}
os.Remove(tmpfile.Name())
continue
}
want, err := os.ReadFile(test.expected)
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}

if string(got) != string(want) {
if !bytes.Equal(got, want) {
err = os.WriteFile(strings.Replace(test.expected, ".csv", ".got.csv", 1), got, 0644)
if err != nil {
t.Error(err)
}
t.Errorf("got %s, want %s", string(got), string(want))
}

os.Remove(tmpfile.Name())
}
}
14 changes: 3 additions & 11 deletions report/json_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package report

import (
"bytes"
"os"
"path/filepath"
"strings"
Expand Down Expand Up @@ -46,44 +47,35 @@ func TestWriteJSON(t *testing.T) {
}

for _, test := range tests {
// create tmp file using os.TempDir()
tmpfile, err := os.Create(filepath.Join(tmpPath, test.testReportName+".json"))
tmpfile, err := os.Create(filepath.Join(t.TempDir(), test.testReportName+".json"))
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
err = writeJson(test.findings, tmpfile)
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
got, err := os.ReadFile(tmpfile.Name())
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
if test.wantEmpty {
if len(got) > 0 {
os.Remove(tmpfile.Name())
t.Errorf("Expected empty file, got %s", got)
}
os.Remove(tmpfile.Name())
continue
}
want, err := os.ReadFile(test.expected)
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}

if string(got) != string(want) {
if !bytes.Equal(got, want) {
err = os.WriteFile(strings.Replace(test.expected, ".json", ".got.json", 1), got, 0644)
if err != nil {
t.Error(err)
}
t.Errorf("got %s, want %s", string(got), string(want))
}

os.Remove(tmpfile.Name())
}
}
7 changes: 1 addition & 6 deletions report/report_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (

const (
expectPath = "../testdata/expected/"
tmpPath = "../testdata/tmp"
)

func TestReport(t *testing.T) {
Expand Down Expand Up @@ -80,22 +79,18 @@ func TestReport(t *testing.T) {
}

for i, test := range tests {
tmpfile, err := os.Create(filepath.Join(tmpPath, strconv.Itoa(i)+test.ext))
tmpfile, err := os.Create(filepath.Join(t.TempDir(), strconv.Itoa(i)+test.ext))
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
err = Write(test.findings, config.Config{}, test.ext, tmpfile.Name())
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
got, err := os.ReadFile(tmpfile.Name())
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
os.Remove(tmpfile.Name())

if len(got) == 0 && !test.wantEmpty {
t.Errorf("got empty file with extension " + test.ext)
Expand Down
13 changes: 3 additions & 10 deletions report/sarif_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package report

import (
"bytes"
"fmt"
"os"
"path/filepath"
Expand Down Expand Up @@ -48,10 +49,8 @@ func TestWriteSarif(t *testing.T) {
}

for _, test := range tests {
// create tmp file using os.TempDir()
tmpfile, err := os.Create(filepath.Join(tmpPath, test.testReportName+".json"))
tmpfile, err := os.Create(filepath.Join(t.TempDir(), test.testReportName+".json"))
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
viper.Reset()
Expand All @@ -76,36 +75,30 @@ func TestWriteSarif(t *testing.T) {
err = writeSarif(cfg, test.findings, tmpfile)
fmt.Println(cfg)
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
got, err := os.ReadFile(tmpfile.Name())
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}
if test.wantEmpty {
if len(got) > 0 {
os.Remove(tmpfile.Name())
t.Errorf("Expected empty file, got %s", got)
}
os.Remove(tmpfile.Name())
continue
}
want, err := os.ReadFile(test.expected)
if err != nil {
os.Remove(tmpfile.Name())
t.Error(err)
}

if string(got) != string(want) {
if !bytes.Equal(got, want) {
err = os.WriteFile(strings.Replace(test.expected, ".sarif", ".got.sarif", 1), got, 0644)
if err != nil {
t.Error(err)
}
t.Errorf("got %s, want %s", string(got), string(want))
}

os.Remove(tmpfile.Name())
}
}
1 change: 0 additions & 1 deletion testdata/tmp/note.txt

This file was deleted.

0 comments on commit 6dbb0c5

Please sign in to comment.