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") } }