40 lines
864 B
Go
40 lines
864 B
Go
// Package auth_test tests refresh token generation and hashing.
|
|
package auth_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"messenger/internal/auth"
|
|
)
|
|
|
|
func TestGenerateAndHash(t *testing.T) {
|
|
raw, hash, err := auth.GenerateRefreshToken()
|
|
if err != nil {
|
|
t.Fatalf("GenerateRefreshToken error: %v", err)
|
|
}
|
|
if raw == hash {
|
|
t.Fatal("raw and hash should differ")
|
|
}
|
|
if auth.HashRefreshToken(raw) != hash {
|
|
t.Fatal("HashRefreshToken mismatch")
|
|
}
|
|
}
|
|
|
|
func TestGenerateRandomness(t *testing.T) {
|
|
r1, _, _ := auth.GenerateRefreshToken()
|
|
r2, _, _ := auth.GenerateRefreshToken()
|
|
if r1 == r2 {
|
|
t.Fatal("expected two different raw tokens")
|
|
}
|
|
}
|
|
|
|
func TestRawLength(t *testing.T) {
|
|
raw, _, err := auth.GenerateRefreshToken()
|
|
if err != nil {
|
|
t.Fatalf("GenerateRefreshToken error: %v", err)
|
|
}
|
|
if len(raw) != 64 {
|
|
t.Fatalf("expected raw length 64, got %d", len(raw))
|
|
}
|
|
}
|