Browse Source

Merge pull request #45 from yedf/alpha

trigger a build
pull/46/head v1.4.0
yedf2 4 years ago
committed by GitHub
parent
commit
07d4be5b66
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      dtmsvr/cron.go
  2. 15
      dtmsvr/utils.go
  3. 1
      go.sum
  4. 4
      test/barrier_saga_test.go
  5. 4
      test/barrier_tcc_test.go
  6. 4
      test/dtmsvr_test.go
  7. 4
      test/grpc_barrier_saga_test.go
  8. 4
      test/grpc_msg_test.go
  9. 10
      test/grpc_saga_test.go
  10. 4
      test/grpc_tcc_test.go
  11. 4
      test/grpc_xa_test.go
  12. 6
      test/msg_test.go
  13. 12
      test/saga_concurrent_test.go
  14. 14
      test/saga_test.go
  15. 4
      test/tcc_test.go
  16. 27
      test/types.go
  17. 8
      test/wait_saga_test.go
  18. 6
      test/xa_test.go

11
dtmsvr/cron.go

@ -16,16 +16,13 @@ var NowForwardDuration time.Duration = time.Duration(0)
var CronForwardDuration time.Duration = time.Duration(0)
// CronTransOnce cron expired trans. use expireIn as expire time
func CronTransOnce() (hasTrans bool) {
func CronTransOnce() (gid string) {
defer handlePanic(nil)
trans := lockOneTrans(CronForwardDuration)
if trans == nil {
return
}
hasTrans = true
if TransProcessedTestChan != nil {
defer WaitTransProcessed(trans.Gid)
}
gid = trans.Gid
trans.WaitResult = true
trans.Process(dbGet())
return
@ -34,8 +31,8 @@ func CronTransOnce() (hasTrans bool) {
// CronExpiredTrans cron expired trans, num == -1 indicate for ever
func CronExpiredTrans(num int) {
for i := 0; i < num || num == -1; i++ {
hasTrans := CronTransOnce()
if !hasTrans && num != 1 {
gid := CronTransOnce()
if gid == "" && num != 1 {
sleepCronTime()
}
}

15
dtmsvr/utils.go

@ -47,21 +47,6 @@ func writeTransLog(gid string, action string, status string, branch string, deta
// TransProcessedTestChan only for test usage. when transaction processed once, write gid to this chan
var TransProcessedTestChan chan string = nil
// WaitTransProcessed only for test usage. wait for transaction processed once
func WaitTransProcessed(gid string) {
dtmcli.Logf("waiting for gid %s", gid)
select {
case id := <-TransProcessedTestChan:
for id != gid {
dtmcli.LogRedf("-------id %s not match gid %s", id, gid)
id = <-TransProcessedTestChan
}
dtmcli.Logf("finish for gid %s", gid)
case <-time.After(time.Duration(time.Second * 3)):
dtmcli.LogFatalf("Wait Trans timeout")
}
}
var gNode *snowflake.Node = nil
func init() {

1
go.sum

@ -428,3 +428,4 @@ gorm.io/gorm v1.21.15/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=

4
test/barrier_saga_test.go

@ -22,7 +22,7 @@ func sagaBarrierNormal(t *testing.T) {
dtmcli.Logf("busi trans submit")
err := saga.Submit()
e2p(err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid))
}
@ -33,6 +33,6 @@ func sagaBarrierRollback(t *testing.T) {
dtmcli.Logf("busi trans submit")
err := saga.Submit()
e2p(err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid))
}

4
test/barrier_tcc_test.go

@ -31,7 +31,7 @@ func tccBarrierRollback(t *testing.T) {
return tcc.CallBranch(&examples.TransReq{Amount: 30, TransInResult: dtmcli.ResultFailure}, Busi+"/TccBTransInTry", Busi+"/TccBTransInConfirm", Busi+"/TccBTransInCancel")
})
assert.Error(t, err)
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid))
}
@ -43,7 +43,7 @@ func tccBarrierNormal(t *testing.T) {
return tcc.CallBranch(&examples.TransReq{Amount: 30}, Busi+"/TccBTransInTry", Busi+"/TccBTransInConfirm", Busi+"/TccBTransInCancel")
})
assert.Nil(t, err)
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(gid))
}

