package v1 import ( "fmt" "git.sxidc.com/service-supports/dps-sdk" "git.sxidc.com/service-supports/dps-sdk/ports" "github.com/stretchr/testify/assert" "testing" ) var clientInstance ports.Client func initClient(t *testing.T, address string) { client, err := dps.NewClient(address, "v1") if err != nil { t.Fatal(err) } clientInstance = client } func destroyClient(t *testing.T) { err := dps.DestroyClient("v1") if err != nil { t.Fatal(err) } clientInstance = nil } type ToolKit struct { t *testing.T } func newToolKit(t *testing.T) *ToolKit { return &ToolKit{t: t} } func (toolKit *ToolKit) autoMigrate(req *ports.AutoMigrateRequest) *ToolKit { err := clientInstance.AutoMigrate(req) if err != nil { toolKit.t.Fatal(err) } return toolKit } func (toolKit *ToolKit) autoMigrateBatch(req *ports.AutoMigrateBatchRequest) *ToolKit { err := clientInstance.AutoMigrateBatch(req) if err != nil { toolKit.t.Fatal(err) } return toolKit } func (toolKit *ToolKit) transaction(databaseID string, txFunc ports.TransactionFunc) *ToolKit { err := clientInstance.Transaction(databaseID, txFunc) if err != nil { toolKit.t.Fatal(err) } return toolKit } func (toolKit *ToolKit) insert(req *ports.InsertRequest) *ToolKit { statement, err := clientInstance.Insert(req) if err != nil { toolKit.t.Fatal(err) } fmt.Println(statement) return toolKit } func (toolKit *ToolKit) insertBatch(req *ports.InsertBatchRequest) *ToolKit { statement, err := clientInstance.InsertBatch(req) if err != nil { toolKit.t.Fatal(err) } fmt.Println(statement) return toolKit } func (toolKit *ToolKit) delete(req *ports.DeleteRequest) *ToolKit { statement, err := clientInstance.Delete(req) if err != nil { toolKit.t.Fatal(err) } fmt.Println(statement) return toolKit } func (toolKit *ToolKit) deleteBatch(req *ports.DeleteBatchRequest) *ToolKit { statement, err := clientInstance.DeleteBatch(req) if err != nil { toolKit.t.Fatal(err) } fmt.Println(statement) return toolKit } func (toolKit *ToolKit) update(req *ports.UpdateRequest) *ToolKit { statement, err := clientInstance.Update(req) if err != nil { toolKit.t.Fatal(err) } fmt.Println(statement) return toolKit } func (toolKit *ToolKit) reply(req *ports.ReplayRequest) *ToolKit { statement, err := clientInstance.Replay(req) if err != nil { toolKit.t.Fatal(err) } fmt.Println(statement) return toolKit } func (toolKit *ToolKit) queryByWhereAndOrderBy(req *ports.QueryByWhereAndOrderByRequest, retInfosMap *[]map[string]any) *ToolKit { statement, infosMap, totalCount, err := clientInstance.QueryByWhereAndOrderBy(req) if err != nil { toolKit.t.Fatal(err) } toolKit.assertEqual(len(infosMap), int(totalCount), "总数不一致") fmt.Println(statement) if retInfosMap != nil { *retInfosMap = make([]map[string]any, 0) *retInfosMap = infosMap } return toolKit } func (toolKit *ToolKit) commonQuery(req *ports.CommonQueryRequest, retInfosMap *[]map[string]any) *ToolKit { statement, infosMap, totalCount, err := clientInstance.CommonQuery(req) if err != nil { toolKit.t.Fatal(err) } toolKit.assertEqual(len(infosMap), int(totalCount), "总数不一致") fmt.Println(statement) if retInfosMap != nil { *retInfosMap = make([]map[string]any, 0) *retInfosMap = infosMap } return toolKit } func (toolKit *ToolKit) queryByKeys(req *ports.QueryByKeysRequest, retInfoMap *map[string]any) *ToolKit { statement, infoMap, err := clientInstance.QueryByKeys(req) if err != nil { toolKit.t.Fatal(err) } fmt.Println(statement) if retInfoMap != nil { *retInfoMap = make(map[string]any) *retInfoMap = infoMap } return toolKit } func (toolKit *ToolKit) countWhere(req *ports.CountWhereRequest, retCount *int64) *ToolKit { statement, count, err := clientInstance.CountWhere(req) if err != nil { toolKit.t.Fatal(err) } fmt.Println(statement) if retCount != nil { *retCount = count } return toolKit } func (toolKit *ToolKit) commonCount(req *ports.CommonCountRequest, retCount *int64) *ToolKit { statement, count, err := clientInstance.CommonCount(req) if err != nil { toolKit.t.Fatal(err) } fmt.Println(statement) if retCount != nil { *retCount = count } return toolKit } func (toolKit *ToolKit) assertEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) *ToolKit { assert.Equal(toolKit.t, expected, actual, msgAndArgs) return toolKit } func (toolKit *ToolKit) assertNotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) *ToolKit { assert.NotEqual(toolKit.t, expected, actual, msgAndArgs) return toolKit } func (toolKit *ToolKit) assertNotEmpty(object interface{}, msgAndArgs ...interface{}) *ToolKit { assert.NotEmpty(toolKit.t, object, msgAndArgs) return toolKit }