1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-06 07:57:07 +00:00
kyverno/pkg/engine/loadtargets_test.go

218 lines
5 KiB
Go
Raw Normal View History

package engine
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func Test_match(t *testing.T) {
tests := []struct {
testName string
namespacePattern string
namePattern string
namespace string
name string
expectedResult bool
}{
{
testName: "empty-namespacePattern-namePattern-1",
namespacePattern: "",
namePattern: "",
namespace: "foo",
name: "bar",
expectedResult: true,
},
{
testName: "empty-namespacePattern-namePattern-2",
namespacePattern: "",
namePattern: "",
namespace: "",
name: "bar",
expectedResult: true,
},
{
testName: "empty-namespacePattern-1",
namespacePattern: "",
namePattern: "bar",
namespace: "",
name: "bar",
expectedResult: true,
},
{
testName: "empty-namespacePattern-2",
namespacePattern: "",
namePattern: "ba*",
namespace: "",
name: "bar",
expectedResult: true,
},
{
testName: "empty-namespacePattern-3",
namespacePattern: "",
namePattern: "ba*",
namespace: "",
name: "random",
expectedResult: false,
},
{
testName: "empty-namespacePattern-4",
namespacePattern: "",
namePattern: "bar",
namespace: "foo",
name: "bar",
expectedResult: true,
},
{
testName: "empty-namespacePattern-5",
namespacePattern: "",
namePattern: "ba*",
namespace: "foo",
name: "bar",
expectedResult: true,
},
{
testName: "empty-namespacePattern-6",
namespacePattern: "",
namePattern: "ba*",
namespace: "foo",
name: "random",
expectedResult: false,
},
{
testName: "empty-namePattern-1",
namespacePattern: "foo",
namePattern: "",
namespace: "",
name: "bar",
expectedResult: false,
},
{
testName: "empty-namePattern-2",
namespacePattern: "foo",
namePattern: "",
namespace: "foo",
name: "bar",
expectedResult: true,
},
{
testName: "empty-namePattern-3",
namespacePattern: "fo*",
namePattern: "",
namespace: "foo",
name: "bar",
expectedResult: true,
},
{
testName: "empty-namePattern-4",
namespacePattern: "fo*",
namePattern: "",
namespace: "random",
name: "bar",
expectedResult: false,
},
{
testName: "empty-namePattern-5",
namespacePattern: "fo*",
namePattern: "",
namespace: "",
name: "bar",
expectedResult: false,
},
{
testName: "no-empty-pattern-1",
namespacePattern: "foo",
namePattern: "bar",
namespace: "",
name: "",
expectedResult: false,
},
{
testName: "no-empty-pattern-2",
namespacePattern: "foo",
namePattern: "bar",
namespace: "foo",
name: "bar",
expectedResult: true,
},
{
testName: "no-empty-pattern-3",
namespacePattern: "foo",
namePattern: "bar",
namespace: "",
name: "bar",
expectedResult: false,
},
{
testName: "no-empty-pattern-4",
namespacePattern: "foo",
namePattern: "bar",
namespace: "random",
name: "bar",
expectedResult: false,
},
{
testName: "no-empty-pattern-5",
namespacePattern: "foo",
namePattern: "bar",
namespace: "foo",
name: "random",
expectedResult: false,
},
{
testName: "no-empty-pattern-6",
namespacePattern: "fo*",
namePattern: "bar",
namespace: "foo",
name: "bar",
expectedResult: true,
},
{
testName: "no-empty-pattern-7",
namespacePattern: "fo*",
namePattern: "bar",
namespace: "random",
name: "bar",
expectedResult: false,
},
{
testName: "no-empty-pattern-8",
namespacePattern: "fo*",
namePattern: "bar",
namespace: "",
name: "bar",
expectedResult: false,
},
{
testName: "no-empty-pattern-9",
namespacePattern: "foo",
namePattern: "ba*",
namespace: "foo",
name: "bar",
expectedResult: true,
},
{
testName: "no-empty-pattern-10",
namespacePattern: "foo",
namePattern: "ba*",
namespace: "foo",
name: "random",
expectedResult: false,
},
// {
// testName: "",
// namespacePattern: "",
// namePattern: "",
// namespace: "",
// name: "",
// expectedResult: false,
// },
}
for _, test := range tests {
res := match(test.namespacePattern, test.namePattern, test.namespace, test.name)
assert.Equal(t, test.expectedResult, res, fmt.Sprintf("test %s failed", test.testName))
}
}