refactor: reorganize modules and add Linux build tooling

This commit is contained in:
2026-08-09 12:41:08 +08:00
parent 86024fa81d
commit 5cc5fd92ed
1461 changed files with 4054 additions and 4724 deletions

View File

@@ -0,0 +1,167 @@
//go:build integration
package test
import (
"bytes"
"encoding/json"
"fmt"
"io"
"mime/multipart"
"net/http"
"os"
"testing"
)
type PushData struct {
uploaderUrl string
fileName string
bucket string
ossName string
purpose string
}
// 华为
var ossData = PushData{
uploaderUrl: "http://127.0.0.1:12214/fts/Transfer/Uploader",
fileName: "hello.txt",
bucket: "makw-cdn-file",
ossName: "huawei",
purpose: "uploader", //文件夹名称(用途)
}
// minio
//var ossData = PushData{
// uploaderUrl: "http://127.0.0.1:12214/fts/Transfer/Uploader",
// fileName: "hello.txt",
// bucket: "uploader",
// ossName: "minio",
// purpose: "uploader",
//}
var token = os.Getenv("BSM_FTS_TOKEN")
//var token = ""
func postFile(ossName, filename, bucket, key string) (string, *bytes.Buffer) {
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
_ = writer.WriteField("provider", ossName)
_ = writer.WriteField("bucket", bucket)
_ = writer.WriteField("purpose", key)
uploadWriter, _ := writer.CreateFormFile("file", filename)
fileData, _ := os.Open(filename)
defer fileData.Close()
io.Copy(uploadWriter, fileData)
_ = writer.Close()
return writer.FormDataContentType(), body
}
// 测试上传请求
func TestUploader(t *testing.T) {
// 组装请求内容
contextType, body := postFile(ossData.ossName, ossData.fileName, ossData.bucket, ossData.purpose)
//fmt.Println(body.String())
req, err := http.NewRequest("POST", ossData.uploaderUrl, body)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", contextType)
req.Header.Set("Authorization", token)
// 发起请求
client := &http.Client{}
resp, err := client.Do(req)
//resp, err := http.Post(ossData.uploaderUrl, context, body)
if err != nil {
panic(err)
}
content, err := io.ReadAll(resp.Body)
defer resp.Body.Close()
fmt.Printf("%s", content)
}
// allows 获取传输配置信息
func TestGetConfig(t *testing.T) {
resp, err := http.Get("http://127.0.0.1:12214/fts/Get/Config")
if err != nil {
panic(err)
}
content, err := io.ReadAll(resp.Body)
defer resp.Body.Close()
fmt.Printf("%s", content)
}
// 闪传
func TestPrepare(t *testing.T) {
var data = map[string]string{
"hash": "04d6af2bff8ae74b7ac7d42b56a5ca795f56a4d00f4f4229fdae3561d46b912c",
"file_name": "xx.png",
}
jsonData, _ := json.Marshal(data)
var body = bytes.NewBuffer([]byte(jsonData))
fmt.Println(body)
resp, err := http.Post("http://127.0.0.1:12214/fts/Transfer/Prepare", "application/json", body)
if err != nil {
panic(err)
}
content, err := io.ReadAll(resp.Body)
fmt.Printf("%s", content)
}
// 列表
func TestList(t *testing.T) {
// 组装请求内容
var data = map[string]int{
"size": 2,
//"page": 33,
}
jsonData, _ := json.Marshal(data)
var body = bytes.NewBuffer(jsonData)
fmt.Println(body)
req, err := http.NewRequest("POST", "http://127.0.0.1:12214/fts/Transfer/FileList", body)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", token)
// 发起请求
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
content, err := io.ReadAll(resp.Body)
defer resp.Body.Close()
fmt.Printf("%s", content)
}
// 详情
func TestDetails(t *testing.T) {
// 组装请求内容
var data = map[string]string{
"identity": "5fc04e7f-1b82-4069-9ea7-c29414722e98",
//"file_name": "hello.txt",
}
jsonData, _ := json.Marshal(data)
var body = bytes.NewBuffer([]byte(jsonData))
req, err := http.NewRequest("POST", "http://127.0.0.1:12214/fts/Transfer/Details", body)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", token)
// 发起请求
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
content, err := io.ReadAll(resp.Body)
defer resp.Body.Close()
fmt.Printf("%s", content)
}