11using Apps72 . Dev . Data . DbMocker ;
2+ using DtmCommon ;
23using Microsoft . Extensions . DependencyInjection ;
34using Moq ;
45using System ;
@@ -53,18 +54,17 @@ public async void Submit_Should_Succeed()
5354 { "bh2" , "456" } ,
5455 } ) ;
5556
56- var prepareRes = await msg . Prepare ( busi + "/query" ) ;
57- Assert . True ( prepareRes ) ;
57+ await msg . Prepare ( busi + "/query" ) ;
58+ await msg . Submit ( ) ;
5859
59- var submitRes = await msg . Submit ( ) ;
60- Assert . True ( submitRes ) ;
60+ Assert . True ( true ) ;
6161 }
6262
6363 [ Fact ]
6464 public async void DoAndSubmitDB_Should_Throw_Exception_When_Transbase_InValid ( )
6565 {
6666 var dtmClient = new Mock < IDtmClient > ( ) ;
67- TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , true ) ;
67+ TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , false ) ;
6868
6969 var gid = string . Empty ;
7070 var msg = new Msg ( dtmClient . Object , _branchBarrierFactory , gid ) ;
@@ -75,14 +75,14 @@ public async void DoAndSubmitDB_Should_Throw_Exception_When_Transbase_InValid()
7575
7676 var db = new MockDbConnection ( ) ;
7777
78- await Assert . ThrowsAsync < DtmcliException > ( async ( ) => await msg . DoAndSubmitDB ( busi + "/query" , db , x => Task . FromResult < bool > ( true ) ) ) ;
78+ await Assert . ThrowsAsync < DtmException > ( async ( ) => await msg . DoAndSubmitDB ( busi + "/query" , db , x => Task . FromResult < bool > ( true ) ) ) ;
7979 }
8080
8181 [ Fact ]
8282 public async void DoAndSubmitDB_Should_Not_Call_Barrier_When_Prepare_Fail ( )
8383 {
8484 var dtmClient = new Mock < IDtmClient > ( ) ;
85- TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , false ) ;
85+ TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , true ) ;
8686
8787 var gid = "TestMsgNormal" ;
8888 var msg = new Msg ( dtmClient . Object , _branchBarrierFactory , gid ) ;
@@ -94,18 +94,16 @@ public async void DoAndSubmitDB_Should_Not_Call_Barrier_When_Prepare_Fail()
9494 var db = new MockDbConnection ( ) ;
9595 var mockBusiCall = new Mock < Func < DbTransaction , Task < bool > > > ( ) ;
9696
97- var res = await msg . DoAndSubmitDB ( busi + "/query" , db , x => Task . FromResult ( true ) ) ;
98-
99- Assert . False ( res ) ;
97+ await Assert . ThrowsAnyAsync < Exception > ( async ( ) => await msg . DoAndSubmitDB ( busi + "/query" , db , x => Task . FromResult ( true ) ) ) ;
10098 mockBusiCall . Verify ( x => x . Invoke ( It . IsAny < DbTransaction > ( ) ) , Times . Never ) ;
10199 }
102100
103101 [ Fact ]
104102 public async void DoAndSubmitDB_Should_Succeed ( )
105103 {
106104 var dtmClient = new Mock < IDtmClient > ( ) ;
107- TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , true ) ;
108- TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_SUBMIT , true ) ;
105+ TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , false ) ;
106+ TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_SUBMIT , false ) ;
109107
110108 var gid = "TestMsgNormal" ;
111109 var msg = new Msg ( dtmClient . Object , _branchBarrierFactory , gid ) ;
@@ -121,18 +119,17 @@ public async void DoAndSubmitDB_Should_Succeed()
121119 var mockBusiCall = new Mock < Func < DbTransaction , Task < bool > > > ( ) ;
122120 mockBusiCall . Setup ( x => x . Invoke ( It . IsAny < DbTransaction > ( ) ) ) . Returns ( Task . FromResult ( true ) ) ;
123121
124- var res = await msg . DoAndSubmitDB ( busi + "/query" , db , mockBusiCall . Object ) ;
122+ await msg . DoAndSubmitDB ( busi + "/query" , db , mockBusiCall . Object ) ;
125123
126- Assert . True ( res ) ;
127124 mockBusiCall . Verify ( x => x . Invoke ( It . IsAny < DbTransaction > ( ) ) , Times . Once ) ;
128125 }
129126
130127 [ Fact ]
131128 public async void DoAndSubmitDB_Should_Abort_When_BusiCall_ThrowExeption_With_ResultFailure ( )
132129 {
133130 var dtmClient = new Mock < IDtmClient > ( ) ;
134- TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , true ) ;
135- TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_ABORT , true ) ;
131+ TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , false ) ;
132+ TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_ABORT , false ) ;
136133
137134 var gid = "TestMsgNormal" ;
138135 var msg = new Msg ( dtmClient . Object , _branchBarrierFactory , gid ) ;
@@ -146,21 +143,19 @@ public async void DoAndSubmitDB_Should_Abort_When_BusiCall_ThrowExeption_With_Re
146143 db . Mocks . When ( x => x . CommandText . Contains ( "select" , StringComparison . OrdinalIgnoreCase ) ) . ReturnsScalar ( cmd => "rollback" ) ;
147144
148145 var mockBusiCall = new Mock < Func < DbTransaction , Task > > ( ) ;
149- mockBusiCall . Setup ( x => x . Invoke ( It . IsAny < DbTransaction > ( ) ) ) . Throws ( new Exception ( Constant . ResultFailure ) ) ;
150-
151- var res = await msg . DoAndSubmitDB ( busi + "/query" , db , mockBusiCall . Object ) ;
146+ mockBusiCall . Setup ( x => x . Invoke ( It . IsAny < DbTransaction > ( ) ) ) . Throws ( new DtmFailureException ( ) ) ;
152147
153- Assert . False ( res ) ;
154- dtmClient . Verify ( x => x . TransCallDtm ( It . IsAny < DtmImp . TransBase > ( ) , It . IsAny < object > ( ) , Constant . Request . OPERATION_ABORT , It . IsAny < CancellationToken > ( ) ) , Times . Once ) ;
148+ await Assert . ThrowsAsync < DtmFailureException > ( async ( ) => await msg . DoAndSubmitDB ( busi + "/query" , db , mockBusiCall . Object ) ) ;
149+ dtmClient . Verify ( x => x . TransCallDtm ( It . IsAny < TransBase > ( ) , It . IsAny < object > ( ) , Constant . Request . OPERATION_ABORT , It . IsAny < CancellationToken > ( ) ) , Times . Once ) ;
155150 }
156151
157152 [ Fact ]
158153 public async void DoAndSubmitDB_Should_QueryPrepared_When_BusiCall_ThrowExeption_Without_ResultFailure ( )
159154 {
160155 var dtmClient = new Mock < IDtmClient > ( ) ;
161- TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , true ) ;
162- TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_ABORT , true ) ;
163- TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_SUBMIT , true ) ;
156+ TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_PREPARE , false ) ;
157+ TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_ABORT , false ) ;
158+ TestHelper . MockTransCallDtm ( dtmClient , Constant . Request . OPERATION_SUBMIT , false ) ;
164159 TestHelper . MockTransRequestBranch ( dtmClient , System . Net . HttpStatusCode . OK ) ;
165160
166161 var gid = "TestMsgNormal" ;
@@ -177,10 +172,8 @@ public async void DoAndSubmitDB_Should_QueryPrepared_When_BusiCall_ThrowExeption
177172 var mockBusiCall = new Mock < Func < DbTransaction , Task < bool > > > ( ) ;
178173 mockBusiCall . Setup ( x => x . Invoke ( It . IsAny < DbTransaction > ( ) ) ) . Throws ( new Exception ( "ex" ) ) ;
179174
180- var res = await msg . DoAndSubmitDB ( busi + "/query" , db , mockBusiCall . Object ) ;
181-
182- Assert . False ( res ) ;
183- dtmClient . Verify ( x => x . TransRequestBranch ( It . IsAny < DtmImp . TransBase > ( ) , It . IsAny < HttpMethod > ( ) , It . IsAny < object > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) , It . IsAny < CancellationToken > ( ) ) , Times . Once ) ;
175+ await Assert . ThrowsAsync < Exception > ( async ( ) => await msg . DoAndSubmitDB ( busi + "/query" , db , mockBusiCall . Object ) ) ;
176+ dtmClient . Verify ( x => x . TransRequestBranch ( It . IsAny < TransBase > ( ) , It . IsAny < HttpMethod > ( ) , It . IsAny < object > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) , It . IsAny < CancellationToken > ( ) ) , Times . Once ) ;
184177 }
185178
186179 public class MsgMockHttpMessageHandler : DelegatingHandler
@@ -193,7 +186,7 @@ protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage
193186 {
194187 var str = await request . Content ? . ReadAsStringAsync ( ) ?? "" ;
195188
196- var transBase = System . Text . Json . JsonSerializer . Deserialize < DtmImp . TransBase > ( str ) ;
189+ var transBase = System . Text . Json . JsonSerializer . Deserialize < TransBase > ( str ) ;
197190
198191 Assert . Equal ( "TestMsgNormal" , transBase . Gid ) ;
199192 Assert . Equal ( "msg" , transBase . TransType ) ;
0 commit comments