all: refactor to move code to more logical places
Change-Id: Icb02879dcd0ff78a72e1e250677f2c26c9ac08a7
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/451289
Run-TryBot: Tatiana Bradley <tatiana@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Tatiana Bradley <tatiana@golang.org>
diff --git a/all_test.go b/all_test.go
index 5ebec20..6558fb5 100644
--- a/all_test.go
+++ b/all_test.go
@@ -10,7 +10,6 @@
import (
"context"
"errors"
- "fmt"
"os"
"os/exec"
"path/filepath"
@@ -24,7 +23,6 @@
"github.com/google/go-cmp/cmp/cmpopts"
vulnc "golang.org/x/vuln/client"
"golang.org/x/vulndb/internal/cveschema5"
- "golang.org/x/vulndb/internal/database"
"golang.org/x/vulndb/internal/report"
)
@@ -42,11 +40,6 @@
}
}
-const (
- reportsDir = "data/reports"
- excludedDir = "data/excluded"
-)
-
func TestLintReports(t *testing.T) {
if runtime.GOOS == "js" {
t.Skipf("wasm builder does not have network access")
@@ -56,7 +49,7 @@
}
allFiles := make(map[string]string)
var reports []string
- for _, dir := range []string{reportsDir, excludedDir} {
+ for _, dir := range []string{report.YAMLDir, report.ExcludedDir} {
files, err := os.ReadDir(dir)
if err != nil && !errors.Is(err, os.ErrNotExist) {
t.Fatalf("unable to read %v/: %s", dir, err)
@@ -89,6 +82,7 @@
if len(lints) > 0 {
t.Errorf(strings.Join(lints, "\n"))
}
+ goID := report.GetGoIDFromFilename(filename)
for _, alias := range r.GetAliases() {
if report, ok := aliases[alias]; ok {
t.Errorf("report %s shares duplicate alias %s with report %s", filename, alias, report)
@@ -98,21 +92,22 @@
}
// Check that a correct OSV file was generated for each YAML report.
if r.Excluded == "" {
- generated := database.GenerateOSVEntry(filename, time.Time{}, r)
- current, err := database.ReadOSV(fmt.Sprintf("data/osv/%v.json", generated.ID))
+ generated := r.GenerateOSVEntry(goID, time.Time{})
+ osvFilename := report.GetOSVFilename(goID)
+ current, err := report.ReadOSV(osvFilename)
if err != nil {
t.Fatal(err)
}
if diff := cmp.Diff(generated, current, cmpopts.EquateEmpty()); diff != "" {
- t.Errorf("data/osv/%v.json does not match report:\n%v", generated.ID, diff)
+ t.Errorf("%s does not match report:\n%v", osvFilename, diff)
}
}
if r.CVEMetadata != nil {
- generated, err := report.ToCVE5(filename)
+ generated, err := r.ToCVE5(goID)
if err != nil {
t.Fatal(err)
}
- cvePath := fmt.Sprintf("data/cve/v5/%v.json", report.GetGoIDFromFilename(filename))
+ cvePath := report.GetCVEFilename(goID)
current, err := cveschema5.Read(cvePath)
if err != nil {
t.Fatal(err)
@@ -146,7 +141,7 @@
t.Fatal(err)
}
for _, id := range ids {
- f := fmt.Sprintf("data/osv/%s.json", id)
+ f := report.GetOSVFilename(id)
if _, err := os.Stat(f); err != nil {
if errors.Is(err, os.ErrNotExist) {
t.Errorf("%s was deleted; use the withdrawn field instead to remove reports. See doc/format.md for details.\n", f)