8
0
gaore-common-sdk-go/services/passport/client_test.go
huangqz 15a1fb19eb feat(passport): 新增修改/清除用户手机号接口 EditPhone
封装 weedong.php 的 edit_phone 动作,更新分表 user_X 的 telephone(phone 传空字符串即清除手机号),远端返回 ok 即成功。
2026-06-11 15:14:40 +08:00

277 lines
6.7 KiB
Go
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.

package passport
import (
"fmt"
"testing"
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
)
// 单元测试
func TestGetUserList(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
}
req := CreateGetUserListRequest("ws45265737")
resp, err := client.GetUserList(req)
if err != nil {
t.Error(err)
}
t.Logf("resp code:%+v", resp.Code)
t.Logf("resp data:%+v", resp.Data)
}
func TestGetUserRoleList(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
}
// 不限定角色
//req := CreateGetUserRoleListRequest(221016372, 7874, 0, "")
// 限定角色
req := CreateGetUserRoleListRequest(221016372, 7874, 265500390, "勇闯关东")
resp, err := client.GetUserRoleList(req)
if err != nil {
t.Error(err)
}
t.Logf("resp code:%+v", resp.Code)
t.Logf("resp data:%+v", resp.Data)
}
func TestGetUserRoleList2(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
}
// 不限定角色
//req := CreateGetUserRoleListRequest(221016372, 7874, 0, "")
// 限定角色
req := CreateGetUserRoleListRequest2(GetUserRoleListParam{
Uid: 0,
Username: "rz35990497",
GameIds: "7866,7873,7874,7875,7934",
RoleId: 0,
RoleServer: "",
})
resp, err := client.GetUserRoleList(req)
if err != nil {
t.Error(err)
}
t.Logf("resp code:%+v", resp.Code)
t.Logf("resp data:%+v", resp.Data)
}
func TestEditCard(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
}
editCardRequest := EditCardRequestParam{
Uid: 32455414,
GameId: 5010,
Imei: "11111111",
IsReal: 0,
DirectStatus: 1,
AuthChannel: "gjfcm_wzcq",
DirectExtData: "测试测试测试",
Pi: "",
Ip: "",
Ipv6: "",
UserName: "asfasfd",
RealName: "这艘啊",
IdCard: "33032419950123532X",
Mandatory: "3123123123",
}
editCardResponse, err := client.EditCard(editCardRequest)
t.Logf("%v", editCardResponse)
}
// 测试获取用户登录过的游戏大类
func TestGetUserGameSign(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
}
req := CreateGetUserGameSignRequest("oo70683572", "", "")
resp, err := client.GetUserGameSign(req)
if err != nil {
t.Error(err)
}
t.Logf("resp code:%+v", resp.Code)
t.Logf("resp data:%+v", resp.Data)
}
// 测试用户修改密码
func TestChangePassword(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
}
req := CreateChangePasswordRequest("rz35990497", "7654321")
resp, err := client.ChangePassword(req)
if err != nil {
t.Error(err)
}
// 记录文本结果
t.Logf("resp code:%+v, msg:%s", resp.Code, resp.Msg)
}
// 测试修改用户状态
func TestUpdateUserState(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
}
req := CreateUpdateUserStateRequest("masterpan", 0, 2)
resp, err := client.UpdateUserState(req)
if err != nil {
t.Error(err)
}
// 记录文本结果
t.Logf("resp code:%+v, msg:%s", resp.Code, resp.Msg)
}
// 测试获取用户注册信息
func TestGetUserRegInfo(t *testing.T) {
req := CreateGetUserRegInfoRequest("xc21225964")
if err := requests.InitParam(req); err != nil {
t.Error(err)
return
}
if req.GetMethod() != requests.POST || req.GetActionName() != "/remote_login.php" {
t.Errorf("get user reg info req: method=%s path=%s", req.GetMethod(), req.GetActionName())
return
}
if req.GetFormParams()["act"] != "info" {
t.Errorf("unexpected act param: %q", req.GetFormParams()["act"])
return
}
if req.GetFormParams()["do"] != "get_user_reg_info" {
t.Errorf("unexpected do param: %q", req.GetFormParams()["do"])
return
}
if req.GetFormParams()["user_name"] != "xc21225964" {
t.Errorf("unexpected user_name param: %q", req.GetFormParams()["user_name"])
return
}
if req.GetFormParams()["time"] == "" || req.GetFormParams()["sign"] == "" {
t.Errorf("unexpected sign params: time=%q sign=%q", req.GetFormParams()["time"], req.GetFormParams()["sign"])
return
}
client, err := NewClient()
if err != nil {
t.Error(err)
return
}
resp, err := client.GetUserRegInfo(req)
if err != nil {
if resp != nil {
fmt.Printf("%s\n", resp.GetHttpContentString())
fmt.Printf("%#+v\n", resp)
}
t.Error(err)
return
}
if resp == nil {
t.Errorf("get user reg info response is nil")
return
}
if resp.Code != 1 || resp.Msg != "获取成功" || resp.Data.RegTime <= 0 {
t.Errorf("get user reg info response: code=%d msg=%s data=%+v", resp.Code, resp.Msg, resp.Data)
fmt.Printf("%#+v\n", resp)
return
}
fmt.Printf("%#+v\n", resp)
fmt.Printf("%#+v\n", resp.Data)
}
// 测试通过用户名查询 uid
func TestGetUserId(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
return
}
req := CreateGetUserIdRequest("qy13815523")
resp, err := client.GetUserId(req)
if err != nil {
t.Error(err)
return
}
data, err := resp.GetData()
if err != nil {
t.Errorf("解析返回数据失败: %v, raw: %s", err, resp.GetHttpContentString())
return
}
fmt.Printf("raw: %s\n", resp.GetHttpContentString())
fmt.Printf("data: %+v\n", data)
}
// 测试清除用户实名信息(演示调用方式)
// 注意:该接口会真实清除账号实名(清空分表 true_name/id_card 并删除 user_real_auth 记录),
// 仅可对测试账号执行,切勿对真实玩家账号运行。
func TestDelUserAuth(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
return
}
// 调用方式:传入待清除实名的玩家账号
param := DelUserAuthRequestParam{
UserName: "pv23669710", // 占位测试账号
}
res, err := client.DelUserAuth(param)
if err != nil {
t.Error(err)
return
}
// 远端返回纯文本,"ok" 表示清除成功
t.Logf("del user auth result: %s", res)
}
// 测试修改/清除用户手机号(演示调用方式)
// 注意phone 传空字符串即清除手机号,会真实修改账号数据,仅可对测试账号执行。
func TestEditPhone(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
return
}
// 调用方式phone 传空串清除手机号,传具体号码则修改为该号码
param := EditPhoneRequestParam{
UserName: "18271216432", // 占位测试账号
Phone: "",
}
res, err := client.EditPhone(param)
if err != nil {
t.Error(err)
return
}
// 远端返回纯文本,"ok" 表示成功
t.Logf("edit phone result: %s", res)
}
// 测试获取用户登陆信息
func TestGetUserLogin(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
return
}
req := CreateGetUserLoginRequest("gr28063399")
resp, err := client.GetUserLogin(req)
if err != nil {
t.Error(err)
return
}
fmt.Printf("raw: %s\n", resp.GetHttpContentString())
fmt.Printf("data: %+v\n, %d", resp.Data, len(resp.Data))
}