mirror of
https://github.com/gotify/server.git
synced 2024-01-28 15:20:56 +03:00
42 lines
880 B
Go
42 lines
880 B
Go
package auth
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/gotify/server/v2/test"
|
|
"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 = test.UnreadableReader()
|
|
defer func() {
|
|
randReader = rand.Reader
|
|
}()
|
|
randIntn(2)
|
|
})
|
|
}
|