4
test/dtmsvr_test.go

@ -44,7 +44,7 @@ func getBranchesStatus(gid string) []string {
}
func assertSucceed(t *testing.T, gid string) {
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(gid))
}
@ -88,7 +88,7 @@ func TestUpdateBranchAsync(t *testing.T) {
saga.SetOptions(&dtmcli.TransOptions{WaitResult: true})
err := saga.Submit()
assert.Nil(t, err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
time.Sleep(dtmsvr.UpdateBranchAsyncInterval)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid))

4
test/grpc_barrier_saga_test.go

@ -22,7 +22,7 @@ func grpcSagaBarrierNormal(t *testing.T) {
Add(examples.BusiGrpc+"/examples.Busi/TransInBSaga", examples.BusiGrpc+"/examples.Busi/TransInRevertBSaga", req)
err := saga.Submit()
e2p(err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid))
}
@ -33,7 +33,7 @@ func grpcSagaBarrierRollback(t *testing.T) {
Add(examples.BusiGrpc+"/examples.Busi/TransInBSaga", examples.BusiGrpc+"/examples.Busi/TransInRevertBSaga", req)
err := saga.Submit()
e2p(err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid))
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusFailed}, getBranchesStatus(saga.Gid))
}

4
test/grpc_msg_test.go

@ -19,7 +19,7 @@ func grpcMsgNormal(t *testing.T) {
msg := genGrpcMsg("grpc-msg-normal")
err := msg.Submit()
assert.Nil(t, err)
WaitTransProcessed(msg.Gid)
waitTransProcessed(msg.Gid)
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(msg.Gid))
}
@ -33,7 +33,7 @@ func grpcMsgOngoing(t *testing.T) {
examples.MainSwitch.TransInResult.SetOnce(dtmcli.ResultOngoing)
cronTransOnceForwardNow(180)
assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(msg.Gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(msg.Gid))
}

10
test/grpc_saga_test.go

@ -18,7 +18,7 @@ func TestGrpcSaga(t *testing.T) {
func sagaGrpcNormal(t *testing.T) {
saga := genSagaGrpc("gid-sagaGrpcNormal", false, false)
saga.Submit()
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid))
transQuery(t, saga.Gid)
@ -28,9 +28,9 @@ func sagaGrpcCommittedOngoing(t *testing.T) {
saga := genSagaGrpc("gid-committedOngoingGrpc", false, false)
examples.MainSwitch.TransOutResult.SetOnce(dtmcli.ResultOngoing)
saga.Submit()
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid))
}
@ -39,9 +39,9 @@ func sagaGrpcRollback(t *testing.T) {
saga := genSagaGrpc("gid-rollbackSaga2Grpc", false, true)
examples.MainSwitch.TransOutRevertResult.SetOnce(dtmcli.ResultOngoing)
saga.Submit()
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, dtmcli.StatusAborting, getTransStatus(saga.Gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid))
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusFailed}, getBranchesStatus(saga.Gid))
}

4
test/grpc_tcc_test.go

@ -58,8 +58,8 @@ func tccGrpcRollback(t *testing.T) {
return err
})
assert.Error(t, err)
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, dtmcli.StatusAborting, getTransStatus(gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid))
}

4
test/grpc_xa_test.go

@ -51,7 +51,7 @@ func xaGrpcNormal(t *testing.T) {
return err
})
assert.Equal(t, nil, err)
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(gid))
}
@ -68,7 +68,7 @@ func xaGrpcRollback(t *testing.T) {
return err
})
assert.Error(t, err)
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusPrepared}, getBranchesStatus(gid))
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid))
}

6
test/msg_test.go

