package logic_test import ( "flag" "fmt" "fusenapi/server/home-user-auth/internal/config" "fusenapi/server/home-user-auth/internal/handler" "fusenapi/server/home-user-auth/internal/svc" "testing" "github.com/474420502/requests" "github.com/zeromicro/go-zero/core/conf" "github.com/zeromicro/go-zero/rest" ) var testConfigFile = flag.String("f", "../etc/home-user-auth.yaml", "the config file") var cnf config.Config var gserver *rest.Server func init() { gserver = GetTestServer() } func GetTestServer() *rest.Server { flag.Parse() conf.MustLoad(*testConfigFile, &cnf) server := rest.MustNewServer(cnf.RestConf) defer server.Stop() ctx := svc.NewServiceContext(cnf) handler.RegisterHandlers(server, ctx) fmt.Printf("Starting server at %s:%d...\n", cnf.Host, cnf.Port) return server } func GetSesssionWithJwtToken(t *testing.T, server requests.ITestServer) *requests.Session { ses := requests.NewSession() tp := ses.Post(fmt.Sprintf("http://%s:%d/user/login", cnf.Host, cnf.Port)) tp.SetBodyJson(map[string]interface{}{ "name": "devenv@sina.cn", "pwd": "$2y$13$6UFDMZQMEfqFYiNLpiUCi.B3fpvGEamPAjIgzUqv/u7jT05nB3pOC", }) resp, err := tp.TestInServer(server) if err != nil { t.Error(err) } result := resp.Json() token := result.Get("data.token") if !token.Exists() { t.Error("data.token is not exists") } ses.Header.Add("Authorization", token.String()) return ses }