57 lines
1.1 KiB
Go
57 lines
1.1 KiB
Go
package miniauth
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"git.keks.cloud/kekskurse/miniauth/pkg/userstore"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestInvalideUsernames(t *testing.T) {
|
|
tts := []struct {
|
|
name string
|
|
username string
|
|
exptErr error
|
|
}{
|
|
{
|
|
name: "not-to-short",
|
|
username: "abc",
|
|
exptErr: ErrUserHasInvalideChars,
|
|
},
|
|
{
|
|
name: "not-to-long",
|
|
username: "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz",
|
|
exptErr: ErrUserHasInvalideChars,
|
|
},
|
|
{
|
|
name: "special charakters",
|
|
username: "abcöfg",
|
|
exptErr: ErrUserHasInvalideChars,
|
|
},
|
|
{
|
|
name: "with a dot",
|
|
username: "kekskurse.16",
|
|
exptErr: ErrUserHasInvalideChars,
|
|
},
|
|
{
|
|
name: "username-ok",
|
|
username: "kekskurse",
|
|
exptErr: nil,
|
|
},
|
|
}
|
|
|
|
ma := getMiniAuth(t)
|
|
for _, tt := range tts {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
err := ma.checkUsernameForRegistration(tt.username)
|
|
assert.Equal(t, tt.exptErr, err)
|
|
})
|
|
}
|
|
}
|
|
|
|
func getMiniAuth(t *testing.T) Miniauth {
|
|
us, err := userstore.NewDummyStore()
|
|
assert.Nil(t, err, "[setup] should be abel to creat dummy store")
|
|
m := NewMiniauth(us)
|
|
return m
|
|
}
|