File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,44 @@ describe("protocol tests", () => {
7171 jest . useRealTimers ( ) ;
7272 } ) ;
7373
74+ test ( "should not reset timeout when resetTimeoutOnProgress is false" , async ( ) => {
75+ await protocol . connect ( transport ) ;
76+ const request = { method : "example" , params : { } } ;
77+ const mockSchema : ZodType < { result : string } > = z . object ( {
78+ result : z . string ( ) ,
79+ } ) ;
80+ const onProgressMock = jest . fn ( ) ;
81+ const requestPromise = protocol . request ( request , mockSchema , {
82+ timeout : 1000 ,
83+ resetTimeoutOnProgress : false ,
84+ onprogress : onProgressMock ,
85+ } ) ;
86+
87+ jest . advanceTimersByTime ( 800 ) ;
88+
89+ if ( transport . onmessage ) {
90+ transport . onmessage ( {
91+ jsonrpc : "2.0" ,
92+ method : "notifications/progress" ,
93+ params : {
94+ progressToken : 0 ,
95+ progress : 50 ,
96+ total : 100 ,
97+ } ,
98+ } ) ;
99+ }
100+ await Promise . resolve ( ) ;
101+
102+ expect ( onProgressMock ) . toHaveBeenCalledWith ( {
103+ progress : 50 ,
104+ total : 100 ,
105+ } ) ;
106+
107+ jest . advanceTimersByTime ( 201 ) ;
108+
109+ await expect ( requestPromise ) . rejects . toThrow ( "Request timed out" ) ;
110+ } ) ;
111+
74112 test ( "should reset timeout when progress notification is received" , async ( ) => {
75113 await protocol . connect ( transport ) ;
76114 const request = { method : "example" , params : { } } ;
You can’t perform that action at this time.
0 commit comments