Browse Source

cover unexpected result for queryPrepared

topic
yedf2 5 years ago
parent
commit
91ed420f06
  1. 2
      dtmsvr/trans_type_msg.go
  2. 11
      test/msg_barrier_test.go
  3. 5
      test/msg_test.go

2
dtmsvr/trans_type_msg.go

@ -50,7 +50,7 @@ func (t *TransGlobal) mayQueryPrepared() {
} else if strings.Contains(body, dtmcli.ResultOngoing) {
t.touchCronTime(cronReset)
} else {
logger.Errorf("getting result failed for %s. error: %w", t.QueryPrepared, err)
logger.Errorf("getting result failed for %s. error: %v body %s", t.QueryPrepared, err, body)
t.touchCronTime(cronBackoff)
}
}

11
test/msg_barrier_test.go

@ -8,6 +8,7 @@ import (
"bou.ke/monkey"
"github.com/dtm-labs/dtm/dtmcli"
"github.com/dtm-labs/dtm/dtmcli/dtmimp"
"github.com/dtm-labs/dtm/dtmcli/logger"
"github.com/dtm-labs/dtm/test/busi"
"github.com/stretchr/testify/assert"
@ -15,7 +16,7 @@ import (
func TestMsgPrepareAndSubmit(t *testing.T) {
before := getBeforeBalances()
gid := dtmcli.MustGenGid(DtmServer)
gid := dtmimp.GetFuncName()
req := busi.GenTransReq(30, false, false)
msg := dtmcli.NewMsg(DtmServer, gid).
Add(busi.Busi+"/SagaBTransIn", req)
@ -31,7 +32,7 @@ func TestMsgPrepareAndSubmit(t *testing.T) {
func TestMsgPrepareAndSubmitBusiFailed(t *testing.T) {
before := getBeforeBalances()
gid := dtmcli.MustGenGid(DtmServer)
gid := dtmimp.GetFuncName()
req := busi.GenTransReq(30, false, false)
msg := dtmcli.NewMsg(DtmServer, gid).
Add(busi.Busi+"/SagaBTransIn", req)
@ -44,7 +45,7 @@ func TestMsgPrepareAndSubmitBusiFailed(t *testing.T) {
func TestMsgPrepareAndSubmitPrepareFailed(t *testing.T) {
before := getBeforeBalances()
gid := dtmcli.MustGenGid(DtmServer)
gid := dtmimp.GetFuncName()
req := busi.GenTransReq(30, false, false)
msg := dtmcli.NewMsg(DtmServer+"not-exists", gid).
Add(busi.Busi+"/SagaBTransIn", req)
@ -57,7 +58,7 @@ func TestMsgPrepareAndSubmitPrepareFailed(t *testing.T) {
func TestMsgPrepareAndSubmitCommitFailed(t *testing.T) {
before := getBeforeBalances()
gid := dtmcli.MustGenGid(DtmServer)
gid := dtmimp.GetFuncName()
req := busi.GenTransReq(30, false, false)
msg := dtmcli.NewMsg(DtmServer, gid).
Add(busi.Busi+"/SagaBTransIn", req)
@ -78,7 +79,7 @@ func TestMsgPrepareAndSubmitCommitFailed(t *testing.T) {
func TestMsgPrepareAndSubmitCommitAfterFailed(t *testing.T) {
before := getBeforeBalances()
gid := dtmcli.MustGenGid(DtmServer)
gid := dtmimp.GetFuncName()
req := busi.GenTransReq(30, false, false)
msg := dtmcli.NewMsg(DtmServer, gid).
Add(busi.Busi+"/SagaBTransIn", req)

5
test/msg_test.go

@ -45,9 +45,12 @@ func TestMsgTimeoutFailed(t *testing.T) {
msg := genMsg(dtmimp.GetFuncName())
msg.Prepare("")
assert.Equal(t, StatusPrepared, getTransStatus(msg.Gid))
busi.MainSwitch.QueryPreparedResult.SetOnce(dtmcli.ResultOngoing)
busi.MainSwitch.QueryPreparedResult.SetOnce("OTHER_ERROR")
cronTransOnceForwardNow(180)
assert.Equal(t, StatusPrepared, getTransStatus(msg.Gid))
busi.MainSwitch.QueryPreparedResult.SetOnce(dtmcli.ResultOngoing)
cronTransOnceForwardNow(360)
assert.Equal(t, StatusPrepared, getTransStatus(msg.Gid))
busi.MainSwitch.QueryPreparedResult.SetOnce(dtmcli.ResultFailure)
cronTransOnceForwardNow(180)
assert.Equal(t, []string{StatusPrepared, StatusPrepared}, getBranchesStatus(msg.Gid))

Loading…
Cancel
Save