gpaste/user_test.go

38 lines
860 B
Go
Raw Permalink Normal View History

2022-01-19 20:45:53 +00:00
package gpaste_test
import (
"math/rand"
"testing"
"git.t-juice.club/torjus/gpaste"
)
func TestUser(t *testing.T) {
t.Run("Password", func(t *testing.T) {
userMap := make(map[string]string)
for i := 0; i < 10; i++ {
userMap[randomString(8)] = randomString(16)
}
for username, password := range userMap {
user := &gpaste.User{Username: username}
if err := user.SetPassword(password); err != nil {
t.Fatalf("Error setting password: %s", err)
}
if err := user.ValidatePassword(password); err != nil {
t.Fatalf("Error validating password: %s", err)
}
}
})
}
func randomString(length int) string {
const charset = "abcdefghijklmnopqrstabcdefghijklmnopqrstuvwxyz" +
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
b := make([]byte, length)
for i := range b {
b[i] = charset[rand.Intn(len(charset))]
}
return string(b)
}