mirror of
https://github.com/anchore/grype
synced 2024-11-10 06:34:13 +00:00
70ec3bfb71
* Add injectable HTTP client to file getter Signed-off-by: Dan Luhring <dan.luhring@anchore.com> * WIP: Map config for custom CA certs Signed-off-by: Dan Luhring <dan.luhring@anchore.com> * update curator and add tests Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add TLS helper scripts Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * remove grype-db local mod edit Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * tidy go modules Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * use ssl.context over deprecated fn Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * disallow tls 1 and 1.1 Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * suppress non-archive sources for fetch-to-dir capability Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * ensure DB load failure does not panic Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * address review comments Signed-off-by: Alex Goodman <alex.goodman@anchore.com> Co-authored-by: Alex Goodman <alex.goodman@anchore.com>
122 lines
2.1 KiB
Go
122 lines
2.1 KiB
Go
package internal
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestHasAnyOfSuffixes(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
input string
|
|
suffixes []string
|
|
expected bool
|
|
}{
|
|
{
|
|
name: "go case",
|
|
input: "this has something",
|
|
suffixes: []string{
|
|
"has something",
|
|
"has NOT something",
|
|
},
|
|
expected: true,
|
|
},
|
|
{
|
|
name: "no match",
|
|
input: "this has something",
|
|
suffixes: []string{
|
|
"has NOT something",
|
|
},
|
|
expected: false,
|
|
},
|
|
{
|
|
name: "empty",
|
|
input: "this has something",
|
|
suffixes: []string{},
|
|
expected: false,
|
|
},
|
|
{
|
|
name: "positive match last",
|
|
input: "this has something",
|
|
suffixes: []string{
|
|
"that does not have",
|
|
"something",
|
|
},
|
|
expected: true,
|
|
},
|
|
{
|
|
name: "empty input",
|
|
input: "",
|
|
suffixes: []string{
|
|
"that does not have",
|
|
"this has",
|
|
},
|
|
expected: false,
|
|
},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
t.Run(test.name, func(t *testing.T) {
|
|
assert.Equal(t, test.expected, HasAnyOfSuffixes(test.input, test.suffixes...))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestHasAnyOfPrefixes(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
input string
|
|
prefixes []string
|
|
expected bool
|
|
}{
|
|
{
|
|
name: "go case",
|
|
input: "this has something",
|
|
prefixes: []string{
|
|
"this has",
|
|
"that does not have",
|
|
},
|
|
expected: true,
|
|
},
|
|
{
|
|
name: "no match",
|
|
input: "this has something",
|
|
prefixes: []string{
|
|
"this DOES NOT has",
|
|
"that does not have",
|
|
},
|
|
expected: false,
|
|
},
|
|
{
|
|
name: "empty",
|
|
input: "this has something",
|
|
prefixes: []string{},
|
|
expected: false,
|
|
},
|
|
{
|
|
name: "positive match last",
|
|
input: "this has something",
|
|
prefixes: []string{
|
|
"that does not have",
|
|
"this has",
|
|
},
|
|
expected: true,
|
|
},
|
|
{
|
|
name: "empty input",
|
|
input: "",
|
|
prefixes: []string{
|
|
"that does not have",
|
|
"this has",
|
|
},
|
|
expected: false,
|
|
},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
t.Run(test.name, func(t *testing.T) {
|
|
assert.Equal(t, test.expected, HasAnyOfPrefixes(test.input, test.prefixes...))
|
|
})
|
|
}
|
|
}
|