@@ -91,4 +91,97 @@ public async Task Submit_With_Delay_Should_Succeed_Later()
9191 status = await ITTestHelper . GetTranStatus ( gid ) ;
9292 Assert . Equal ( "succeed" , status ) ;
9393 }
94+
95+ [ Fact ]
96+ public async Task SetRequestTimeoutTest_default ( )
97+ {
98+ var provider = ITTestHelper . AddDtmHttp ( ) ;
99+ var transFactory = provider . GetRequiredService < Dtmcli . IDtmTransFactory > ( ) ;
100+
101+ var gid = "msgTestGid" + Guid . NewGuid ( ) . ToString ( ) ;
102+ var msg = transFactory . NewMsg ( gid ) ;
103+ // msg.SetRequestTimeout(30);
104+ msg . EnableWaitResult ( ) ;
105+ var req = ITTestHelper . GenBusiReq ( false , false ) ;
106+ var busiUrl = ITTestHelper . BuisHttpUrl ;
107+ msg . Add ( busiUrl + "/busi.Busi/TransOut" , req )
108+ . Add ( busiUrl + "/busi.Busi/TransIn" , req ) ;
109+
110+ await msg . Prepare ( busiUrl + "/busi.Busi/QueryPrepared_404" ) ;
111+ await msg . Submit ( ) ;
112+
113+ var trans = await ITTestHelper . GetTran ( gid ) ;
114+ Assert . Equal ( "succeed" , trans . Transaction . Status ) ;
115+ Assert . Equal ( 0 , trans . Transaction . RequestTimeout ) ;
116+ }
117+
118+ [ Fact ]
119+ public async Task SetRequestTimeoutTest_30s ( )
120+ {
121+ var provider = ITTestHelper . AddDtmHttp ( ) ;
122+ var transFactory = provider . GetRequiredService < Dtmcli . IDtmTransFactory > ( ) ;
123+
124+ var gid = "msgTestGid" + Guid . NewGuid ( ) . ToString ( ) ;
125+ var msg = transFactory . NewMsg ( gid ) ;
126+ msg . SetRequestTimeout ( 30 ) ;
127+ msg . EnableWaitResult ( ) ;
128+ var req = ITTestHelper . GenBusiReq ( false , false ) ;
129+ var busiUrl = ITTestHelper . BuisHttpUrl ;
130+ msg . Add ( busiUrl + "/busi.Busi/TransOut" , req )
131+ . Add ( busiUrl + "/busi.Busi/TransIn" , req ) ;
132+
133+ await msg . Prepare ( busiUrl + "/busi.Busi/QueryPrepared_404" ) ;
134+ await msg . Submit ( ) ;
135+
136+ var trans = await ITTestHelper . GetTran ( gid ) ;
137+ Assert . Equal ( "succeed" , trans . Transaction . Status ) ;
138+ Assert . Equal ( 30 , trans . Transaction . RequestTimeout ) ;
139+ }
140+
141+
142+ [ Fact ]
143+ public async Task SetTimeoutToFail_default ( )
144+ {
145+ var provider = ITTestHelper . AddDtmHttp ( ) ;
146+ var transFactory = provider . GetRequiredService < Dtmcli . IDtmTransFactory > ( ) ;
147+
148+ var gid = "msgTestGid" + Guid . NewGuid ( ) . ToString ( ) ;
149+ var msg = transFactory . NewMsg ( gid ) ;
150+ // msg.SetTimeoutToFail(30);
151+ msg . EnableWaitResult ( ) ;
152+ var req = ITTestHelper . GenBusiReq ( false , false ) ;
153+ var busiUrl = ITTestHelper . BuisHttpUrl ;
154+ msg . Add ( busiUrl + "/busi.Busi/TransOut" , req )
155+ . Add ( busiUrl + "/busi.Busi/TransIn" , req ) ;
156+
157+ await msg . Prepare ( busiUrl + "/busi.Busi/QueryPrepared_404" ) ;
158+ await msg . Submit ( ) ;
159+
160+ var trans = await ITTestHelper . GetTran ( gid ) ;
161+ Assert . Equal ( "succeed" , trans . Transaction . Status ) ;
162+ Assert . Equal ( 0 , trans . Transaction . RequestTimeout ) ;
163+ }
164+
165+ [ Fact ]
166+ public async Task SetTimeoutToFail_30s ( )
167+ {
168+ var provider = ITTestHelper . AddDtmHttp ( ) ;
169+ var transFactory = provider . GetRequiredService < Dtmcli . IDtmTransFactory > ( ) ;
170+
171+ var gid = "msgTestGid" + Guid . NewGuid ( ) . ToString ( ) ;
172+ var msg = transFactory . NewMsg ( gid ) ;
173+ msg . SetTimeoutToFail ( 30 ) ;
174+ msg . EnableWaitResult ( ) ;
175+ var req = ITTestHelper . GenBusiReq ( false , false ) ;
176+ var busiUrl = ITTestHelper . BuisHttpUrl ;
177+ msg . Add ( busiUrl + "/busi.Busi/TransOut" , req )
178+ . Add ( busiUrl + "/busi.Busi/TransIn" , req ) ;
179+
180+ await msg . Prepare ( busiUrl + "/busi.Busi/QueryPrepared_404" ) ;
181+ await msg . Submit ( ) ;
182+
183+ var trans = await ITTestHelper . GetTran ( gid ) ;
184+ Assert . Equal ( "succeed" , trans . Transaction . Status ) ;
185+ Assert . Equal ( 30 , trans . Transaction . TimeoutToFail ) ;
186+ }
94187}
0 commit comments