Skip to content

Commit

Permalink
wire up composer pURL method
Browse files Browse the repository at this point in the history
Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
  • Loading branch information
wagoodman committed Jan 18, 2022
1 parent ea7cd47 commit ff7557f
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
5 changes: 4 additions & 1 deletion syft/pkg/php_composer_json_metadata.go
Expand Up @@ -4,8 +4,11 @@ import (
"strings"

"github.com/anchore/packageurl-go"
"github.com/anchore/syft/syft/linux"
)

var _ urlIdentifier = (*PhpComposerJSONMetadata)(nil)

// PhpComposerJSONMetadata represents information found from composer v1/v2 "installed.json" files as well as composer.lock files
type PhpComposerJSONMetadata struct {
Name string `json:"name"`
Expand Down Expand Up @@ -40,7 +43,7 @@ type PhpComposerAuthors struct {
Homepage string `json:"homepage,omitempty"`
}

func (m PhpComposerJSONMetadata) PackageURL() string {
func (m PhpComposerJSONMetadata) PackageURL(_ *linux.Release) string {
var name, vendor string
fields := strings.Split(m.Name, "/")
switch len(fields) {
Expand Down
17 changes: 15 additions & 2 deletions syft/pkg/php_composer_json_metadata_test.go
Expand Up @@ -20,7 +20,8 @@ func TestPhpComposerJsonMetadata_pURL(t *testing.T) {
Version: "1.0.1",
},
expected: "pkg:composer/ven/name@1.0.1",
}, {
},
{
name: "name with slashes (invalid)",
metadata: PhpComposerJSONMetadata{
Name: "ven/name/component",
Expand All @@ -36,11 +37,23 @@ func TestPhpComposerJsonMetadata_pURL(t *testing.T) {
},
expected: "pkg:composer/name@1.0.1",
},
{
name: "ignores distro",
distro: &linux.Release{
ID: "rhel",
VersionID: "8.4",
},
metadata: PhpComposerJSONMetadata{
Name: "ven/name",
Version: "1.0.1",
},
expected: "pkg:composer/ven/name@1.0.1",
},
}

for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
actual := test.metadata.PackageURL()
actual := test.metadata.PackageURL(test.distro)
if actual != test.expected {
dmp := diffmatchpatch.New()
diffs := dmp.DiffMain(test.expected, actual, true)
Expand Down

0 comments on commit ff7557f

Please sign in to comment.