You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

45 lines
1.1 KiB

package util
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestAllowedCharMatchesUidPattern(t *testing.T) {
for _, c := range allowedChars {
if !IsValidShortUID(string(c)) {
t.Fatalf("charset for creating new shortids contains chars not present in uid pattern")
}
}
}
func TestIsShortUIDTooLong(t *testing.T) {
var tests = []struct {
name string
uid string
expected bool
}{
{
name: "when the length of uid is longer than 40 chars then IsShortUIDTooLong should return true",
uid: allowedChars,
expected: true,
},
{
name: "when the length of uid is equal too 40 chars then IsShortUIDTooLong should return false",
uid: "0123456789012345678901234567890123456789",
expected: false,
},
{
name: "when the length of uid is shorter than 40 chars then IsShortUIDTooLong should return false",
uid: "012345678901234567890123456789012345678",
expected: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
require.Equal(t, tt.expected, IsShortUIDTooLong(tt.uid))
})
}
}