Set NotFixedYet for Ubuntu Scan

This commit is contained in:
kota kanbe
2017-08-17 15:32:22 +09:00
parent 6129ac7bd4
commit de65073f61
2 changed files with 57 additions and 1 deletions

View File

@@ -45,8 +45,15 @@ type defPacks struct {
}
func (e defPacks) toPackStatuses() (ps models.PackageStatuses) {
packNotFixedYet := map[string]bool{}
for _, p := range e.def.AffectedPacks {
packNotFixedYet[p.Name] = p.NotFixedYet
}
for k := range e.actuallyAffectedPackNames {
ps = append(ps, models.PackageStatus{Name: k})
ps = append(ps, models.PackageStatus{
Name: k,
NotFixedYet: packNotFixedYet[k],
})
}
return
}

View File

@@ -2,8 +2,10 @@ package oval
import (
"reflect"
"sort"
"testing"
"github.com/future-architect/vuls/models"
ovalmodels "github.com/kotakanbe/goval-dictionary/models"
)
@@ -96,3 +98,50 @@ func TestUpsert(t *testing.T) {
}
}
}
func TestDefpacksToPackStatuses(t *testing.T) {
var tests = []struct {
in defPacks
out models.PackageStatuses
}{
{
in: defPacks{
def: ovalmodels.Definition{
AffectedPacks: []ovalmodels.Package{
{
Name: "a",
NotFixedYet: true,
},
{
Name: "b",
NotFixedYet: false,
},
},
},
actuallyAffectedPackNames: map[string]bool{
"a": true,
"b": false,
},
},
out: models.PackageStatuses{
{
Name: "a",
NotFixedYet: true,
},
{
Name: "b",
NotFixedYet: false,
},
},
},
}
for i, tt := range tests {
actual := tt.in.toPackStatuses()
sort.Slice(actual, func(i, j int) bool {
return actual[i].Name < actual[j].Name
})
if !reflect.DeepEqual(actual, tt.out) {
t.Errorf("[%d]\nexpected: %v\n actual: %v\n", i, tt.out, actual)
}
}
}