@@ -16,8 +16,6 @@ describe("ActivationManager", () => {
1616 beforeEach ( ( ) => {
1717 vi . useRealTimers ( ) ;
1818 manager = new ActivationManager ( {
19- heartbeatMs : 10_000 ,
20- leaseExpirationMs : 30_000 ,
2119 graceMs : 3_000 ,
2220 } ) ;
2321 } ) ;
@@ -71,15 +69,6 @@ describe("ActivationManager", () => {
7169 } ) ;
7270 } ) ;
7371
74- it ( "rejects heartbeat for stale generations" , ( ) => {
75- const first = manager . claim ( "client-a" , "ws-a" , request ) ;
76- manager . claim ( "client-b" , "ws-b" , request ) ;
77-
78- const ok = manager . heartbeat ( "client-a" , first . generation ) ;
79-
80- expect ( ok ) . toBe ( false ) ;
81- } ) ;
82-
8372 it ( "ignores release for stale generations and clears only the current lease" , ( ) => {
8473 const first = manager . claim ( "client-a" , "ws-a" , request ) ;
8574 const current = manager . claim ( "client-b" , "ws-b" , request ) ;
@@ -91,34 +80,18 @@ describe("ActivationManager", () => {
9180 expect ( manager . getLease ( ) ) . toBeNull ( ) ;
9281 } ) ;
9382
94- it ( "nulls expired state when getLease is called after expiry" , ( ) => {
95- vi . useFakeTimers ( ) ;
96- vi . setSystemTime ( new Date ( "2026-05-12T00:00:00.000Z" ) ) ;
97-
98- manager . claim ( "client-a" , "ws-a" , request ) ;
99-
100- vi . advanceTimersByTime ( 30_001 ) ;
101-
102- expect ( manager . getLease ( ) ) . toBeNull ( ) ;
103- expect ( manager . getLease ( ) ) . toBeNull ( ) ;
104- } ) ;
105-
106- it ( "refreshes expiry on heartbeat for the active generation" , ( ) => {
83+ it ( "retains the active lease without idle expiration" , ( ) => {
10784 vi . useFakeTimers ( ) ;
10885 vi . setSystemTime ( new Date ( "2026-05-12T00:00:00.000Z" ) ) ;
10986
110- const claim = manager . claim ( "client-a" , "ws-a" , request ) ;
111- const beforeExpiresAt = manager . getLease ( ) ?. expiresAt ;
87+ const lease = manager . claim ( "client-a" , "ws-a" , request ) ;
11288
113- expect ( beforeExpiresAt ) . toBe ( Date . now ( ) + 30_000 ) ;
89+ vi . advanceTimersByTime ( 12 * 60 * 60 * 1000 ) ;
11490
115- vi . advanceTimersByTime ( 5_000 ) ;
116-
117- const ok = manager . heartbeat ( "client-a" , claim . generation ) ;
118- const after = manager . getLease ( ) ;
119-
120- expect ( ok ) . toBe ( true ) ;
121- expect ( after ?. expiresAt ) . toBe ( Date . now ( ) + 30_000 ) ;
122- expect ( after ?. expiresAt ) . toBeGreaterThan ( beforeExpiresAt ?? 0 ) ;
91+ expect ( manager . getLease ( ) ) . toMatchObject ( {
92+ clientInstanceId : "client-a" ,
93+ wsClientId : "ws-a" ,
94+ generation : lease . generation ,
95+ } ) ;
12396 } ) ;
12497} ) ;
0 commit comments