Files
user-system/e2e_advanced.txt

222 lines
21 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
=== 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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 400OTP 可能因时钟偏差失败,视为非致命)
--- 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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: <nil> | 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