@@ -4,12 +4,10 @@ import { DurableObjectQueueHandler } from "./queue";
44
55vi . mock ( "cloudflare:workers" , ( ) => ( {
66 DurableObject : class {
7- ctx : DurableObjectState ;
8- env : CloudflareEnv ;
9- constructor ( ctx : DurableObjectState , env : CloudflareEnv ) {
10- this . ctx = ctx ;
11- this . env = env ;
12- }
7+ constructor (
8+ public ctx : DurableObjectState ,
9+ public env : CloudflareEnv
10+ ) { }
1311 } ,
1412} ) ) ;
1513
@@ -100,7 +98,7 @@ describe("DurableObjectQueue", () => {
10098 // the next one should block until one of the previous ones finishes
10199 const blockedReq = queue . revalidate ( createMessage ( "id6" ) ) ;
102100
103- expect ( queue . ongoingRevalidations . size ) . toBe ( 5 ) ;
101+ expect ( queue . ongoingRevalidations . size ) . toBe ( queue . maxRevalidations ) ;
104102 expect ( queue . ongoingRevalidations . has ( "id6" ) ) . toBe ( false ) ;
105103 expect ( Array . from ( queue . ongoingRevalidations . keys ( ) ) ) . toEqual ( [ "id" , "id2" , "id3" , "id4" , "id5" ] ) ;
106104
@@ -203,14 +201,14 @@ describe("DurableObjectQueue", () => {
203201
204202 it ( "should add an alarm if there are failed states" , async ( ) => {
205203 const queue = createDurableObjectQueue ( { fetchDuration : 10 } ) ;
206- queue . routeInFailedState . set ( "id" , { msg : createMessage ( "id" ) , retryCount : 0 , nextAlarm : 1000 } ) ;
204+ queue . routeInFailedState . set ( "id" , { msg : createMessage ( "id" ) , retryCount : 0 , nextAlarmMs : 1000 } ) ;
207205 await queue . addAlarm ( ) ;
208206 expect ( getStorage ( queue ) . setAlarm ) . toHaveBeenCalledWith ( 1000 ) ;
209207 } ) ;
210208
211209 it ( "should not add an alarm if there is already an alarm set" , async ( ) => {
212210 const queue = createDurableObjectQueue ( { fetchDuration : 10 } ) ;
213- queue . routeInFailedState . set ( "id" , { msg : createMessage ( "id" ) , retryCount : 0 , nextAlarm : 1000 } ) ;
211+ queue . routeInFailedState . set ( "id" , { msg : createMessage ( "id" ) , retryCount : 0 , nextAlarmMs : 1000 } ) ;
214212 // @ts -expect-error
215213 queue . ctx . storage . getAlarm . mockResolvedValueOnce ( 1000 ) ;
216214 await queue . addAlarm ( ) ;
@@ -219,8 +217,8 @@ describe("DurableObjectQueue", () => {
219217
220218 it ( "should set the alarm to the lowest nextAlarm" , async ( ) => {
221219 const queue = createDurableObjectQueue ( { fetchDuration : 10 } ) ;
222- queue . routeInFailedState . set ( "id" , { msg : createMessage ( "id" ) , retryCount : 0 , nextAlarm : 1000 } ) ;
223- queue . routeInFailedState . set ( "id2" , { msg : createMessage ( "id2" ) , retryCount : 0 , nextAlarm : 500 } ) ;
220+ queue . routeInFailedState . set ( "id" , { msg : createMessage ( "id" ) , retryCount : 0 , nextAlarmMs : 1000 } ) ;
221+ queue . routeInFailedState . set ( "id2" , { msg : createMessage ( "id2" ) , retryCount : 0 , nextAlarmMs : 500 } ) ;
224222 await queue . addAlarm ( ) ;
225223 expect ( getStorage ( queue ) . setAlarm ) . toHaveBeenCalledWith ( 500 ) ;
226224 } ) ;
@@ -238,21 +236,21 @@ describe("DurableObjectQueue", () => {
238236 it ( "should add a failed state with the correct nextAlarm" , async ( ) => {
239237 const queue = createDurableObjectQueue ( { fetchDuration : 10 } ) ;
240238 await queue . addToFailedState ( createMessage ( "id" ) ) ;
241- expect ( queue . routeInFailedState . get ( "id" ) ?. nextAlarm ) . toBeGreaterThan ( Date . now ( ) ) ;
239+ expect ( queue . routeInFailedState . get ( "id" ) ?. nextAlarmMs ) . toBeGreaterThan ( Date . now ( ) ) ;
242240 expect ( queue . routeInFailedState . get ( "id" ) ?. retryCount ) . toBe ( 1 ) ;
243241 } ) ;
244242
245243 it ( "should add a failed state with the correct nextAlarm for a retry" , async ( ) => {
246244 const queue = createDurableObjectQueue ( { fetchDuration : 10 } ) ;
247245 await queue . addToFailedState ( createMessage ( "id" ) ) ;
248246 await queue . addToFailedState ( createMessage ( "id" ) ) ;
249- expect ( queue . routeInFailedState . get ( "id" ) ?. nextAlarm ) . toBeGreaterThan ( Date . now ( ) ) ;
247+ expect ( queue . routeInFailedState . get ( "id" ) ?. nextAlarmMs ) . toBeGreaterThan ( Date . now ( ) ) ;
250248 expect ( queue . routeInFailedState . get ( "id" ) ?. retryCount ) . toBe ( 2 ) ;
251249 } ) ;
252250
253251 it ( "should not add a failed state if it has been retried 6 times" , async ( ) => {
254252 const queue = createDurableObjectQueue ( { fetchDuration : 10 } ) ;
255- queue . routeInFailedState . set ( "id" , { msg : createMessage ( "id" ) , retryCount : 6 , nextAlarm : 1000 } ) ;
253+ queue . routeInFailedState . set ( "id" , { msg : createMessage ( "id" ) , retryCount : 6 , nextAlarmMs : 1000 } ) ;
256254 await queue . addToFailedState ( createMessage ( "id" ) ) ;
257255 expect ( queue . routeInFailedState . size ) . toBe ( 0 ) ;
258256 } ) ;
@@ -264,12 +262,12 @@ describe("DurableObjectQueue", () => {
264262 queue . routeInFailedState . set ( "id" , {
265263 msg : createMessage ( "id" ) ,
266264 retryCount : 0 ,
267- nextAlarm : Date . now ( ) - 1000 ,
265+ nextAlarmMs : Date . now ( ) - 1000 ,
268266 } ) ;
269267 queue . routeInFailedState . set ( "id2" , {
270268 msg : createMessage ( "id2" ) ,
271269 retryCount : 0 ,
272- nextAlarm : Date . now ( ) - 1000 ,
270+ nextAlarmMs : Date . now ( ) - 1000 ,
273271 } ) ;
274272 await queue . alarm ( ) ;
275273 expect ( queue . routeInFailedState . size ) . toBe ( 0 ) ;
@@ -281,12 +279,12 @@ describe("DurableObjectQueue", () => {
281279 queue . routeInFailedState . set ( "id" , {
282280 msg : createMessage ( "id" ) ,
283281 retryCount : 0 ,
284- nextAlarm : Date . now ( ) + 1000 ,
282+ nextAlarmMs : Date . now ( ) + 1000 ,
285283 } ) ;
286284 queue . routeInFailedState . set ( "id2" , {
287285 msg : createMessage ( "id2" ) ,
288286 retryCount : 0 ,
289- nextAlarm : Date . now ( ) + 500 ,
287+ nextAlarmMs : Date . now ( ) + 500 ,
290288 } ) ;
291289 await queue . alarm ( ) ;
292290 expect ( queue . routeInFailedState . size ) . toBe ( 1 ) ;
@@ -299,12 +297,12 @@ describe("DurableObjectQueue", () => {
299297 queue . routeInFailedState . set ( "id" , {
300298 msg : createMessage ( "id" ) ,
301299 retryCount : 0 ,
302- nextAlarm : Date . now ( ) + 1000 ,
300+ nextAlarmMs : Date . now ( ) + 1000 ,
303301 } ) ;
304302 queue . routeInFailedState . set ( "id2" , {
305303 msg : createMessage ( "id2" ) ,
306304 retryCount : 0 ,
307- nextAlarm : Date . now ( ) - 1000 ,
305+ nextAlarmMs : Date . now ( ) - 1000 ,
308306 } ) ;
309307 await queue . alarm ( ) ;
310308 expect ( queue . routeInFailedState . size ) . toBe ( 0 ) ;
0 commit comments