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", () => {
71
71
jest . useRealTimers ( ) ;
72
72
} ) ;
73
73
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
+
74
112
test ( "should reset timeout when progress notification is received" , async ( ) => {
75
113
await protocol . connect ( transport ) ;
76
114
const request = { method : "example" , params : { } } ;
You can’t perform that action at this time.
0 commit comments