@ -19,10 +19,10 @@ func msgNormal(t *testing.T) {
msg := genMsg("gid-msg-normal")
msg.Submit()
assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(msg.Gid))
WaitTransProcessed(msg.Gid)
waitTransProcessed(msg.Gid)
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed}, getBranchesStatus(msg.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(msg.Gid))
CronTransOnce()
cronTransOnce()
}
func msgOngoing(t *testing.T) {
@ -37,7 +37,7 @@ func msgOngoing(t *testing.T) {
examples.MainSwitch.TransInResult.SetOnce(dtmcli.ResultOngoing)
cronTransOnceForwardNow(180)
assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(msg.Gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed}, getBranchesStatus(msg.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(msg.Gid))
err = msg.Prepare("")

12
test/saga_concurrent_test.go

@ -28,7 +28,7 @@ func genCSaga(gid string, outFailed bool, inFailed bool) *dtmcli.Saga {
func csagaNormal(t *testing.T) {
csaga := genCSaga("gid-noraml-csaga", false, false)
csaga.Submit()
WaitTransProcessed(csaga.Gid)
waitTransProcessed(csaga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(csaga.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(csaga.Gid))
}
@ -38,9 +38,9 @@ func csagaRollback(t *testing.T) {
examples.MainSwitch.TransOutRevertResult.SetOnce(dtmcli.ResultOngoing)
err := csaga.Submit()
assert.Nil(t, err)
WaitTransProcessed(csaga.Gid)
waitTransProcessed(csaga.Gid)
assert.Equal(t, dtmcli.StatusAborting, getTransStatus(csaga.Gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(csaga.Gid))
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusFailed, dtmcli.StatusSucceed, dtmcli.StatusSucceed}, getBranchesStatus(csaga.Gid))
err = csaga.Submit()
@ -52,7 +52,7 @@ func csagaRollback2(t *testing.T) {
csaga.AddStepOrder(1, []int{0})
err := csaga.Submit()
assert.Nil(t, err)
WaitTransProcessed(csaga.Gid)
waitTransProcessed(csaga.Gid)
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(csaga.Gid))
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusFailed, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(csaga.Gid))
err = csaga.Submit()
@ -63,11 +63,11 @@ func csagaCommittedOngoing(t *testing.T) {
csaga := genCSaga("gid-committed-ongoing-csaga", false, false)
examples.MainSwitch.TransOutResult.SetOnce(dtmcli.ResultOngoing)
csaga.Submit()
WaitTransProcessed(csaga.Gid)
waitTransProcessed(csaga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(csaga.Gid))
assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(csaga.Gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(csaga.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(csaga.Gid))
}

14
test/saga_test.go

@ -19,7 +19,7 @@ func TestSaga(t *testing.T) {
func sagaNormal(t *testing.T) {
saga := genSaga("gid-noramlSaga", false, false)
saga.Submit()
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid))
transQuery(t, saga.Gid)
@ -31,9 +31,9 @@ func sagaCommittedOngoing(t *testing.T) {
saga := genSaga("gid-committedOngoing", false, false)
examples.MainSwitch.TransOutResult.SetOnce(dtmcli.ResultOngoing)
saga.Submit()
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid))
}
@ -43,9 +43,9 @@ func sagaRollback(t *testing.T) {
examples.MainSwitch.TransOutRevertResult.SetOnce("ERROR")
err := saga.Submit()
assert.Nil(t, err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, dtmcli.StatusAborting, getTransStatus(saga.Gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid))
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusFailed}, getBranchesStatus(saga.Gid))
err = saga.Submit()
@ -58,7 +58,7 @@ func sagaRollback2(t *testing.T) {
examples.MainSwitch.TransInResult.SetOnce(dtmcli.ResultOngoing)
err := saga.Submit()
assert.Nil(t, err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
cronTransOnceForwardNow(3600)
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid))
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid))
@ -69,7 +69,7 @@ func sagaTimeout(t *testing.T) {
saga.TimeoutToFail = 1800
examples.MainSwitch.TransOutResult.SetOnce("UNKOWN")
saga.Submit()
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(saga.Gid))
cronTransOnceForwardNow(3600)
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid))

