Files
vuls/models/library_test.go
Kota Kanbe aac5ef1438 feat: update-trivy (#1316)
* feat: update-trivy

* add v2 parser

* implement v2

* refactor

* feat: add show version to future-vuls

* add test case for v2

* trivy v0.20.0

* support --list-all-pkgs

* fix lint err

* add test case for jar

* add a test case for gemspec in container

* remove v1 parser and change Library struct

* Changed the field name in the model struct LibraryScanner

* add comment

* fix comment

* fix comment

* chore

* add struct tag
2021-10-08 17:22:06 +09:00

95 lines
1.5 KiB
Go

package models
import (
"reflect"
"testing"
)
func TestLibraryScanners_Find(t *testing.T) {
type args struct {
path string
name string
}
tests := []struct {
name string
lss LibraryScanners
args args
want map[string]Library
}{
{
name: "single file",
lss: LibraryScanners{
{
LockfilePath: "/pathA",
Libs: []Library{
{
Name: "libA",
Version: "1.0.0",
},
},
},
},
args: args{"/pathA", "libA"},
want: map[string]Library{
"/pathA": {
Name: "libA",
Version: "1.0.0",
},
},
},
{
name: "multi file",
lss: LibraryScanners{
{
LockfilePath: "/pathA",
Libs: []Library{
{
Name: "libA",
Version: "1.0.0",
},
},
},
{
LockfilePath: "/pathB",
Libs: []Library{
{
Name: "libA",
Version: "1.0.5",
},
},
},
},
args: args{"/pathA", "libA"},
want: map[string]Library{
"/pathA": {
Name: "libA",
Version: "1.0.0",
},
},
},
{
name: "miss",
lss: LibraryScanners{
{
LockfilePath: "/pathA",
Libs: []Library{
{
Name: "libA",
Version: "1.0.0",
},
},
},
},
args: args{"/pathA", "libB"},
want: map[string]Library{},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := tt.lss.Find(tt.args.path, tt.args.name); !reflect.DeepEqual(got, tt.want) {
t.Errorf("LibraryScanners.Find() = %v, want %v", got, tt.want)
}
})
}
}