Files
server/auth/token_test.go
2026-04-19 19:22:30 +02:00

43 lines
907 B
Go

package auth
import (
"crypto/rand"
"errors"
"fmt"
"strings"
"testing"
"testing/iotest"
"github.com/stretchr/testify/assert"
)
func TestTokenHavePrefix(t *testing.T) {
for i := 0; i < 50; i++ {
assert.True(t, strings.HasPrefix(GenerateApplicationToken(), "A"))
assert.True(t, strings.HasPrefix(GenerateClientToken(), "C"))
assert.True(t, strings.HasPrefix(GeneratePluginToken(), "P"))
assert.NotEmpty(t, GenerateImageName())
}
}
func TestGenerateNotExistingToken(t *testing.T) {
count := 5
token := GenerateNotExistingToken(func() string {
return fmt.Sprint(count)
}, func(token string) bool {
count--
return token != "0"
})
assert.Equal(t, "0", token)
}
func TestBadCryptoReaderPanics(t *testing.T) {
assert.Panics(t, func() {
randReader = iotest.ErrReader(errors.New("this reader cannot be read"))
defer func() {
randReader = rand.Reader
}()
randIntn(2)
})
}