From a9e177fb53a911ad5b4d7b0aede0bb8d42fd741e Mon Sep 17 00:00:00 2001 From: Yousef Alowayed Date: Thu, 11 Apr 2024 17:36:16 -0700 Subject: [PATCH] Add "dotnet/packageslockjson" extractor name to returned inventory. PiperOrigin-RevId: 623989645 --- .../language/dotnet/packageslockjson/extractor.go | 11 ++++++++--- .../dotnet/packageslockjson/extractor_test.go | 11 ++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/extractor/language/dotnet/packageslockjson/extractor.go b/extractor/language/dotnet/packageslockjson/extractor.go index 4168e69a..a85bc2c0 100644 --- a/extractor/language/dotnet/packageslockjson/extractor.go +++ b/extractor/language/dotnet/packageslockjson/extractor.go @@ -22,12 +22,16 @@ import ( "io" "io/fs" "path/filepath" - "strings" "github.com/google/osv-scalibr/extractor" "github.com/google/osv-scalibr/purl" ) +const ( + // Name is the unique name of this extractor. + Name = "dotnet/packageslockjson" +) + // Extractor extracts packages from inside a packages.lock.json. type Extractor struct{} @@ -48,7 +52,7 @@ type PackageInfo struct { } // Name of the extractor. -func (e Extractor) Name() string { return "dotnet/packageslockjson" } +func (e Extractor) Name() string { return Name } // Version of the extractor. func (e Extractor) Version() int { return 0 } @@ -73,6 +77,7 @@ func (e Extractor) Extract(ctx context.Context, input *extractor.ScanInput) ([]* Locations: []string{ input.Path, }, + Extractor: e.Name(), } res = append(res, inv) } @@ -97,7 +102,7 @@ func Parse(r io.Reader) (PackagesLockJSON, error) { func (e Extractor) ToPURL(i *extractor.Inventory) (*purl.PackageURL, error) { return &purl.PackageURL{ Type: purl.TypeNuget, - Name: strings.ToLower(i.Name), + Name: i.Name, Version: i.Version, }, nil } diff --git a/extractor/language/dotnet/packageslockjson/extractor_test.go b/extractor/language/dotnet/packageslockjson/extractor_test.go index 5cb4f1d0..60401a3b 100644 --- a/extractor/language/dotnet/packageslockjson/extractor_test.go +++ b/extractor/language/dotnet/packageslockjson/extractor_test.go @@ -78,41 +78,49 @@ func TestExtractor(t *testing.T) { Name: "Core.Dep", Version: "1.24.0", Locations: []string{"testdata/valid/packages.lock.json"}, + Extractor: packageslockjson.Name, }, &extractor.Inventory{ Name: "Some.Dep.One", Version: "1.1.1", Locations: []string{"testdata/valid/packages.lock.json"}, + Extractor: packageslockjson.Name, }, &extractor.Inventory{ Name: "Some.Dep.Two", Version: "4.6.0", Locations: []string{"testdata/valid/packages.lock.json"}, + Extractor: packageslockjson.Name, }, &extractor.Inventory{ Name: "Some.Dep.Three", Version: "1.0.2", Locations: []string{"testdata/valid/packages.lock.json"}, + Extractor: packageslockjson.Name, }, &extractor.Inventory{ Name: "Some.Dep.Four", Version: "4.5.0", Locations: []string{"testdata/valid/packages.lock.json"}, + Extractor: packageslockjson.Name, }, &extractor.Inventory{ Name: "Some.Longer.Name.Dep", Version: "4.7.2", Locations: []string{"testdata/valid/packages.lock.json"}, + Extractor: packageslockjson.Name, }, &extractor.Inventory{ Name: "Some.Dep.Five", Version: "4.7.2", Locations: []string{"testdata/valid/packages.lock.json"}, + Extractor: packageslockjson.Name, }, &extractor.Inventory{ Name: "Another.Longer.Name.Dep", Version: "4.5.4", Locations: []string{"testdata/valid/packages.lock.json"}, + Extractor: packageslockjson.Name, }, }, }, @@ -155,10 +163,11 @@ func TestToPURL(t *testing.T) { Name: "Name", Version: "1.2.3", Locations: []string{"location"}, + Extractor: packageslockjson.Name, } want := &purl.PackageURL{ Type: purl.TypeNuget, - Name: "name", + Name: "Name", Version: "1.2.3", } got, err := e.ToPURL(i)