4
test/tcc_test.go

@ -36,8 +36,8 @@ func tccRollback(t *testing.T) {
return tcc.CallBranch(data, Busi+"/TransIn", Busi+"/TransInConfirm", Busi+"/TransInRevert")
})
assert.Error(t, err)
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, dtmcli.StatusAborting, getTransStatus(gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid))
}

27
test/types.go

@ -14,11 +14,28 @@ func dbGet() *common.DB {
return common.DbGet(config.DB)
}
// WaitTransProcessed alias
var WaitTransProcessed = dtmsvr.WaitTransProcessed
// waitTransProcessed only for test usage. wait for transaction processed once
func waitTransProcessed(gid string) {
dtmcli.Logf("waiting for gid %s", gid)
select {
case id := <-dtmsvr.TransProcessedTestChan:
for id != gid {
dtmcli.LogRedf("-------id %s not match gid %s", id, gid)
id = <-dtmsvr.TransProcessedTestChan
}
dtmcli.Logf("finish for gid %s", gid)
case <-time.After(time.Duration(time.Second * 3)):
dtmcli.LogFatalf("Wait Trans timeout")
}
}
func cronTransOnce() {
gid := dtmsvr.CronTransOnce()
if dtmsvr.TransProcessedTestChan != nil && gid != "" {
waitTransProcessed(gid)
}
}
// CronTransOnce alias
var CronTransOnce = dtmsvr.CronTransOnce
var e2p = dtmcli.E2P
// TransGlobal alias
@ -33,6 +50,6 @@ type M = dtmcli.M
func cronTransOnceForwardNow(seconds int) {
old := dtmsvr.NowForwardDuration
dtmsvr.NowForwardDuration = time.Duration(seconds) * time.Second
CronTransOnce()
cronTransOnce()
dtmsvr.NowForwardDuration = old
}

8
test/wait_saga_test.go

@ -20,7 +20,7 @@ func sagaNormalWait(t *testing.T) {
saga.SetOptions(&dtmcli.TransOptions{WaitResult: true})
err := saga.Submit()
assert.Nil(t, err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid))
transQuery(t, saga.Gid)
@ -32,9 +32,9 @@ func sagaCommittedOngoingWait(t *testing.T) {
saga.SetOptions(&dtmcli.TransOptions{WaitResult: true})
err := saga.Submit()
assert.Error(t, err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid))
CronTransOnce()
cronTransOnce()
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid))
assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid))
}
@ -44,7 +44,7 @@ func sagaRollbackWait(t *testing.T) {
saga.SetOptions(&dtmcli.TransOptions{WaitResult: true})
err := saga.Submit()
assert.Error(t, err)
WaitTransProcessed(saga.Gid)
waitTransProcessed(saga.Gid)
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid))
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusFailed}, getBranchesStatus(saga.Gid))
}

6
test/xa_test.go

@ -39,7 +39,7 @@ func xaNormal(t *testing.T) {
return xa.CallBranch(req, examples.Busi+"/TransInXa")
})
assert.Equal(t, nil, err)
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(gid))
}
@ -57,7 +57,7 @@ func xaDuplicate(t *testing.T) {
return xa.CallBranch(req, examples.Busi+"/TransInXa")
})
assert.Equal(t, nil, err)
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(gid))
}
func xaRollback(t *testing.T) {
@ -72,7 +72,7 @@ func xaRollback(t *testing.T) {
return xa.CallBranch(req, examples.Busi+"/TransInXa")
})
assert.Error(t, err)
WaitTransProcessed(gid)
waitTransProcessed(gid)
assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusPrepared}, getBranchesStatus(gid))
assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid))
}

Loading…
Cancel
Save