test(vulnerability): fix usages of new trivy-db refactor changes (#611)

* mod: Update trivy-db

Signed-off-by: Simarpreet Singh <simar@linux.com>

* vulnerability_test: Fix usages of new trivy-db refactor changes

Signed-off-by: Simarpreet Singh <simar@linux.com>

* chore(mod): update trivy-db

Co-authored-by: Simarpreet Singh <simar@linux.com>
This commit is contained in:
Teppei Fukuda
2020-08-25 12:21:15 +03:00
committed by GitHub
parent 827cea3245
commit ea28d3b6f3
3 changed files with 53 additions and 40 deletions

View File

@@ -5,19 +5,15 @@ import (
"os"
"testing"
"golang.org/x/xerrors"
"github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability"
"github.com/aquasecurity/trivy/pkg/log"
"github.com/aquasecurity/trivy/pkg/types"
"github.com/aquasecurity/trivy-db/pkg/db"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/xerrors"
"github.com/aquasecurity/trivy-db/pkg/db"
dbTypes "github.com/aquasecurity/trivy-db/pkg/types"
"github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability"
"github.com/aquasecurity/trivy/pkg/log"
"github.com/aquasecurity/trivy/pkg/types"
)
func TestMain(m *testing.M) {
@@ -36,19 +32,19 @@ func TestClient_FillInfo(t *testing.T) {
}
tests := []struct {
name string
getSeverity []db.GetSeverityExpectation
getVulnerability []db.GetVulnerabilityExpectation
getSeverity []db.OperationGetSeverityExpectation
getVulnerability []db.OperationGetVulnerabilityExpectation
args args
expectedVulnerabilities []types.DetectedVulnerability
}{
{
name: "happy path, with only OS vulnerability but no vendor severity, no NVD",
getVulnerability: []db.GetVulnerabilityExpectation{
getVulnerability: []db.OperationGetVulnerabilityExpectation{
{
Args: db.GetVulnerabilityArgs{
Args: db.OperationGetVulnerabilityArgs{
VulnerabilityID: "CVE-2019-0001",
},
Returns: db.GetVulnerabilityReturns{
Returns: db.OperationGetVulnerabilityReturns{
Vulnerability: dbTypes.Vulnerability{
Title: "dos",
Description: "dos vulnerability",
@@ -78,12 +74,12 @@ func TestClient_FillInfo(t *testing.T) {
},
{
name: "happy path, with only OS vulnerability but no vendor severity, yes NVD",
getVulnerability: []db.GetVulnerabilityExpectation{
getVulnerability: []db.OperationGetVulnerabilityExpectation{
{
Args: db.GetVulnerabilityArgs{
Args: db.OperationGetVulnerabilityArgs{
VulnerabilityID: "CVE-2019-0001",
},
Returns: db.GetVulnerabilityReturns{
Returns: db.OperationGetVulnerabilityReturns{
Vulnerability: dbTypes.Vulnerability{
Title: "dos",
Description: "dos vulnerability",
@@ -116,12 +112,12 @@ func TestClient_FillInfo(t *testing.T) {
},
{
name: "happy path, with only OS vulnerability but no severity, no vendor severity, no NVD",
getVulnerability: []db.GetVulnerabilityExpectation{
getVulnerability: []db.OperationGetVulnerabilityExpectation{
{
Args: db.GetVulnerabilityArgs{
Args: db.OperationGetVulnerabilityArgs{
VulnerabilityID: "CVE-2019-0001",
},
Returns: db.GetVulnerabilityReturns{
Returns: db.OperationGetVulnerabilityReturns{
Vulnerability: dbTypes.Vulnerability{
Title: "dos",
Description: "dos vulnerability",
@@ -149,12 +145,12 @@ func TestClient_FillInfo(t *testing.T) {
},
{
name: "happy path, with only OS vulnerability, yes vendor severity, with both NVD and CVSS info",
getVulnerability: []db.GetVulnerabilityExpectation{
getVulnerability: []db.OperationGetVulnerabilityExpectation{
{
Args: db.GetVulnerabilityArgs{
Args: db.OperationGetVulnerabilityArgs{
VulnerabilityID: "CVE-2019-0001",
},
Returns: db.GetVulnerabilityReturns{
Returns: db.OperationGetVulnerabilityReturns{
Vulnerability: dbTypes.Vulnerability{
Title: "dos",
Description: "dos vulnerability",
@@ -218,12 +214,12 @@ func TestClient_FillInfo(t *testing.T) {
},
{
name: "happy path, with only OS vulnerability, yes vendor severity, with both NVD and deprecated vendor vectors",
getVulnerability: []db.GetVulnerabilityExpectation{
getVulnerability: []db.OperationGetVulnerabilityExpectation{
{
Args: db.GetVulnerabilityArgs{
Args: db.OperationGetVulnerabilityArgs{
VulnerabilityID: "CVE-2019-0001",
},
Returns: db.GetVulnerabilityReturns{
Returns: db.OperationGetVulnerabilityReturns{
Vulnerability: dbTypes.Vulnerability{
Title: "dos",
Description: "dos vulnerability",
@@ -277,12 +273,12 @@ func TestClient_FillInfo(t *testing.T) {
},
{
name: "happy path light db, with only OS vulnerability, yes vendor severity",
getVulnerability: []db.GetVulnerabilityExpectation{
getVulnerability: []db.OperationGetVulnerabilityExpectation{
{
Args: db.GetVulnerabilityArgs{
Args: db.OperationGetVulnerabilityArgs{
VulnerabilityID: "CVE-2019-0001",
},
Returns: db.GetVulnerabilityReturns{
Returns: db.OperationGetVulnerabilityReturns{
Vulnerability: dbTypes.Vulnerability{
Severity: dbTypes.SeverityMedium.String(),
VendorSeverity: dbTypes.VendorSeverity{
@@ -310,12 +306,12 @@ func TestClient_FillInfo(t *testing.T) {
},
{
name: "happy path, with only library vulnerability",
getVulnerability: []db.GetVulnerabilityExpectation{
getVulnerability: []db.OperationGetVulnerabilityExpectation{
{
Args: db.GetVulnerabilityArgs{
Args: db.OperationGetVulnerabilityArgs{
VulnerabilityID: "CVE-2020-0001",
},
Returns: db.GetVulnerabilityReturns{
Returns: db.OperationGetVulnerabilityReturns{
Vulnerability: dbTypes.Vulnerability{
Title: "COVID-19",
Description: "a nasty virus vulnerability for humans",
@@ -349,12 +345,12 @@ func TestClient_FillInfo(t *testing.T) {
},
{
name: "GetVulnerability returns an error",
getVulnerability: []db.GetVulnerabilityExpectation{
getVulnerability: []db.OperationGetVulnerabilityExpectation{
{
Args: db.GetVulnerabilityArgs{
Args: db.OperationGetVulnerabilityArgs{
VulnerabilityID: "CVE-2019-0004",
},
Returns: db.GetVulnerabilityReturns{
Returns: db.OperationGetVulnerabilityReturns{
Err: xerrors.New("failed"),
},
},