| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package test
-
- import (
- "bytes"
- "encoding/json"
- "fmt"
- "io"
- "net/http"
- "testing"
-
- "git.x2erp.com/qdy/go-base/config"
- "git.x2erp.com/qdy/go-base/ctx"
- "git.x2erp.com/qdy/go-svc-core/internal/model"
- )
-
- func TestETLConfigAPI_Simple(t *testing.T) {
- fmt.Println("=== 简单POST测试 ===")
-
- // 1. 创建测试数据(赋值)
- etlConfig := model.NewETLConfig(ctx.GetContextTest(), config.AgentDBArchivesId, config.DorisDatabaseName, "a_sku")
-
- sql := `SELECT CLOTHING_ID,CLOTHING_YEAR,CLOTHING_NAME FROM ( SELECT a.*, ROWNUM as rn FROM (
- SELECT CLOTHING_ID,CLOTHING_YEAR,CLOTHING_NAME
- FROM X6_STOCK_DEV.A3_CLOTHING
- ORDER BY CLOTHING_ID
- ) a
- WHERE ROWNUM <= :1
- ) WHERE rn > :2`
-
- etlConfig.AgentFullQuerySQL = sql
-
- fmt.Printf("测试数据: %v\n", etlConfig)
-
- // 2. 转换为JSON
- jsonData, err := json.Marshal(etlConfig)
- if err != nil {
- fmt.Printf("JSON转换错误: %v\n", err)
- return
- }
-
- fmt.Printf("JSON数据: %s\n", string(jsonData))
-
- // 3. 创建POST请求
- url := "http://localhost:9010/api/etl/config" // 你的服务端口
-
- // 创建请求
- req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
- if err != nil {
- fmt.Printf("创建请求失败: %v\n", err)
- return
- }
-
- // 设置请求头
- req.Header.Set("Content-Type", "application/json")
- req.Header.Set("Authorization", "Bearer 123") // 这里放你的真实token
-
- // 创建HTTP客户端并发送请求
- client := &http.Client{}
- resp, err := client.Do(req)
- if err != nil {
- fmt.Printf("POST请求失败: %v\n", err)
- return
- }
- defer resp.Body.Close()
-
- // 4. 读取响应
- body, err := io.ReadAll(resp.Body)
- if err != nil {
- fmt.Printf("读取响应失败: %v\n", err)
- return
- }
-
- // 5. 打印结果
- fmt.Printf("状态码: %d\n", resp.StatusCode)
- fmt.Printf("响应: %s\n", string(body))
- }
|