53 lines
928 B
Go
53 lines
928 B
Go
package models
|
|
|
|
import (
|
|
"testing"
|
|
|
|
godeptypes "github.com/aquasecurity/go-dep-parser/pkg/types"
|
|
"github.com/aquasecurity/trivy/pkg/db"
|
|
"github.com/aquasecurity/trivy/pkg/log"
|
|
)
|
|
|
|
func TestScan(t *testing.T) {
|
|
var tests = []struct {
|
|
path string
|
|
pkgs []godeptypes.Library
|
|
}{
|
|
{
|
|
path: "app/package-lock.json",
|
|
pkgs: []godeptypes.Library{
|
|
{
|
|
Name: "jquery",
|
|
Version: "2.2.4",
|
|
},
|
|
{
|
|
Name: "@babel/traverse",
|
|
Version: "7.4.4",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
if err := log.InitLogger(false, false); err != nil {
|
|
t.Errorf("trivy logger failed")
|
|
}
|
|
|
|
if err := db.Init(); err != nil {
|
|
t.Errorf("trivy db.Init failed")
|
|
}
|
|
for _, v := range tests {
|
|
lib := LibraryScanner{
|
|
Path: v.path,
|
|
Libs: v.pkgs,
|
|
}
|
|
actual, err := lib.Scan()
|
|
if err != nil {
|
|
t.Errorf("error occurred")
|
|
}
|
|
if len(actual) == 0 {
|
|
t.Errorf("no vuln found : actual: %v\n", actual)
|
|
}
|
|
}
|
|
db.Close()
|
|
}
|