63 lines
1.9 KiB
Go
63 lines
1.9 KiB
Go
package services
|
||
|
||
import (
|
||
"context"
|
||
"encoding/json"
|
||
"testing"
|
||
"tyapi-server/internal/application/api/commands"
|
||
)
|
||
|
||
// 基础测试结构体
|
||
type apiRequestServiceTestSuite struct {
|
||
t *testing.T
|
||
ctx context.Context
|
||
service *ApiRequestService
|
||
}
|
||
|
||
// 初始化测试套件
|
||
func newApiRequestServiceTestSuite(t *testing.T) *apiRequestServiceTestSuite {
|
||
// 这里可以初始化依赖的mock或fake对象
|
||
// 例如:mockProcessorDeps := &MockProcessorDeps{}
|
||
// service := &ApiRequestService{processorDeps: mockProcessorDeps}
|
||
// 这里只做基础架构,具体mock实现后续补充
|
||
return &apiRequestServiceTestSuite{
|
||
t: t,
|
||
ctx: context.Background(),
|
||
service: nil, // 这里后续可替换为实际service或mock
|
||
}
|
||
}
|
||
|
||
// 示例:测试PreprocessRequestApi方法(仅结构,具体mock和断言后续补充)
|
||
func TestApiRequestService_PreprocessRequestApi(t *testing.T) {
|
||
suite := newApiRequestServiceTestSuite(t)
|
||
|
||
// 假设有一个mock processor和注册
|
||
// RequestProcessors = map[string]processors.ProcessorFunc{
|
||
// "MOCKAPI": func(ctx context.Context, params []byte, deps interface{}) ([]byte, error) {
|
||
// return []byte("ok"), nil
|
||
// },
|
||
// }
|
||
|
||
// 这里仅做结构示例
|
||
apiCode := "QYGL23T7"
|
||
params := map[string]string{
|
||
"code": "91460000MAE471M58X",
|
||
"name": "海南天远大数据科技有限公司",
|
||
"legalPersonName": "刘福思",
|
||
}
|
||
paramsByte, err := json.Marshal(params)
|
||
if err != nil {
|
||
t.Fatalf("参数序列化失败: %v", err)
|
||
}
|
||
options := commands.ApiCallOptions{} // 实际应为*commands.ApiCallOptions
|
||
|
||
// 由于service为nil,这里仅做断言结构示例
|
||
if suite.service != nil {
|
||
resp, err := suite.service.PreprocessRequestApi(suite.ctx, apiCode, paramsByte, &options)
|
||
if err != nil {
|
||
t.Errorf("PreprocessRequestApi 调用出错: %v", err)
|
||
}
|
||
t.Logf("PreprocessRequestApi 返回结果: %s", string(resp))
|
||
}
|
||
}
|