Merge branch 'develop' of https://gitee.com/fusenpack/fusenapi into develop
This commit is contained in:
154
utils/fstests/basic.go
Normal file
154
utils/fstests/basic.go
Normal file
@@ -0,0 +1,154 @@
|
||||
package fstests
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/474420502/requests"
|
||||
)
|
||||
|
||||
func GetEtcYamlPathAuto() string {
|
||||
var currentFilePath string
|
||||
var ok bool
|
||||
for i := 1; i < 4; i++ {
|
||||
_, currentFilePath, _, ok = runtime.Caller(i)
|
||||
if !ok {
|
||||
panic("Error: Unable to get the current file path.")
|
||||
|
||||
}
|
||||
dirs := strings.Split(currentFilePath, "/")
|
||||
if dirs[len(dirs)-2] != "fstests" {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
curdir, err := filepath.Abs(currentFilePath)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
||||
}
|
||||
|
||||
curdir = filepath.Dir(curdir)
|
||||
var limitCount = 10
|
||||
finfo, err := os.Stat(curdir + "/etc")
|
||||
for err != nil || !finfo.IsDir() {
|
||||
curdir = filepath.Dir(curdir)
|
||||
finfo, err = os.Stat(curdir + "/etc")
|
||||
limitCount--
|
||||
if limitCount <= 0 {
|
||||
panic("out limit")
|
||||
}
|
||||
}
|
||||
lidx := strings.LastIndex(curdir, "/")
|
||||
|
||||
return fmt.Sprintf("%s/etc/%s.yaml", curdir, curdir[lidx+1:])
|
||||
|
||||
}
|
||||
|
||||
func GetCurrentServiceName() string {
|
||||
_, currentFilePath, _, ok := runtime.Caller(1)
|
||||
if !ok {
|
||||
panic("Error: Unable to get the current file path.")
|
||||
|
||||
}
|
||||
|
||||
curdir, err := filepath.Abs(currentFilePath)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
||||
}
|
||||
|
||||
curdir = filepath.Dir(curdir)
|
||||
var limitCount = 10
|
||||
finfo, err := os.Stat(curdir + "/etc")
|
||||
for err != nil || !finfo.IsDir() {
|
||||
curdir = filepath.Dir(curdir)
|
||||
finfo, err = os.Stat(curdir + "/etc")
|
||||
limitCount--
|
||||
if limitCount <= 0 {
|
||||
panic("out limit")
|
||||
}
|
||||
}
|
||||
lidx := strings.LastIndex(curdir, "/")
|
||||
// log.Println(curdir[lidx+1:])
|
||||
return curdir[lidx+1:]
|
||||
}
|
||||
|
||||
func GetSesssion() *requests.Session {
|
||||
ses := requests.NewSession()
|
||||
return ses
|
||||
}
|
||||
|
||||
func GetSessionWithUserToken(t *testing.T, server requests.ITestServer, Host string, Port int) *requests.Session {
|
||||
ses := requests.NewSession()
|
||||
tp := ses.Post(fmt.Sprintf("http://%s:%d/user/login", Host, Port))
|
||||
tp.SetBodyJson(map[string]interface{}{
|
||||
"name": "9107058@qq.com",
|
||||
"pwd": "$2y$13$2y4O4OIz/zcK5C0vlSc9LuSpjWySjInLBSe49yDkE.iURb.R1hDsy",
|
||||
})
|
||||
resp, err := tp.TestExecute(server)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
result := resp.Json()
|
||||
code := result.Get("code").Int()
|
||||
if code != 200 {
|
||||
t.Error("code is not 200")
|
||||
}
|
||||
|
||||
token := result.Get("data.token")
|
||||
if !token.Exists() {
|
||||
t.Error("data.token is not exists")
|
||||
}
|
||||
ses.Header.Add("Authorization", token.String())
|
||||
|
||||
return ses
|
||||
}
|
||||
|
||||
func GetBackendSessionWithUserToken(t *testing.T, server requests.ITestServer, Host string, Port int) *requests.Session {
|
||||
ses := requests.NewSession()
|
||||
tp := ses.Post(fmt.Sprintf("http://%s:%d/backend-user/login", Host, Port))
|
||||
tp.SetBodyJson(map[string]interface{}{
|
||||
"name": "admin@admin.com",
|
||||
"pwd": "ZnVzZW5fYmFja2VuZF8yMDIz47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU=",
|
||||
})
|
||||
resp, err := tp.TestExecute(server)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
result := resp.Json()
|
||||
code := result.Get("code").Int()
|
||||
if code != 200 {
|
||||
t.Error("code is not 200")
|
||||
}
|
||||
|
||||
token := result.Get("data.token")
|
||||
if !token.Exists() {
|
||||
t.Error("data.token is not exists")
|
||||
}
|
||||
ses.Header.Add("Authorization", token.String())
|
||||
|
||||
return ses
|
||||
}
|
||||
|
||||
func GetSesssionWithGuestToken(t *testing.T, server requests.ITestServer, Host string, Port int) *requests.Session {
|
||||
ses := requests.NewSession()
|
||||
tp := ses.Post(fmt.Sprintf("http://%s:%d/accept/cookie", Host, Port))
|
||||
|
||||
resp, err := tp.TestExecute(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
|
||||
}
|
||||
Reference in New Issue
Block a user