|
|
@ -6,6 +6,7 @@ import ( |
|
|
"github.com/dtm-labs/dtm/dtmcli" |
|
|
"github.com/dtm-labs/dtm/dtmcli" |
|
|
"github.com/dtm-labs/dtm/dtmcli/dtmimp" |
|
|
"github.com/dtm-labs/dtm/dtmcli/dtmimp" |
|
|
"github.com/dtm-labs/dtm/dtmutil" |
|
|
"github.com/dtm-labs/dtm/dtmutil" |
|
|
|
|
|
"github.com/dtm-labs/dtm/test/busi" |
|
|
"github.com/go-resty/resty/v2" |
|
|
"github.com/go-resty/resty/v2" |
|
|
"github.com/stretchr/testify/assert" |
|
|
"github.com/stretchr/testify/assert" |
|
|
) |
|
|
) |
|
|
@ -29,3 +30,17 @@ func TestTccCoverPanic(t *testing.T) { |
|
|
assert.Contains(t, err.Error(), "user panic") |
|
|
assert.Contains(t, err.Error(), "user panic") |
|
|
waitTransProcessed(gid) |
|
|
waitTransProcessed(gid) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func TestTccNested(t *testing.T) { |
|
|
|
|
|
req := busi.GenTransReq(30, false, false) |
|
|
|
|
|
gid := dtmimp.GetFuncName() |
|
|
|
|
|
err := dtmcli.TccGlobalTransaction(dtmutil.DefaultHTTPServer, gid, func(tcc *dtmcli.Tcc) (*resty.Response, error) { |
|
|
|
|
|
_, err := tcc.CallBranch(req, Busi+"/TransOut", Busi+"/TransOutConfirm", Busi+"/TransOutRevert") |
|
|
|
|
|
assert.Nil(t, err) |
|
|
|
|
|
return tcc.CallBranch(req, Busi+"/TransInTccNested", Busi+"/TransInConfirm", Busi+"/TransInRevert") |
|
|
|
|
|
}) |
|
|
|
|
|
assert.Nil(t, err) |
|
|
|
|
|
waitTransProcessed(gid) |
|
|
|
|
|
assert.Equal(t, StatusSucceed, getTransStatus(gid)) |
|
|
|
|
|
assert.Equal(t, []string{StatusPrepared, StatusSucceed, StatusPrepared, StatusSucceed, StatusPrepared, StatusSucceed}, getBranchesStatus(gid)) |
|
|
|
|
|
} |
|
|
|