From adc227f110bf0c456d1523eac151ed1d8360cc83 Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Mon, 17 Aug 2026 10:56:26 +0800 Subject: [PATCH] =?UTF-8?q?test:=20=E9=AA=8C=E8=AF=81=20Sense=2030?= =?UTF-8?q?=E5=A4=A9=20JWT=20=E5=88=B0=E6=9C=9F=E6=97=B6=E9=97=B4=20(#104)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sense/server/common/middleware/auth_test.go | 31 +++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Sense/server/common/middleware/auth_test.go b/Sense/server/common/middleware/auth_test.go index 7a2e391..0d26b7f 100644 --- a/Sense/server/common/middleware/auth_test.go +++ b/Sense/server/common/middleware/auth_test.go @@ -3,6 +3,8 @@ package middleware import ( "testing" "time" + + "github.com/go-admin-team/go-admin-core/sdk/config" ) func TestResolveJWTTimeoutDefaultsToThirtyDays(t *testing.T) { @@ -24,3 +26,32 @@ func TestResolveJWTTimeoutKeepsUpstreamDevelopmentBehavior(t *testing.T) { t.Fatalf("development timeout=%s", got) } } + +func TestAuthInitSignsTokenExpiringAfterThirtyDays(t *testing.T) { + oldMode := config.ApplicationConfig.Mode + oldTimeout := config.JwtConfig.Timeout + oldSecret := config.JwtConfig.Secret + t.Cleanup(func() { + config.ApplicationConfig.Mode = oldMode + config.JwtConfig.Timeout = oldTimeout + config.JwtConfig.Secret = oldSecret + }) + + config.ApplicationConfig.Mode = "prod" + config.JwtConfig.Timeout = 0 + config.JwtConfig.Secret = "task-104-test-secret-not-for-production" + + auth, err := AuthInit() + if err != nil { + t.Fatal(err) + } + now := time.Date(2026, 8, 17, 10, 0, 0, 0, time.UTC) + auth.TimeFunc = func() time.Time { return now } + _, expiresAt, err := auth.TokenGenerator(map[string]interface{}{}) + if err != nil { + t.Fatal(err) + } + if got := expiresAt.Sub(now); got != 30*24*time.Hour { + t.Fatalf("signed token validity=%s, want 720h", got) + } +}