# 房内猜拳本地真实 IM 测试 测试文件:`tests/smoke/room_rps_real_im_flow_test.go` ## 作用 - 用本地 gateway 真实 HTTP 接口跑房内猜拳流程。 - 通过 `/api/v1/auth/account/quick-create` 自动创建发起人和应战人。 - 用真实腾讯 IM REST 确保房间群、导入两个账号、发送一条 `TIMCustomElem` 探针消息。 - 不使用 fake client,不伪造 access token,不伪造 IM 成功。 ## 前置 - 本地 gateway 地址默认:`http://127.0.0.1:13000/api/v1` - 本地 gateway、game-service、user-service 已启动。 - game-service 启动时需要带 `TENCENT_IM_SDK_APP_ID`、`TENCENT_IM_SECRET_KEY`、`TENCENT_IM_ADMIN_IDENTIFIER`,这样创建和应战接口会真实投递 IM。 - 不传 `ROOM_RPS_ROOM_ID` 时,测试会自动创建 `room-rps-real-im-时间戳` 临时群。 - 不传 `ROOM_RPS_GIFT_ID` 时,使用默认已开启礼物 `10001`。 - 腾讯 IM 配置必须和本地 gateway 使用同一个 SDKAppID。 ## 命令 ```bash ROOM_RPS_REAL_IM_FLOW_TEST=1 \ ROOM_RPS_BASE_URL=http://127.0.0.1:13000/api/v1 \ ROOM_RPS_APP_CODE=lalu \ TENCENT_IM_SDK_APP_ID=1400000000 \ TENCENT_IM_SECRET_KEY='' \ TENCENT_IM_ADMIN_IDENTIFIER=administrator \ TENCENT_IM_ENDPOINT=adminapisgp.im.qcloud.com \ go test ./tests/smoke -run TestRoomRPSLocalHTTPFlowWithRealTencentIM -count=1 -v ``` ## 返回判断 - 通过:本地 HTTP 流程完成,真实腾讯 IM 探针消息发送成功,game-service 创建和应战 IM 投递成功,发起人和应战人返回头像昵称。 - 失败并提示腾讯 IM 错误:先检查 SDKAppID、SecretKey、管理员账号、endpoint 和 GroupID。 ## 清理 默认会清理自动创建的 `room-rps-real-im-` 临时群。 如果传入真实房间群,不要开启清理;可以显式加: ```bash ROOM_RPS_CLEANUP_IM_GROUP=0 ```