168 lines
3.9 KiB
Go
168 lines
3.9 KiB
Go
//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)
|
|
}
|