package logic import ( "fmt" "fusenapi/constants" fstests "fusenapi/utils/tests" "testing" "github.com/474420502/requests" "github.com/tidwall/gjson" ) func TestWetSetLogic(t *testing.T) { var err error var resp *requests.Response var result gjson.Result // constants.FONT_CONFIG ? 这个还没有测试的例子 testTypes := []constants.TypeWebSet{constants.POLICY_CONFIG, constants.CLAUSE_CONFIG, constants.FAQ_CONFIG} // 获取 session,并携带 JWT token ses := fstests.GetSesssion() tp := ses.Get(fmt.Sprintf("http://%s:%d/web-set/setting", cnf.Host, cnf.Port)) for _, tType := range testTypes { tp.QueryParam("type").Set(tType) // log.Println(tp.GetRawURL()) // 向服务器发送 GET 请求,获取 cookie 信息 resp, err = tp.TestExecute(gserver) if err != nil { t.Error(err) } // 使用 gjson 解析返回的 json 数据 result = resp.Json() // gjson // log.Println(result) // 检查返回值中的 code 字段是否存在,并且值是否为 200 result = result.Get("code") if !result.Exists() { t.Error("code is not exists") } if result.Int() != 200 { t.Error("code != 200") } // 检查返回值中的 msg 字段是否存在,并且值是否为 "success" result = resp.Json().Get("msg") if !result.Exists() { t.Error("msg is not exists") } if result.String() != "success" { t.Error(result.String()) } // 检查返回值中的 data 字段是否存在 result = resp.Json().Get("data") if !result.Exists() { t.Error("data is not exists") } // 根据data的不同,分别校验 intro := result.Get("introduction") if intro.Exists() { // 如果有introduction,则校验introduction和list if !intro.Exists() { t.Error("introduction is not exists") } list := result.Get("list") if !list.Exists() { t.Error("list is not exists") } // ... } else { // 如果没有introduction,则校验icon、items和title icon := result.Get("icon") if !icon.Exists() { t.Error("icon is not exists") } items := result.Get("items") if !items.Exists() { t.Error("items is not exists") } title := result.Get("title") if !title.Exists() { t.Error("title is not exists") } // ... } } // 检查返回值中的 introduction 字段是否存在 // intro := result.Get("introduction") // if !intro.Exists() { // t.Error("introduction is not exists") // } // // 检查返回值中的 list 数组是否存在 // list := result.Get("list") // if !list.Exists() { // t.Error("list is not exists") // } // // 校验 list 数组中的每个条款 title 和 content 字段是否存在 // for _, item := range list.Array() { // title := item.Get("title") // content := item.Get("content") // if !title.Exists() || !content.Exists() { // t.Error("title or content not exists") // log.Println(result) // continue // } // } }