This commit is contained in:
eson
2023-07-05 19:00:33 +08:00
parent c6005983f8
commit 1c74c0ea4b
24 changed files with 196 additions and 131 deletions

View File

@@ -0,0 +1,41 @@
package test
import (
"fmt"
"fusenapi/server/home-user-auth/test"
"fusenapi/server/upload/internal/config"
"fusenapi/server/upload/internal/handler"
"fusenapi/server/upload/internal/svc"
"fusenapi/utils/fstests"
"log"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/rest"
)
var env = "test"
var testConfigFile = "upload.yaml"
var cnf config.Config
var userServer *rest.Server
var gserver *rest.Server
func init() {
log.SetFlags(log.Llongfile)
userServer = test.GetTestServer()
gserver = GetTestServer()
}
func GetTestServer() *rest.Server {
conf.MustLoad(fstests.GetEtcYamlPathAuto(fstests.GetCurrentServiceName()+".yaml"), &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
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,67 @@
package test
import (
"fmt"
"fusenapi/server/upload/internal/types"
fstests "fusenapi/utils/fstests"
"io/ioutil"
"log"
"testing"
"github.com/474420502/requests"
"github.com/tidwall/gjson"
)
func TestCaseUploadfileFrontend(t *testing.T) {
var err error
var resp *requests.Response
var result gjson.Result
// 获取 session并携带 JWT token
ses := fstests.GetSessionWithUserToken(t, userServer, cnf.Host, cnf.Port)
tp := ses.Post(fmt.Sprintf("http://%s:%d/upload/upload-file-frontend", cnf.Host, cnf.Port))
data, err := ioutil.ReadFile("./fusen.webp")
if err != nil {
t.Error(err)
return
}
req := types.RequestUploadFile{
FileName: "fusen.webp", FileType: "image", FileSize: int64(len(data)),
Category: "personalization",
}
tp.SetBodyJson(req)
// 向服务器发送 GET 请求,获取用户基本信息
resp, err = tp.TestExecute(gserver)
if err != nil {
t.Error(err)
}
result = resp.Json()
if result.Get("code").Int() != 200 {
t.Error("code != 200")
}
if !result.Get("data").Exists() {
t.Error("data not exists")
}
if !result.Get("data.upload_url").Exists() {
t.Error("upload_url not exists")
}
log.Println(result)
uri := result.Get("data.upload_url").String()
tpUpload := requests.NewSession().Put(uri)
tpUpload.SetBodyStream(data)
resp, err = tpUpload.Execute()
if err != nil {
panic(err)
}
log.Println(resp.Json())
}