bluebell/validation/validation_test.go

96 lines
1.9 KiB
Go

package validation
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestIsValidHost(t *testing.T) {
for _, i := range []struct {
s string
valid bool
}{
{"example.com", true},
{"example.org", true},
{"foobar.example.com", true},
{"foobar.example.com_", false},
{"foobar.example.com[", false},
{"foobar.example.com]", false},
{"foobar.example.com<", false},
{"foobar.example.com/", false},
{"foobar.example.com?", false},
{"foobar.example.com@", false},
{"foobar.example.com!", false},
{"foobar.example..com", false},
{"foobar.example-.com", false},
{"foobar.-example.com", false},
{"-foobar.example.com", false},
{"foobar.example.com-", false},
{"foobar..example..com", false},
{".example.com", false},
{"example.com.", false},
} {
assert.Equal(t, i.valid, IsValidHost(i.s), "Test failed \"%s\" - %v", i.s, i.valid)
}
}
func TestIsValidSite(t *testing.T) {
for _, i := range []struct {
s string
valid bool
}{
{"", false},
{"a", true},
{"abc", true},
{"0", true},
{"0123456789", true},
{"_", true},
{"_ab", true},
{"-", false},
{"-ab", false},
{".", true},
{".ab", true},
{"a-b", true},
{"a_b", true},
{"a/b", false},
{"a.b", true},
{"ab-", true},
{"ab_", true},
{"ab.", true},
{"/ab", false},
{"ab/", false},
} {
assert.Equal(t, i.valid, IsValidSite(i.s), "Test failed \"%s\" - %v", i.s, i.valid)
}
}
func TestIsValidBranch(t *testing.T) {
for _, i := range []struct {
s string
valid bool
}{
{"", false},
{"a", true},
{"abc", true},
{"0", true},
{"0123456789", true},
{"_", true},
{"_ab", true},
{"-", false},
{"-ab", false},
{".", true},
{".ab", true},
{"a-b", true},
{"a_b", true},
{"a/b", true},
{"a.b", true},
{"ab-", true},
{"ab_", true},
{"ab.", true},
{"/ab", false},
{"ab/", false},
} {
assert.Equal(t, i.valid, IsValidBranch(i.s), "Test failed \"%s\" - %v", i.s, i.valid)
}
}