Files
user-system/e2e_v3.txt

202 lines
19 KiB
Plaintext
Raw Permalink Normal View History

=== RUN TestE2ETokenRefresh
[API] 2026-03-16 17:56:50 POST /api/v1/auth/register | status: 200 | latency: 74.988ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:50 POST /api/v1/auth/login | status: 200 | latency: 64.6651ms | 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:56:50 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:56:50 GET /api/v1/auth/userinfo | status: 200 | latency: 286µs | 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:56:50 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:56:50 POST /api/v1/auth/register | status: 200 | latency: 65.0543ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:50 POST /api/v1/auth/login | status: 200 | latency: 65.7122ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:50 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:56:50 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:56:50 POST /api/v1/auth/register | status: 200 | latency: 64.9827ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:50 POST /api/v1/auth/login | status: 200 | latency: 65.754ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
=== RUN TestE2ERBACProtectedRoutes/普通用户无法访问角色管理
[API] 2026-03-16 17:56:50 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:56:50 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:56:50 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:56:50 GET /api/v1/auth/userinfo | status: 200 | latency: 102.9µs | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1
e2e_advanced_test.go:194: 普通用户访问自身信息成功
--- PASS: TestE2ERBACProtectedRoutes (0.14s)
--- 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:56:50 POST /api/v1/auth/register | status: 200 | latency: 65.6689ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:50 POST /api/v1/auth/login | status: 200 | latency: 64.7366ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
=== RUN TestE2ETOTPFlow/TOTP状态查询
[API] 2026-03-16 17:56:50 GET /api/v1/auth/2fa/status | status: 200 | latency: 1.008ms | 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:56:50 GET /api/v1/auth/2fa/setup | status: 200 | latency: 8.4188ms | 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:56:50 POST /api/v1/auth/2fa/enable | status: 400 | latency: 644.2µs | 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.15s)
--- 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:56:50 POST /api/v1/auth/register | status: 200 | latency: 65.8796ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:50 POST /api/v1/auth/login | status: 200 | latency: 64.5737ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
=== RUN TestE2EWebhookCRUD/创建Webhook
[API] 2026-03-16 17:56:50 POST /api/v1/webhooks | status: 200 | latency: 742.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:56:50 GET /api/v1/webhooks | status: 200 | latency: 425.1µs | 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:56:50 PUT /api/v1/webhooks/1 | status: 200 | latency: 52µs | 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:56:50 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:56:50 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.14s)
--- 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:56:50 POST /api/v1/auth/register | status: 200 | latency: 65.516ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:50 POST /api/v1/auth/login | status: 200 | latency: 64.7156ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:50 POST /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:422: Webhook 已创建,等待事件触发投递...
[API] 2026-03-16 17:56:50 POST /api/v1/auth/register | status: 200 | latency: 64.9342ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
e2e_advanced_test.go:436: 注意5秒内未收到 Webhook 回调(异步投递延迟,非致命)
--- PASS: TestE2EWebhookCallbackDelivery (5.20s)
=== RUN TestE2EImportExportTemplate
[API] 2026-03-16 17:56:56 POST /api/v1/auth/register | status: 200 | latency: 64.6089ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:56 POST /api/v1/auth/login | status: 200 | latency: 64.6699ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
=== RUN TestE2EImportExportTemplate/普通用户无法访问导出
[API] 2026-03-16 17:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 POST /api/v1/auth/register | status: 400 | latency: 2.2694ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:56 POST /api/v1/auth/register | status: 400 | latency: 65.6438ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:56 POST /api/v1/auth/register | status: 400 | latency: 66.1054ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
e2e_advanced_test.go:508: 并发注册结果(状态码分布): map[400:3 429:7]
e2e_advanced_test.go:522: 系统稳定:注册成功=0 被限流=7 其他拒绝=3
--- PASS: TestE2EConcurrentRegisterUnique (0.07s)
=== RUN TestE2EFullAuthCycle
[API] 2026-03-16 17:56:56 POST /api/v1/auth/register | status: 200 | latency: 65.5266ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
e2e_advanced_test.go:546: ✅ 1. 注册成功
[API] 2026-03-16 17:56:56 POST /api/v1/auth/login | status: 200 | latency: 66.2287ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
e2e_advanced_test.go:552: ✅ 2. 登录成功access_token len=291 refresh_token len=292
[API] 2026-03-16 17:56:56 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:559: ✅ 3. 获取用户信息成功
[API] 2026-03-16 17:56:56 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:575: ✅ 4. Token 刷新成功,新 access_token len=291
[API] 2026-03-16 17:56:56 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:582: ✅ 5. 新 Token 验证通过
[API] 2026-03-16 17:56:56 POST /api/v1/auth/logout | status: 200 | latency: 936.4µs | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1
e2e_advanced_test.go:589: ✅ 6. 登出成功
e2e_advanced_test.go:591: 🎉 完整认证生命周期测试通过注册→登录→获取信息→刷新Token→验证→登出
--- PASS: TestE2EFullAuthCycle (0.14s)
=== RUN TestE2EHealthAndMetrics
=== RUN TestE2EHealthAndMetrics/OAuth_providers_端点可达
[API] 2026-03-16 17:56:56 GET /api/v1/auth/oauth/providers | status: 200 | latency: 1.0621ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
e2e_advanced_test.go:607: OAuth providers 端点正常
=== RUN TestE2EHealthAndMetrics/验证码端点可达(无需认证)
[API] 2026-03-16 17:56:56 GET /api/v1/auth/captcha | status: 200 | latency: 1.0085ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
e2e_advanced_test.go:615: 验证码端点正常
--- PASS: TestE2EHealthAndMetrics (0.01s)
--- PASS: TestE2EHealthAndMetrics/OAuth_providers_端点可达 (0.00s)
--- PASS: TestE2EHealthAndMetrics/验证码端点可达(无需认证) (0.00s)
=== RUN TestE2ERegisterAndLogin
[API] 2026-03-16 17:56:56 POST /api/v1/auth/register | status: 200 | latency: 64.7368ms | 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:56:56 POST /api/v1/auth/login | status: 200 | latency: 64.6626ms | 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:56:56 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:56:56 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.14s)
=== RUN TestE2ELoginFailures
[API] 2026-03-16 17:56:56 POST /api/v1/auth/register | status: 200 | latency: 63.7238ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:56 POST /api/v1/auth/login | status: 401 | latency: 64.6637ms | 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:56:56 POST /api/v1/auth/login | status: 401 | latency: 870.3µs | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
--- PASS: TestE2ELoginFailures (0.14s)
=== RUN TestE2EUnauthorizedAccess
[API] 2026-03-16 17:56:56 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:56:56 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:56:56 POST /api/v1/auth/register | status: 200 | latency: 64.317ms | 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=c0f6b31aaa22a59c56161f2e6961a8da4e317f32eb1b10a24f9322e919a58cda
[API] 2026-03-16 17:56:56 POST /api/v1/auth/forgot-password | status: 200 | latency: 0s | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
e2e_test.go:293: 密码重置请求正确返回 200
--- PASS: TestE2EPasswordReset (0.07s)
=== RUN TestE2ECaptcha
[API] 2026-03-16 17:56:56 GET /api/v1/auth/captcha | status: 200 | latency: 1.5834ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
e2e_test.go:322: 验证码生成成功captcha_id=1773655016661686900-ed672991b9c8b0a03b6f45ff2c0d8d14
[API] 2026-03-16 17:56:56 GET /api/v1/auth/captcha/image | status: 200 | latency: 984.5µs | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[Query] /api/v1/auth/captcha/image?captcha_id=1773655016661686900-ed672991b9c8b0a03b6f45ff2c0d8d14
e2e_test.go:329: 验证码图片获取成功
--- PASS: TestE2ECaptcha (0.01s)
=== RUN TestE2EConcurrentLogin
[API] 2026-03-16 17:56:56 POST /api/v1/auth/register | status: 200 | latency: 65.6066ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:56 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:56:56 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:56:56 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:56:56 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:56:56 POST /api/v1/auth/login | status: 401 | latency: 0s | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 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:56:56 POST /api/v1/auth/login | status: 429 | latency: 687µs | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:56 POST /api/v1/auth/login | status: 429 | latency: 56.1µs | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
[API] 2026-03-16 17:56:56 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:56:56 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:56:56 POST /api/v1/auth/login | status: 200 | latency: 65.9606ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
e2e_test.go:384: 并发登录结果: 成功=1 失败=19 总耗时=67.1632ms 平均=4.94864ms
--- PASS: TestE2EConcurrentLogin (0.14s)
PASS
ok github.com/user-management-system/internal/e2e 6.934s