mirror of
https://github.com/gocsaf/csaf.git
synced 2025-12-23 00:32:55 +01:00
45 lines
962 B
Go
45 lines
962 B
Go
package csaf
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestLoadAdvisory(t *testing.T) {
|
|
type args struct {
|
|
jsonDir string
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
wantErr bool
|
|
}{{
|
|
name: "Valid documents",
|
|
args: args{jsonDir: "csaf-documents/valid"},
|
|
wantErr: false,
|
|
},
|
|
{
|
|
name: "Garbage trailing data",
|
|
args: args{jsonDir: "csaf-documents/trailing-garbage-data"},
|
|
wantErr: true,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if err := filepath.Walk("../testdata/"+tt.args.jsonDir, func(path string, info os.FileInfo, err error) error {
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if info.Mode().IsRegular() && filepath.Ext(info.Name()) == ".json" {
|
|
if _, err := LoadAdvisory(path); (err != nil) != tt.wantErr {
|
|
t.Errorf("LoadAdvisory() error = %v, wantErr %v", err, tt.wantErr)
|
|
}
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
})
|
|
}
|
|
}
|