mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-19 21:22:19 +00:00
104 lines
2.0 KiB
Go
104 lines
2.0 KiB
Go
package validate
|
|
|
|
import "testing"
|
|
|
|
func TestIsValidLabel(t *testing.T) {
|
|
testcases := []struct {
|
|
input, name string
|
|
valid bool
|
|
}{
|
|
{
|
|
input: "otters:cute",
|
|
valid: true,
|
|
name: "Valid input format",
|
|
},
|
|
{
|
|
input: "dogs,cats",
|
|
valid: false,
|
|
name: "Does not contain colon",
|
|
},
|
|
{
|
|
input: ":noKey",
|
|
valid: false,
|
|
name: "Missing key",
|
|
},
|
|
{
|
|
input: "noValue:",
|
|
valid: false,
|
|
name: "Missing value",
|
|
},
|
|
{
|
|
input: "exclamation!:point",
|
|
valid: false,
|
|
name: "Non-alphanumeric input",
|
|
},
|
|
{
|
|
input: "123:45",
|
|
valid: true,
|
|
name: "Numeric input is allowed",
|
|
},
|
|
}
|
|
for _, tc := range testcases {
|
|
ok, err := IsValidLabel(tc.input)
|
|
if tc.valid && err != nil {
|
|
t.Errorf("unexpected error: for test case %s, expected no error but got: %s", tc.name, err.Error())
|
|
}
|
|
if ok && !tc.valid {
|
|
t.Errorf("for test case %s, expected invalid label format error", tc.name)
|
|
}
|
|
if !ok && tc.valid {
|
|
t.Errorf("unexpected error: for test case %s, expected test to pass", tc.name)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestIsValidAnnotation(t *testing.T) {
|
|
testcases := []struct {
|
|
input, name string
|
|
valid bool
|
|
}{
|
|
{
|
|
input: "owls:adorable",
|
|
valid: true,
|
|
name: "Valid input format",
|
|
},
|
|
{
|
|
input: "cake,cookies",
|
|
valid: false,
|
|
name: "Does not contain colon",
|
|
},
|
|
{
|
|
input: ":noKey",
|
|
valid: false,
|
|
name: "Missing key",
|
|
},
|
|
{
|
|
input: "noValue:",
|
|
valid: false,
|
|
name: "Missing value",
|
|
},
|
|
{
|
|
input: "exclamation!:point",
|
|
valid: false,
|
|
name: "Input has a bang!",
|
|
},
|
|
{
|
|
input: "987:65",
|
|
valid: true,
|
|
name: "Numeric input is valid",
|
|
},
|
|
}
|
|
for _, tc := range testcases {
|
|
ok, err := IsValidAnnotation(tc.input)
|
|
if tc.valid && err != nil {
|
|
t.Errorf("unexpected error: for test case %s, expected no error but got: %s", tc.name, err.Error())
|
|
}
|
|
if ok && !tc.valid {
|
|
t.Errorf("for test case %s, expected invalid annotation format error", tc.name)
|
|
}
|
|
if !ok && tc.valid {
|
|
t.Errorf("unexpected error: for test case %s, expected test to pass", tc.name)
|
|
}
|
|
}
|
|
}
|