Browse Source

test lint fixed

pull/195/head
yedf2 4 years ago
parent
commit
e81b800207
  1. 2
      .golangci.yml
  2. 5
      test/busi/barrier.go
  3. 6
      test/busi/base_grpc.go
  4. 16
      test/busi/base_http.go
  5. 8
      test/busi/base_types.go
  6. 4
      test/busi/busi.go
  7. 6
      test/busi/quick_start.go
  8. 6
      test/busi/utils.go
  9. 8
      test/dtmsvr_test.go
  10. 3
      test/main_test.go
  11. 1
      test/saga_grpc_test.go
  12. 12
      test/types.go
  13. 2
      test/xa_test.go

2
.golangci.yml

@ -1,7 +1,7 @@
run:
deadline: 5m
skip-dirs:
- test
# - test
# - bench
linter-settings:

5
test/busi/barrier.go

@ -11,6 +11,7 @@ import (
"database/sql"
"github.com/dtm-labs/dtm/dtmcli"
"github.com/dtm-labs/dtm/dtmsvr/config"
"github.com/dtm-labs/dtm/dtmutil"
"github.com/gin-gonic/gin"
emptypb "google.golang.org/protobuf/types/known/emptypb"
@ -87,7 +88,7 @@ func init() {
if req.TransOutResult != "" {
return dtmcli.String2DtmError(req.TransOutResult)
}
if req.Store == "redis" {
if req.Store == config.Redis {
return MustBarrierFromGin(c).RedisCheckAdjustAmount(RedisGet(), getRedisAccountKey(TransOutUID), req.Amount, 7*86400)
}
@ -96,7 +97,7 @@ func init() {
})
}))
app.POST(BusiAPI+"/TccBTransOutConfirm", dtmutil.WrapHandler2(func(c *gin.Context) interface{} {
if reqFrom(c).Store == "redis" {
if reqFrom(c).Store == config.Redis {
return nil
}
return MustBarrierFromGin(c).Call(txGet(), func(tx *sql.Tx) error {

6
test/busi/base_grpc.go

@ -27,13 +27,13 @@ import (
)
// BusiGrpc busi service grpc address
var BusiGrpc string = fmt.Sprintf("localhost:%d", BusiGrpcPort)
var BusiGrpc = fmt.Sprintf("localhost:%d", BusiGrpcPort)
// DtmClient grpc client for dtm
var DtmClient dtmgpb.DtmClient = nil
var DtmClient dtmgpb.DtmClient
// XaGrpcClient XA client connection
var XaGrpcClient *dtmgrpc.XaGrpcClient = nil
var XaGrpcClient *dtmgrpc.XaGrpcClient
func init() {
setupFuncs["XaGrpcSetup"] = func(app *gin.Engine) {

16
test/busi/base_http.go

@ -35,14 +35,17 @@ type setupFunc func(*gin.Engine)
var setupFuncs = map[string]setupFunc{}
// Busi busi service url prefix
var Busi string = fmt.Sprintf("http://localhost:%d%s", BusiPort, BusiAPI)
var Busi = fmt.Sprintf("http://localhost:%d%s", BusiPort, BusiAPI)
var XaClient *dtmcli.XaClient = nil
// XaClient 1
var XaClient *dtmcli.XaClient
// SleepCancelHandler 1
type SleepCancelHandler func(c *gin.Context) interface{}
var sleepCancelHandler SleepCancelHandler = nil
var sleepCancelHandler SleepCancelHandler
// SetSleepCancelHandler 1
func SetSleepCancelHandler(handler SleepCancelHandler) {
sleepCancelHandler = handler
}
@ -74,8 +77,9 @@ func BaseAppStartup() *gin.Engine {
v(app)
}
logger.Debugf("Starting busi at: %d", BusiPort)
go app.Run(fmt.Sprintf(":%d", BusiPort))
go func() {
_ = app.Run(fmt.Sprintf(":%d", BusiPort))
}()
return app
}
@ -154,7 +158,7 @@ func BaseAddRoute(app *gin.Engine) {
if reqFrom(c).TransOutResult == dtmcli.ResultFailure {
return dtmcli.ErrFailure
}
var dia gorm.Dialector = nil
var dia gorm.Dialector
if dtmcli.GetCurrentDBType() == dtmcli.DBTypeMysql {
dia = mysql.New(mysql.Config{Conn: db})
} else if dtmcli.GetCurrentDBType() == dtmcli.DBTypePostgres {

8
test/busi/base_types.go

@ -15,6 +15,7 @@ import (
"github.com/gin-gonic/gin"
)
// BusiConf 1
var BusiConf = dtmcli.DBConf{
Driver: "mysql",
Host: "localhost",
@ -22,17 +23,20 @@ var BusiConf = dtmcli.DBConf{
User: "root",
}
// UserAccount 1
type UserAccount struct {
UserId int
UserID int
Balance string
TradingBalance string
}
// TableName 1
func (*UserAccount) TableName() string {
return "dtm_busi.user_account"
}
func GetBalanceByUid(uid int, store string) int {
// GetBalanceByUID 1
func GetBalanceByUID(uid int, store string) int {
if store == "redis" {
rd := RedisGet()
accA, err := rd.Get(rd.Context(), getRedisAccountKey(uid)).Result()

4
test/busi/busi.go

@ -13,7 +13,10 @@ import (
status "google.golang.org/grpc/status"
)
// TransOutUID 1
const TransOutUID = 1
// TransInUID 2
const TransInUID = 2
func handleGrpcBusiness(in *BusiReq, result1 string, result2 string, busi string) error {
@ -58,6 +61,7 @@ func sagaGrpcAdjustBalance(db dtmcli.DB, uid int, amount int64, result string) e
return err
}
// SagaAdjustBalance 1
func SagaAdjustBalance(db dtmcli.DB, uid int, amount int, result string) error {
if strings.Contains(result, dtmcli.ResultFailure) {
return dtmcli.ErrFailure

6
test/busi/quick_start.go

@ -24,14 +24,18 @@ const qsBusiPort = 8082
var qsBusi = fmt.Sprintf("http://localhost:%d%s", qsBusiPort, qsBusiAPI)
// QsStartSvr quick start: start server
func QsStartSvr() {
app := dtmutil.GetGinApp()
qsAddRoute(app)
logger.Infof("quick start examples listening at %d", qsBusiPort)
go app.Run(fmt.Sprintf(":%d", qsBusiPort))
go func() {
_ = app.Run(fmt.Sprintf(":%d", qsBusiPort))
}()
time.Sleep(100 * time.Millisecond)
}
// QsFireRequest quick start: fire request
func QsFireRequest() string {
req := &gin.H{"amount": 30} // 微服务的载荷
// DtmServer为DTM服务的地址

6
test/busi/utils.go

@ -79,8 +79,8 @@ func SetGrpcHeaderForHeadersYes(ctx context.Context, method string, req, reply i
return invoker(ctx, method, req, reply, cc, opts...)
}
// SetHttpHeaderForHeadersYes interceptor to set head for HeadersYes
func SetHttpHeaderForHeadersYes(c *resty.Client, r *resty.Request) error {
// SetHTTPHeaderForHeadersYes interceptor to set head for HeadersYes
func SetHTTPHeaderForHeadersYes(c *resty.Client, r *resty.Request) error {
if b, ok := r.Body.(*dtmcli.Saga); ok && strings.HasSuffix(b.Gid, "HeadersYes") {
logger.Debugf("set test_header for url: %s", r.URL)
r.SetHeader("test_header", "yes")
@ -121,6 +121,7 @@ var (
once sync.Once
)
// RedisGet 1
func RedisGet() *redis.Client {
once.Do(func() {
logger.Debugf("connecting to client redis")
@ -133,6 +134,7 @@ func RedisGet() *redis.Client {
return rdb
}
// SetRedisBothAccount 1
func SetRedisBothAccount(accountA int, accountB int) {
rd := RedisGet()
_, err := rd.Set(rd.Context(), getRedisAccountKey(TransOutUID), accountA, 0).Result()

8
test/dtmsvr_test.go

@ -12,6 +12,7 @@ import (
"github.com/dtm-labs/dtm/dtmcli/dtmimp"
"github.com/dtm-labs/dtm/dtmsvr"
"github.com/dtm-labs/dtm/dtmsvr/config"
"github.com/dtm-labs/dtm/dtmutil"
"github.com/dtm-labs/dtm/test/busi"
"github.com/stretchr/testify/assert"
@ -34,13 +35,8 @@ func getBranchesStatus(gid string) []string {
return status
}
func assertSucceed(t *testing.T, gid string) {
waitTransProcessed(gid)
assert.Equal(t, StatusSucceed, getTransStatus(gid))
}
func TestUpdateBranchAsync(t *testing.T) {
if conf.Store.Driver != "mysql" {
if conf.Store.Driver != config.Mysql {
return
}
conf.UpdateBranchSync = 0

3
test/main_test.go

@ -37,7 +37,7 @@ func TestMain(m *testing.M) {
conf.UpdateBranchSync = 1
dtmgrpc.AddUnaryInterceptor(busi.SetGrpcHeaderForHeadersYes)
dtmcli.GetRestyClient().OnBeforeRequest(busi.SetHttpHeaderForHeadersYes)
dtmcli.GetRestyClient().OnBeforeRequest(busi.SetHTTPHeaderForHeadersYes)
dtmcli.GetRestyClient().OnAfterResponse(func(c *resty.Client, resp *resty.Response) error { return nil })
tenv := os.Getenv("TEST_STORE")
@ -68,4 +68,5 @@ func TestMain(m *testing.M) {
close(dtmsvr.TransProcessedTestChan)
gid, more := <-dtmsvr.TransProcessedTestChan
logger.FatalfIf(more, "extra gid: %s in test chan", gid)
os.Exit(0)
}

1
test/saga_grpc_test.go

@ -89,6 +89,7 @@ func TestSagaGrpcEmptyUrl(t *testing.T) {
assert.Equal(t, StatusSucceed, getTransStatus(saga.Gid))
}
//nolint: unparam
func genSagaGrpc(gid string, outFailed bool, inFailed bool) *dtmgrpc.SagaGrpc {
saga := dtmgrpc.NewSagaGrpc(dtmutil.DefaultGrpcServer, gid)
req := busi.GenBusiReq(30, outFailed, inFailed)

12
test/types.go

@ -84,21 +84,21 @@ const (
)
func getBeforeBalances(store string) []int {
b1 := busi.GetBalanceByUid(busi.TransOutUID, store)
b2 := busi.GetBalanceByUid(busi.TransInUID, store)
b1 := busi.GetBalanceByUID(busi.TransOutUID, store)
b2 := busi.GetBalanceByUID(busi.TransInUID, store)
return []int{b1, b2}
}
func assertSameBalance(t *testing.T, before []int, store string) {
b1 := busi.GetBalanceByUid(busi.TransOutUID, store)
b2 := busi.GetBalanceByUid(busi.TransInUID, store)
b1 := busi.GetBalanceByUID(busi.TransOutUID, store)
b2 := busi.GetBalanceByUID(busi.TransInUID, store)
assert.Equal(t, before[0], b1)
assert.Equal(t, before[1], b2)
}
func assertNotSameBalance(t *testing.T, before []int, store string) {
b1 := busi.GetBalanceByUid(busi.TransOutUID, store)
b2 := busi.GetBalanceByUid(busi.TransInUID, store)
b1 := busi.GetBalanceByUID(busi.TransOutUID, store)
b2 := busi.GetBalanceByUID(busi.TransInUID, store)
assert.NotEqual(t, before[0], b1)
assert.Equal(t, before[0]+before[1], b1+b2)
}

2
test/xa_test.go

@ -108,7 +108,7 @@ func TestXaNotTimeout(t *testing.T) {
cronTransOnceForwardNow(0) // not timeout,
timeoutChan <- 0
}()
_ = <-timeoutChan
<-timeoutChan
req := busi.GenTransReq(30, false, false)
_, err := xa.CallBranch(req, busi.Busi+"/TransOutXa")
assert.Nil(t, err)

Loading…
Cancel
Save