package sourceanalysis import ( "testing" "github.com/google/osv-scanner/v2/internal/sourceanalysis/govulncheck" "github.com/google/osv-scanner/v2/internal/testutility" "github.com/google/osv-scanner/v2/pkg/models" ) func Test_matchAnalysisWithPackageVulns(t *testing.T) { t.Parallel() pkgs := testutility.LoadJSONFixture[[]models.PackageVulns](t, "testdata/json/input.json") gvcResByVulnID := testutility.LoadJSONFixture[map[string][]*govulncheck.Finding](t, "testdata/json/govulncheckinput.json") vulnsByID := testutility.LoadVulnMapFixture(t, "testdata/json/vulnbyid.json") matchAnalysisWithPackageVulns(pkgs, gvcResByVulnID, vulnsByID) testutility.NewSnapshot().MatchJSON(t, pkgs) } func Test_matchEmptyAnalysisWithPackageVulns(t *testing.T) { t.Parallel() pkgs := testutility.LoadJSONFixture[[]models.PackageVulns](t, "testdata/json/input-no-call-data.json") // When there is no ecosystem specific data, govulncheck will return no results gvcResByVulnID := map[string][]*govulncheck.Finding{} vulnsByID := testutility.LoadVulnMapFixture(t, "testdata/json/vulnbyid-no-call-data.json") matchAnalysisWithPackageVulns(pkgs, gvcResByVulnID, vulnsByID) testutility.NewSnapshot().MatchJSON(t, pkgs) }