From 51735680e02b001f7df9669b985acaabeed411b4 Mon Sep 17 00:00:00 2001 From: Fendy Date: Sat, 5 Sep 2026 00:16:33 +0800 Subject: [PATCH] test(backend): setupAPI points BooksDir at os.TempDir and resets shared loginrl key --- backend/internal/api/auth_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/backend/internal/api/auth_test.go b/backend/internal/api/auth_test.go index 314e54f..3474d30 100644 --- a/backend/internal/api/auth_test.go +++ b/backend/internal/api/auth_test.go @@ -7,8 +7,11 @@ import ( "net/http" "net/http/httptest" "os" + "path/filepath" "testing" + "github.com/redis/go-redis/v9" + "booklib/internal/auth" "booklib/internal/db" "booklib/internal/redispkg" @@ -38,7 +41,16 @@ func setupAPI(t *testing.T) (*store.Store, http.Handler) { t.Fatal(err) } cfg := testCfg() + cfg.BooksDir = filepath.Clean(os.TempDir()) + cfg.CacheDir = t.TempDir() r := NewRouter(cfg, st, redispkg.New(os.Getenv("REDIS_URL"))) + if u := os.Getenv("REDIS_URL"); u != "" { // 测试卫生: 共享 redis 上重置登录限流桶, 防跨测试累计 429 + if opt, e := redis.ParseURL(u); e == nil { + rc := redis.NewClient(opt) + rc.Del(ctx, "loginrl:192.0.2.1") + rc.Close() + } + } return st, r }