mirror of
https://github.com/anchore/syft.git
synced 2025-11-18 17:03:17 +01:00
Merge pull request #114 from anchore/issue-111
Add another option to fall back on name detection
This commit is contained in:
commit
c67e17a2cf
@ -78,6 +78,51 @@ func generateJavaBuildFixture(t *testing.T, fixturePath string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSelectName(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
desc string
|
||||||
|
manifest pkg.JavaManifest
|
||||||
|
archive archiveFilename
|
||||||
|
expected string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
desc: "name from Implementation-Title",
|
||||||
|
archive: archiveFilename{},
|
||||||
|
manifest: pkg.JavaManifest{
|
||||||
|
Name: "",
|
||||||
|
SpecTitle: "",
|
||||||
|
ImplTitle: "maven-wrapper",
|
||||||
|
},
|
||||||
|
expected: "maven-wrapper",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "Implementation-Title does not override",
|
||||||
|
manifest: pkg.JavaManifest{
|
||||||
|
Name: "Foo",
|
||||||
|
SpecTitle: "",
|
||||||
|
ImplTitle: "maven-wrapper",
|
||||||
|
},
|
||||||
|
archive: archiveFilename{
|
||||||
|
fields: []map[string]string{
|
||||||
|
{"name": "omg"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
expected: "omg",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, test := range tests {
|
||||||
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
|
result := selectName(&test.manifest, test.archive)
|
||||||
|
|
||||||
|
if result != test.expected {
|
||||||
|
t.Errorf("mismatch in names: '%s' != '%s'", result, test.expected)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func TestParseJar(t *testing.T) {
|
func TestParseJar(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
fixture string
|
fixture string
|
||||||
|
|||||||
@ -82,6 +82,12 @@ func selectName(manifest *pkg.JavaManifest, filenameObj archiveFilename) string
|
|||||||
// Jenkins...
|
// Jenkins...
|
||||||
name = manifest.Extra["Extension-Name"]
|
name = manifest.Extra["Extension-Name"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// in situations where we hit this point and no name was
|
||||||
|
// determined, look at the Implementation-Title
|
||||||
|
if name == "" && manifest.ImplTitle != "" {
|
||||||
|
name = manifest.ImplTitle
|
||||||
|
}
|
||||||
return name
|
return name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user