Function: enableAlarmSimulation()
enableAlarmSimulation(
doInstance,config):void
Defined in: packages/testing/src/alarm-simulation.ts:88
Enable alarm simulation for a Durable Object instance.
This function transparently mocks ctx.storage.setAlarm/getAlarm/deleteAlarm to enable automatic alarm firing in tests.
How it works:
- Saves original alarm methods
- Replaces them with simulation versions
- Uses setTimeout to trigger alarm() at scheduled time
- Handles retries with exponential backoff (100x faster)
- Matches Cloudflare behavior: new setAlarm overwrites pending alarm
Called by: instrumentDOProject during DO class wrapping
Parameters
doInstance
any
The Durable Object instance to instrument
config
Optional configuration for simulation behavior
Returns
void
Example
const doInstance = new MyDO(ctx, env);
enableAlarmSimulation(doInstance);
// Now alarms fire automatically!
doInstance.ctx.storage.setAlarm(Date.now() + 1000);
// ... alarm() will be called after ~10ms (100x faster)