Files
codit/backend/internal/auth/totp_test.go
2026-06-01 23:18:46 +09:00

30 lines
688 B
Go

package auth
import "testing"
import "time"
func TestTOTPCodeRFC6238(t *testing.T) {
var secret string
var code string
secret = "GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ"
code = totpCode(secret, time.Unix(59, 0).Unix()/TOTPPeriod)
if code != "287082" {
t.Fatalf("unexpected TOTP code: %s", code)
}
}
func TestValidateTOTP(t *testing.T) {
var secret string
var now time.Time
var code string
secret = "GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ"
now = time.Unix(59, 0)
code = totpCode(secret, now.Unix()/TOTPPeriod)
if !ValidateTOTP(code, secret, now) {
t.Fatalf("expected TOTP code to validate")
}
if ValidateTOTP("000000", secret, now) {
t.Fatalf("unexpected TOTP validation")
}
}