222 lines
21 KiB
Plaintext
222 lines
21 KiB
Plaintext
=== RUN TestE2ETokenRefresh
|
||
[API] 2026-03-16 17:54:27 POST /api/v1/auth/register | status: 200 | latency: 79.2172ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:27 POST /api/v1/auth/login | status: 200 | latency: 79.4547ms | 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:54:27 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:54:27 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:54:27 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.17s)
|
||
=== RUN TestE2ELogoutInvalidatesToken
|
||
[API] 2026-03-16 17:54:28 POST /api/v1/auth/register | status: 200 | latency: 63.7999ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:28 POST /api/v1/auth/login | status: 200 | latency: 65.7698ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:28 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:54:28 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:54:28 POST /api/v1/auth/register | status: 200 | latency: 66.527ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:28 POST /api/v1/auth/login | status: 200 | latency: 65.5132ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
=== RUN TestE2ERBACProtectedRoutes/普通用户无法访问角色管理
|
||
[API] 2026-03-16 17:54:28 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:54:28 GET /api/v1/admin/users/export | status: 404 | latency: 142µs | 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:54:28 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:54:28 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.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:54:28 POST /api/v1/auth/register | status: 200 | latency: 73.0083ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:28 POST /api/v1/auth/login | status: 200 | latency: 75.2748ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
=== RUN TestE2ETOTPFlow/TOTP状态查询
|
||
[API] 2026-03-16 17:54:28 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:54:28 GET /api/v1/auth/2fa/setup | status: 200 | latency: 9.6602ms | 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:54:28 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.17s)
|
||
--- 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:54:28 POST /api/v1/auth/register | status: 200 | latency: 68.5132ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:28 POST /api/v1/auth/login | status: 200 | latency: 68.1369ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
=== RUN TestE2EWebhookCRUD/创建Webhook
|
||
[API] 2026-03-16 17:54:28 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:315: Webhook 创建成功,id=1
|
||
=== RUN TestE2EWebhookCRUD/列出Webhooks
|
||
[API] 2026-03-16 17:54:28 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:54:28 PUT /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:350: Webhook 更新成功
|
||
=== RUN TestE2EWebhookCRUD/查询Webhook投递记录
|
||
[API] 2026-03-16 17:54:28 GET /api/v1/webhooks/1/deliveries | status: 500 | latency: 0s | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1
|
||
e2e_advanced_test.go:360: 查询 Webhook 投递记录失败,HTTP 500
|
||
=== RUN TestE2EWebhookCRUD/删除Webhook
|
||
[API] 2026-03-16 17:54:28 DELETE /api/v1/webhooks/1 | status: 500 | latency: 91.9µs | ip: 127.0.0.1 | user_id: 1 | ua: Go-http-client/1.1
|
||
e2e_advanced_test.go:377: 删除 Webhook 失败,HTTP 500
|
||
--- FAIL: TestE2EWebhookCRUD (0.15s)
|
||
--- PASS: TestE2EWebhookCRUD/创建Webhook (0.00s)
|
||
--- PASS: TestE2EWebhookCRUD/列出Webhooks (0.00s)
|
||
--- PASS: TestE2EWebhookCRUD/更新Webhook (0.00s)
|
||
--- FAIL: TestE2EWebhookCRUD/查询Webhook投递记录 (0.00s)
|
||
--- FAIL: TestE2EWebhookCRUD/删除Webhook (0.00s)
|
||
=== RUN TestE2EWebhookCallbackDelivery
|
||
[API] 2026-03-16 17:54:28 POST /api/v1/auth/register | status: 200 | latency: 76.4755ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:28 POST /api/v1/auth/login | status: 200 | latency: 64.6199ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:28 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:54:28 POST /api/v1/auth/register | status: 200 | latency: 73.7693ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
e2e_advanced_test.go:436: 注意:5秒内未收到 Webhook 回调(异步投递延迟,非致命)
|
||
--- PASS: TestE2EWebhookCallbackDelivery (5.22s)
|
||
=== RUN TestE2EImportExportTemplate
|
||
[API] 2026-03-16 17:54:33 POST /api/v1/auth/register | status: 200 | latency: 68.328ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:33 POST /api/v1/auth/login | status: 200 | latency: 65.2803ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
=== RUN TestE2EImportExportTemplate/普通用户无法访问导出
|
||
[API] 2026-03-16 17:54:33 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:54:33 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:54:33 POST /api/v1/auth/register | status: 429 | latency: 1.0185ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:33 POST /api/v1/auth/register | status: 429 | latency: 105.5µs | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:33 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:54:33 POST /api/v1/auth/register | status: 400 | latency: 1.124ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:33 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:54:33 POST /api/v1/auth/register | status: 400 | latency: 2.1574ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:33 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:54:33 POST /api/v1/auth/register | status: 429 | latency: 1.0538ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:33 POST /api/v1/auth/register | status: 429 | latency: 92.6µs | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:33 POST /api/v1/auth/register | status: 429 | latency: 92.6µs | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:33 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:54:33 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:54:33 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:54:33 POST /api/v1/auth/register | status: 429 | latency: 1.0846ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:33 POST /api/v1/auth/register | status: 400 | latency: 69.0314ms | 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=429 msg=请求过于频繁,请稍后再试 (HTTP 429)
|
||
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=429 msg=请求过于频繁,请稍后再试 (HTTP 429)
|
||
e2e_advanced_test.go:512: goroutine 5: 注册失败 idx=5: code=1001 msg=SQL logic error: no such table: users (1) (HTTP 400)
|
||
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=1001 msg=SQL logic error: no such table: users (1) (HTTP 400)
|
||
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:54:34 POST /api/v1/auth/register | status: 200 | latency: 64.586ms | 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:54:34 POST /api/v1/auth/login | status: 200 | latency: 65.6296ms | 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:54:34 GET /api/v1/auth/userinfo | status: 200 | latency: 1.0077ms | 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:54:34 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:54:34 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:54:34 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:586: ✅ 6. 登出成功
|
||
e2e_advanced_test.go:588: 🎉 完整认证生命周期测试通过:注册→登录→获取信息→刷新Token→验证→登出
|
||
--- PASS: TestE2EFullAuthCycle (0.14s)
|
||
=== RUN TestE2EHealthAndMetrics
|
||
=== RUN TestE2EHealthAndMetrics/健康检查
|
||
[API] 2026-03-16 17:54:34 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:54:34 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:54:34 POST /api/v1/auth/register | status: 200 | latency: 65.6384ms | 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:54:34 POST /api/v1/auth/login | status: 200 | latency: 64.9918ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
e2e_test.go:185: 登录成功,access_token 长度=281
|
||
[API] 2026-03-16 17:54:34 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:54:34 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:54:34 POST /api/v1/auth/register | status: 200 | latency: 64.818ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:34 POST /api/v1/auth/login | status: 401 | latency: 68.822ms | 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:54:34 POST /api/v1/auth/login | status: 401 | latency: 0s | 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:54:34 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:54:34 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:54:34 POST /api/v1/auth/register | status: 200 | latency: 66.4551ms | 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=a384af5cafc0667478b52a7b70f3f5b69e2dd88b285f0218e8b8acc3c2cbf849
|
||
[API] 2026-03-16 17:54:34 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.08s)
|
||
=== RUN TestE2ECaptcha
|
||
[API] 2026-03-16 17:54:34 GET /api/v1/auth/captcha | status: 200 | latency: 1.0395ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
e2e_test.go:322: 验证码生成成功,captcha_id=1773654874483681700-e799df67ca0d84382faa7b18553389da
|
||
[API] 2026-03-16 17:54:34 GET /api/v1/auth/captcha/image | status: 200 | latency: 1.0243ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[Query] /api/v1/auth/captcha/image?captcha_id=1773654874483681700-e799df67ca0d84382faa7b18553389da
|
||
e2e_test.go:329: 验证码图片获取成功
|
||
--- PASS: TestE2ECaptcha (0.01s)
|
||
=== RUN TestE2EConcurrentLogin
|
||
[API] 2026-03-16 17:54:34 POST /api/v1/auth/register | status: 200 | latency: 68.4045ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:34 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:54:34 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:54:34 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:54:34 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:54:34 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:54:34 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:54:34 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:54:34 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:54:34 POST /api/v1/auth/login | status: 429 | latency: 35µs | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:34 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:54:34 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:54:34 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:54:34 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:54:34 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:54:34 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:54:34 POST /api/v1/auth/login | status: 401 | latency: 1.0961ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
[API] 2026-03-16 17:54:34 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:54:34 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:54:34 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:54:34 POST /api/v1/auth/login | status: 200 | latency: 66.2993ms | ip: 127.0.0.1 | user_id: <nil> | ua: Go-http-client/1.1
|
||
e2e_test.go:384: 并发登录结果: 成功=1 失败=19 总耗时=67.4003ms 平均=5.138695ms
|
||
--- PASS: TestE2EConcurrentLogin (0.14s)
|
||
FAIL
|
||
FAIL github.com/user-management-system/internal/e2e 7.121s
|
||
FAIL
|