|
|
@@ -9,6 +9,26 @@ import (
|
|
|
"github.com/stretchr/testify/require"
|
|
|
)
|
|
|
|
|
|
+var simpleFinding = Finding{
|
|
|
+ Description: "",
|
|
|
+ RuleID: "test-rule",
|
|
|
+ Match: "line containing secret",
|
|
|
+ Line: "whole line containing secret",
|
|
|
+ Secret: "a secret",
|
|
|
+ StartLine: 1,
|
|
|
+ EndLine: 2,
|
|
|
+ StartColumn: 1,
|
|
|
+ EndColumn: 2,
|
|
|
+ Message: "opps",
|
|
|
+ File: "auth.py",
|
|
|
+ SymlinkFile: "",
|
|
|
+ Commit: "0000000000000000",
|
|
|
+ Author: "John Doe",
|
|
|
+ Email: "johndoe@gmail.com",
|
|
|
+ Date: "10-19-2003",
|
|
|
+ Tags: []string{},
|
|
|
+}
|
|
|
+
|
|
|
func TestWriteJSON(t *testing.T) {
|
|
|
tests := []struct {
|
|
|
findings []Finding
|
|
|
@@ -20,25 +40,7 @@ func TestWriteJSON(t *testing.T) {
|
|
|
testReportName: "simple",
|
|
|
expected: filepath.Join(expectPath, "report", "json_simple.json"),
|
|
|
findings: []Finding{
|
|
|
- {
|
|
|
-
|
|
|
- Description: "",
|
|
|
- RuleID: "test-rule",
|
|
|
- Match: "line containing secret",
|
|
|
- Secret: "a secret",
|
|
|
- StartLine: 1,
|
|
|
- EndLine: 2,
|
|
|
- StartColumn: 1,
|
|
|
- EndColumn: 2,
|
|
|
- Message: "opps",
|
|
|
- File: "auth.py",
|
|
|
- SymlinkFile: "",
|
|
|
- Commit: "0000000000000000",
|
|
|
- Author: "John Doe",
|
|
|
- Email: "johndoe@gmail.com",
|
|
|
- Date: "10-19-2003",
|
|
|
- Tags: []string{},
|
|
|
- },
|
|
|
+ simpleFinding,
|
|
|
}},
|
|
|
{
|
|
|
|
|
|
@@ -66,3 +68,23 @@ func TestWriteJSON(t *testing.T) {
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func TestWriteJSONExtra(t *testing.T) {
|
|
|
+ findings := []Finding{
|
|
|
+ simpleFinding,
|
|
|
+ }
|
|
|
+ expected := filepath.Join(expectPath, "report", "json_extra_simple.json")
|
|
|
+
|
|
|
+ tmpfile, err := os.Create(filepath.Join(t.TempDir(), "simple_extra.json"))
|
|
|
+ require.NoError(t, err)
|
|
|
+
|
|
|
+ err = writeJsonExtra(findings, tmpfile)
|
|
|
+ require.NoError(t, err)
|
|
|
+ assert.FileExists(t, tmpfile.Name())
|
|
|
+
|
|
|
+ got, err := os.ReadFile(tmpfile.Name())
|
|
|
+ require.NoError(t, err)
|
|
|
+ want, err := os.ReadFile(expected)
|
|
|
+ require.NoError(t, err)
|
|
|
+ assert.Equal(t, want, got)
|
|
|
+}
|