=== RUN TestE2ETokenRefresh [API] 2026-03-16 17:53:17 POST /api/v1/auth/register | status: 200 | latency: 76.3368ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:17 POST /api/v1/auth/login | status: 200 | latency: 65.3009ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:53: 登录成功,access_token 和 refresh_token 均已获取 [API] 2026-03-16 17:53:17 POST /api/v1/auth/refresh | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:76: Token 刷新成功,新 access_token 长度=287 [API] 2026-03-16 17:53:17 GET /api/v1/auth/userinfo | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:88: 新 Token 可正常访问受保护接口 [API] 2026-03-16 17:53:17 POST /api/v1/auth/refresh | status: 401 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:102: 无效 refresh_token HTTP 401(符合预期) --- PASS: TestE2ETokenRefresh (0.15s) === RUN TestE2ELogoutInvalidatesToken [API] 2026-03-16 17:53:17 POST /api/v1/auth/register | status: 200 | latency: 65.4213ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:17 POST /api/v1/auth/login | status: 200 | latency: 64.5867ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:17 POST /api/v1/auth/logout | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:126: 登出成功 [API] 2026-03-16 17:53:17 GET /api/v1/auth/userinfo | status: 401 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:134: 登出后 Token 已正确失效 --- PASS: TestE2ELogoutInvalidatesToken (0.14s) === RUN TestE2ERBACProtectedRoutes [API] 2026-03-16 17:53:17 POST /api/v1/auth/register | status: 200 | latency: 72.5601ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:17 POST /api/v1/auth/login | status: 200 | latency: 66.0486ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 === RUN TestE2ERBACProtectedRoutes/普通用户无法访问角色管理 [API] 2026-03-16 17:53:17 GET /api/v1/roles | status: 403 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:164: 普通用户访问角色管理返回 HTTP 403(符合预期,>=400) === RUN TestE2ERBACProtectedRoutes/普通用户无法访问管理员导出接口 [API] 2026-03-16 17:53:17 GET /api/v1/admin/users/export | status: 404 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:176: admin 导出被正确拒绝,HTTP 404 === RUN TestE2ERBACProtectedRoutes/未认证用户访问受保护接口_401 [API] 2026-03-16 17:53:17 GET /api/v1/auth/userinfo | status: 401 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:185: 未认证访问正确返回 401 === RUN TestE2ERBACProtectedRoutes/带有效_Token_的普通用户可访问自身信息 [API] 2026-03-16 17:53:17 GET /api/v1/auth/userinfo | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:194: 普通用户访问自身信息成功 --- PASS: TestE2ERBACProtectedRoutes (0.15s) --- PASS: TestE2ERBACProtectedRoutes/普通用户无法访问角色管理 (0.00s) --- PASS: TestE2ERBACProtectedRoutes/普通用户无法访问管理员导出接口 (0.00s) --- PASS: TestE2ERBACProtectedRoutes/未认证用户访问受保护接口_401 (0.00s) --- PASS: TestE2ERBACProtectedRoutes/带有效_Token_的普通用户可访问自身信息 (0.00s) === RUN TestE2ETOTPFlow [API] 2026-03-16 17:53:17 POST /api/v1/auth/register | status: 200 | latency: 65.4802ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:18 POST /api/v1/auth/login | status: 200 | latency: 75.3605ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 === RUN TestE2ETOTPFlow/TOTP状态查询 [API] 2026-03-16 17:53:18 GET /api/v1/auth/2fa/status | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:223: TOTP 状态查询成功: map[totp_enabled:false] === RUN TestE2ETOTPFlow/TOTP_Setup获取密钥 [API] 2026-03-16 17:53:18 GET /api/v1/auth/2fa/setup | status: 200 | latency: 7.9788ms | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:246: TOTP secret 已获取,长度=32 === RUN TestE2ETOTPFlow/TOTP_Enable(使用实时OTP) [API] 2026-03-16 17:53:18 POST /api/v1/auth/2fa/enable | status: 400 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:264: TOTP Enable HTTP 400(OTP 可能因时钟偏差失败,视为非致命) --- PASS: TestE2ETOTPFlow (0.16s) --- PASS: TestE2ETOTPFlow/TOTP状态查询 (0.00s) --- PASS: TestE2ETOTPFlow/TOTP_Setup获取密钥 (0.01s) --- PASS: TestE2ETOTPFlow/TOTP_Enable(使用实时OTP) (0.00s) === RUN TestE2EWebhookCRUD [API] 2026-03-16 17:53:18 POST /api/v1/auth/register | status: 200 | latency: 68.1632ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:18 POST /api/v1/auth/login | status: 200 | latency: 69.6055ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 === RUN TestE2EWebhookCRUD/创建Webhook [API] 2026-03-16 17:53:18 POST /api/v1/webhooks | status: 200 | latency: 673.4µs | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:315: Webhook 创建成功,id=1 === RUN TestE2EWebhookCRUD/列出Webhooks [API] 2026-03-16 17:53:18 GET /api/v1/webhooks | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:329: Webhook 列表查询成功 === RUN TestE2EWebhookCRUD/更新Webhook [API] 2026-03-16 17:53:18 PUT /api/v1/webhooks/1 | status: 200 | latency: 1.0293ms | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:350: Webhook 更新成功 === RUN TestE2EWebhookCRUD/查询Webhook投递记录 [API] 2026-03-16 17:53:18 GET /api/v1/webhooks/1/deliveries | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:367: Webhook 投递记录查询成功 === RUN TestE2EWebhookCRUD/删除Webhook [API] 2026-03-16 17:53:18 DELETE /api/v1/webhooks/1 | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:384: Webhook 删除成功 --- PASS: TestE2EWebhookCRUD (0.15s) --- PASS: TestE2EWebhookCRUD/创建Webhook (0.00s) --- PASS: TestE2EWebhookCRUD/列出Webhooks (0.00s) --- PASS: TestE2EWebhookCRUD/更新Webhook (0.00s) --- PASS: TestE2EWebhookCRUD/查询Webhook投递记录 (0.00s) --- PASS: TestE2EWebhookCRUD/删除Webhook (0.00s) === RUN TestE2EWebhookCallbackDelivery [API] 2026-03-16 17:53:18 POST /api/v1/auth/register | status: 200 | latency: 68.2761ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:18 POST /api/v1/auth/login | status: 200 | latency: 64.9644ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:18 POST /api/v1/webhooks | status: 200 | latency: 1.0352ms | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:422: Webhook 已创建,等待事件触发投递... [API] 2026-03-16 17:53:18 POST /api/v1/auth/register | status: 400 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:436: 注意:5秒内未收到 Webhook 回调(异步投递延迟,非致命) --- PASS: TestE2EWebhookCallbackDelivery (5.14s) === RUN TestE2EImportExportTemplate [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 200 | latency: 69.2192ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/login | status: 200 | latency: 66.6716ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 === RUN TestE2EImportExportTemplate/普通用户无法访问导出 [API] 2026-03-16 17:53:23 GET /api/v1/admin/users/export | status: 404 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:459: 正确拒绝普通用户访问导出,HTTP 404 === RUN TestE2EImportExportTemplate/普通用户无法下载导入模板 [API] 2026-03-16 17:53:23 GET /api/v1/admin/users/import/template | status: 404 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:468: 正确拒绝普通用户访问导入模板,HTTP 404 --- PASS: TestE2EImportExportTemplate (0.14s) --- PASS: TestE2EImportExportTemplate/普通用户无法访问导出 (0.00s) --- PASS: TestE2EImportExportTemplate/普通用户无法下载导入模板 (0.00s) === RUN TestE2EConcurrentRegisterUnique [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 400 | latency: 1.043ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 49.6µs | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 49.6µs | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 400 | latency: 2.1208ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 400 | latency: 68.846ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:512: goroutine 0: 注册失败 idx=0: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 1: 注册失败 idx=1: code=1001 msg=SQL logic error: no such table: users (1) (HTTP 400) e2e_advanced_test.go:512: goroutine 2: 注册失败 idx=2: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 3: 注册失败 idx=3: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 4: 注册失败 idx=4: code=1001 msg=SQL logic error: no such table: users (1) (HTTP 400) e2e_advanced_test.go:512: goroutine 5: 注册失败 idx=5: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 6: 注册失败 idx=6: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 7: 注册失败 idx=7: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 8: 注册失败 idx=8: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 9: 注册失败 idx=9: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 10: 注册失败 idx=10: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 11: 注册失败 idx=11: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 12: 注册失败 idx=12: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 13: 注册失败 idx=13: code=429 msg=请求过于频繁,请稍后再试 (HTTP 429) e2e_advanced_test.go:512: goroutine 14: 注册失败 idx=14: code=1001 msg=SQL logic error: no such table: users (1) (HTTP 400) e2e_advanced_test.go:517: 并发注册:15/15 个请求失败 --- FAIL: TestE2EConcurrentRegisterUnique (0.08s) === RUN TestE2EFullAuthCycle [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 200 | latency: 78.6002ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:543: ✅ 1. 注册成功 [API] 2026-03-16 17:53:23 POST /api/v1/auth/login | status: 200 | latency: 71.2259ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:549: ✅ 2. 登录成功,access_token len=291 refresh_token len=292 [API] 2026-03-16 17:53:23 GET /api/v1/auth/userinfo | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:556: ✅ 3. 获取用户信息成功 [API] 2026-03-16 17:53:23 POST /api/v1/auth/refresh | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:572: ✅ 4. Token 刷新成功,新 access_token len=291 [API] 2026-03-16 17:53:23 GET /api/v1/auth/userinfo | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:579: ✅ 5. 新 Token 验证通过 [API] 2026-03-16 17:53:23 POST /api/v1/auth/logout | status: 200 | latency: 118.1µs | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_advanced_test.go:586: ✅ 6. 登出成功 e2e_advanced_test.go:588: 🎉 完整认证生命周期测试通过:注册→登录→获取信息→刷新Token→验证→登出 --- PASS: TestE2EFullAuthCycle (0.16s) === RUN TestE2EHealthAndMetrics === RUN TestE2EHealthAndMetrics/健康检查 [API] 2026-03-16 17:53:23 GET /health | status: 404 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:600: /health 期望 200,实际 404 === RUN TestE2EHealthAndMetrics/Prometheus_指标端点 [API] 2026-03-16 17:53:23 GET /metrics | status: 404 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_advanced_test.go:608: /metrics 端点 HTTP 404 --- FAIL: TestE2EHealthAndMetrics (0.01s) --- FAIL: TestE2EHealthAndMetrics/健康检查 (0.00s) --- PASS: TestE2EHealthAndMetrics/Prometheus_指标端点 (0.00s) === RUN TestE2ERegisterAndLogin [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 200 | latency: 72.1008ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_test.go:162: 注册成功: map[avatar: email:e2euser1@example.com id:1 nickname: phone: status:1 username:e2e_user1] [API] 2026-03-16 17:53:23 POST /api/v1/auth/login | status: 200 | latency: 64.3059ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_test.go:185: 登录成功,access_token 长度=283 [API] 2026-03-16 17:53:23 GET /api/v1/auth/userinfo | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_test.go:198: 用户信息获取成功: map[avatar: email:e2euser1@example.com id:1 nickname: phone: status:1 username:e2e_user1] [API] 2026-03-16 17:53:23 POST /api/v1/auth/logout | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1 e2e_test.go:205: 登出成功 --- PASS: TestE2ERegisterAndLogin (0.15s) === RUN TestE2ELoginFailures [API] 2026-03-16 17:53:23 POST /api/v1/auth/register | status: 200 | latency: 72.4393ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 401 | latency: 64.3536ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_test.go:234: 错误密码返回 HTTP 401(符合预期) [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 401 | latency: 1.6365ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 --- PASS: TestE2ELoginFailures (0.15s) === RUN TestE2EUnauthorizedAccess [API] 2026-03-16 17:53:24 GET /api/v1/auth/userinfo | status: 401 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_test.go:263: 未认证访问正确返回 401 [API] 2026-03-16 17:53:24 GET /api/v1/auth/userinfo | status: 401 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_test.go:270: 无效 token 正确返回 401 --- PASS: TestE2EUnauthorizedAccess (0.01s) === RUN TestE2EPasswordReset [API] 2026-03-16 17:53:24 POST /api/v1/auth/register | status: 200 | latency: 65.4499ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/forgot-password | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [密码重置邮件-开发模式] To: resetuser@example.com Subject: 密码重置请求 ResetURL: http://localhost/reset-password?token=80a02f568a8fa2a1f18a200bba78a0fa26066e59c69cadb1b2c35b30adb1fd26 e2e_test.go:293: 密码重置请求正确返回 200 --- PASS: TestE2EPasswordReset (0.07s) === RUN TestE2ECaptcha [API] 2026-03-16 17:53:24 GET /api/v1/auth/captcha | status: 200 | latency: 1.0243ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_test.go:322: 验证码生成成功,captcha_id=1773654804098770700-c40b395fab7373c6d4a40dffcbf3595b [API] 2026-03-16 17:53:24 GET /api/v1/auth/captcha/image | status: 200 | latency: 2.1051ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [Query] /api/v1/auth/captcha/image?captcha_id=1773654804098770700-c40b395fab7373c6d4a40dffcbf3595b e2e_test.go:329: 验证码图片获取成功 --- PASS: TestE2ECaptcha (0.01s) === RUN TestE2EConcurrentLogin [API] 2026-03-16 17:53:24 POST /api/v1/auth/register | status: 200 | latency: 73.8629ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 1.0398ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 1.025ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 429 | latency: 0s | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 200 | latency: 67.5356ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 [API] 2026-03-16 17:53:24 POST /api/v1/auth/login | status: 200 | latency: 74.8568ms | ip: 127.0.0.1 | user_id: | ua: Go-http-client/1.1 e2e_test.go:384: 并发登录结果: 成功=2 失败=18 总耗时=75.8882ms 平均=9.047335ms --- PASS: TestE2EConcurrentLogin (0.16s) FAIL FAIL github.com/user-management-system/internal/e2e 7.049s FAIL