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
- npm
purl_types: # AUTO-GENERATED
- dotnet
- npm
- nuget
json_schema_types: # AUTO-GENERATED
- DotnetDepsEntry
- DotnetPortableExecutableEntry
@ -91,7 +91,7 @@ catalogers:
package_types: # AUTO-GENERATED
- dotnet
purl_types: # AUTO-GENERATED
- dotnet
- nuget
json_schema_types: # AUTO-GENERATED
- DotnetDepsEntry
capabilities: # MANUAL - edit capabilities here
@ -137,7 +137,7 @@ catalogers:
package_types: # AUTO-GENERATED
- dotnet
purl_types: # AUTO-GENERATED
- dotnet
- nuget
json_schema_types: # AUTO-GENERATED
- DotnetPackagesLockEntry
capabilities: # MANUAL - preserved across regeneration
@ -186,7 +186,7 @@ catalogers:
package_types: # AUTO-GENERATED
- dotnet
purl_types: # AUTO-GENERATED
- dotnet
- nuget
json_schema_types: # AUTO-GENERATED
- DotnetPortableExecutableEntry
capabilities: # MANUAL - edit capabilities here

View File

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

View File

@ -3,6 +3,7 @@ package pkg
import (
"testing"
"github.com/anchore/packageurl-go"
"github.com/scylladb/go-set/strset"
"github.com/stretchr/testify/assert"
)
@ -166,7 +167,11 @@ func TestTypeFromPURL(t *testing.T) {
expectedTypes.Remove(string(VcpkgPkg))
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)
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?)")
}
func TestPackageURLType(t *testing.T) {
assert.Equal(t, packageurl.TypeNuget, DotnetPkg.PackageURLType())
}