fix: map NuGet PURLs to dotnet package type (#4861)

* test: use unique NuGet PURL subtest name

Signed-off-by: Monibee Fudgekins <menoisback@proton.me>

* fix: emit canonical NuGet PURL type

Signed-off-by: Monibee Fudgekins <menoisback@proton.me>

* chore: regenerate dotnet capabilities for nuget PURL type

regenerated after emitting canonical nuget PURL type for dotnet packages.

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

---------

Signed-off-by: Monibee Fudgekins <menoisback@proton.me>
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
Co-authored-by: Alex Goodman <wagoodman@users.noreply.github.com>
This commit is contained in:
Monibee-Fudgekins 2026-07-13 16:43:34 -04:00 committed by GitHub
parent f6b5d3e736
commit 552ddbfadb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 15 additions and 6 deletions

View File

@ -50,8 +50,8 @@ catalogers:
- dotnet - dotnet
- npm - npm
purl_types: # AUTO-GENERATED purl_types: # AUTO-GENERATED
- dotnet
- npm - npm
- nuget
json_schema_types: # AUTO-GENERATED json_schema_types: # AUTO-GENERATED
- DotnetDepsEntry - DotnetDepsEntry
- DotnetPortableExecutableEntry - DotnetPortableExecutableEntry
@ -91,7 +91,7 @@ catalogers:
package_types: # AUTO-GENERATED package_types: # AUTO-GENERATED
- dotnet - dotnet
purl_types: # AUTO-GENERATED purl_types: # AUTO-GENERATED
- dotnet - nuget
json_schema_types: # AUTO-GENERATED json_schema_types: # AUTO-GENERATED
- DotnetDepsEntry - DotnetDepsEntry
capabilities: # MANUAL - edit capabilities here capabilities: # MANUAL - edit capabilities here
@ -137,7 +137,7 @@ catalogers:
package_types: # AUTO-GENERATED package_types: # AUTO-GENERATED
- dotnet - dotnet
purl_types: # AUTO-GENERATED purl_types: # AUTO-GENERATED
- dotnet - nuget
json_schema_types: # AUTO-GENERATED json_schema_types: # AUTO-GENERATED
- DotnetPackagesLockEntry - DotnetPackagesLockEntry
capabilities: # MANUAL - preserved across regeneration capabilities: # MANUAL - preserved across regeneration
@ -186,7 +186,7 @@ catalogers:
package_types: # AUTO-GENERATED package_types: # AUTO-GENERATED
- dotnet - dotnet
purl_types: # AUTO-GENERATED purl_types: # AUTO-GENERATED
- dotnet - nuget
json_schema_types: # AUTO-GENERATED json_schema_types: # AUTO-GENERATED
- DotnetPortableExecutableEntry - DotnetPortableExecutableEntry
capabilities: # MANUAL - edit capabilities here capabilities: # MANUAL - edit capabilities here

View File

@ -128,7 +128,7 @@ func (t Type) PackageURLType() string {
case DebPkg: case DebPkg:
return "deb" return "deb"
case DotnetPkg: case DotnetPkg:
return "dotnet" return packageurl.TypeNuget
case ErlangOTPPkg: case ErlangOTPPkg:
return packageurl.TypeOTP return packageurl.TypeOTP
case GemPkg: case GemPkg:

View File

@ -3,6 +3,7 @@ package pkg
import ( import (
"testing" "testing"
"github.com/anchore/packageurl-go"
"github.com/scylladb/go-set/strset" "github.com/scylladb/go-set/strset"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )
@ -166,7 +167,11 @@ func TestTypeFromPURL(t *testing.T) {
expectedTypes.Remove(string(VcpkgPkg)) expectedTypes.Remove(string(VcpkgPkg))
for _, test := range tests { for _, test := range tests {
t.Run(string(test.expected), func(t *testing.T) { name := test.name
if name == "" {
name = string(test.expected)
}
t.Run(name, func(t *testing.T) {
actual := TypeFromPURL(test.purl) actual := TypeFromPURL(test.purl)
if actual != "" { if actual != "" {
@ -179,3 +184,7 @@ func TestTypeFromPURL(t *testing.T) {
assert.ElementsMatch(t, expectedTypes.List(), pkgTypes.List(), "missing one or more package types to test against (maybe a package type was added?)") assert.ElementsMatch(t, expectedTypes.List(), pkgTypes.List(), "missing one or more package types to test against (maybe a package type was added?)")
} }
func TestPackageURLType(t *testing.T) {
assert.Equal(t, packageurl.TypeNuget, DotnetPkg.PackageURLType())
}