This repository has been archived on 2025-10-08. You can view files and clone it, but cannot push or open issues or pull requests.
miniauthold/pkg/miniauth/miniauth_test.go
kekskurse b12aa48066
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/playwright Pipeline was successful
ci/woodpecker/push/deplyoment Pipeline was successful
chore: add user test and create dummy user store for testing and locale development
2025-03-13 20:25:05 +01:00

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
}