Files
trivy/analyzer/os/redhatbase/redhatbase_test.go
Teppei Fukuda a8380ab5e5 Transfer repositoriy (fanal#27)
* Transfer repositoriy

* Disable coverall temporarily
2019-08-19 09:15:12 +01:00

64 lines
1.4 KiB
Go

package redhatbase
import (
"reflect"
"testing"
"golang.org/x/xerrors"
"github.com/aquasecurity/fanal/analyzer"
"github.com/aquasecurity/fanal/analyzer/os"
)
func TestAnalyze(t *testing.T) {
var tests = map[string]struct {
path string
os analyzer.OS
wantErr error
}{
"CentOS": {
path: "./testdata/centos",
os: analyzer.OS{Family: os.CentOS, Name: "7.6.1810"},
},
"Fedora29": {
path: "./testdata/fedora_29",
os: analyzer.OS{Family: os.Fedora, Name: "29"},
},
"Fedora31": {
path: "./testdata/fedora_31",
os: analyzer.OS{Family: os.Fedora, Name: "31"},
},
"Oracle7": {
path: "./testdata/oracle_7",
os: analyzer.OS{Family: os.Oracle, Name: "7.6"},
},
"Redhat6": {
path: "./testdata/redhat_6",
os: analyzer.OS{Family: os.RedHat, Name: "6.2"},
},
"Invalid": {
path: "./testdata/not_redhatbase",
wantErr: os.AnalyzeOSError,
},
}
a := redhatOSAnalyzer{}
for testname, v := range tests {
fileMap, err := os.GetFileMap(v.path)
if err != nil {
t.Errorf("%s : catch the error : %v", testname, err)
}
osInfo, err := a.Analyze(fileMap)
if v.wantErr != nil {
if err == nil {
t.Errorf("%s : expected error but no error", testname)
}
if !xerrors.Is(err, v.wantErr) {
t.Errorf("[%s]\nexpected : %v\nactual : %v", testname, v.wantErr, err)
}
}
if !reflect.DeepEqual(v.os, osInfo) {
t.Errorf("[%s]\nexpected : %v\nactual : %v", testname, v.os, osInfo)
}
}
}