Skip to content

Commit 63eff69

Browse files
committed
update tests after rebase
1 parent b63e9e7 commit 63eff69

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

packages/replay/test/integration/rateLimiting.test.ts

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ async function advanceTimers(time: number) {
1515
}
1616

1717
type MockTransportSend = jest.MockedFunction<Transport['send']>;
18-
type MockSendReplayRequest = jest.MockedFunction<ReplayContainer['sendReplayRequest']>;
18+
type MockSendReplayRequest = jest.MockedFunction<ReplayContainer['_sendReplayRequest']>;
1919

2020
describe('Integration | rate-limiting behaviour', () => {
2121
let replay: ReplayContainer;
@@ -32,11 +32,12 @@ describe('Integration | rate-limiting behaviour', () => {
3232
},
3333
}));
3434

35-
jest.spyOn(replay, 'sendReplayRequest');
35+
// @ts-ignore private API
36+
jest.spyOn(replay, '_sendReplayRequest');
3637

3738
jest.runAllTimers();
3839
mockTransportSend = getCurrentHub()?.getClient()?.getTransport()?.send as MockTransportSend;
39-
mockSendReplayRequest = replay.sendReplayRequest as MockSendReplayRequest;
40+
mockSendReplayRequest = replay['_sendReplayRequest'] as MockSendReplayRequest;
4041
});
4142

4243
beforeEach(() => {
@@ -47,7 +48,7 @@ describe('Integration | rate-limiting behaviour', () => {
4748
// Create a new session and clear mocks because a segment (from initial
4849
// checkout) will have already been uploaded by the time the tests run
4950
clearSession(replay);
50-
replay.loadSession({ expiry: 0 });
51+
replay['_loadSession']({ expiry: 0 });
5152

5253
mockSendReplayRequest.mockClear();
5354

@@ -60,7 +61,7 @@ describe('Integration | rate-limiting behaviour', () => {
6061
jest.setSystemTime(new Date(BASE_TIMESTAMP));
6162
clearSession(replay);
6263
jest.clearAllMocks();
63-
replay.loadSession({ expiry: SESSION_IDLE_DURATION });
64+
replay['_loadSession']({ expiry: SESSION_IDLE_DURATION });
6465
});
6566

6667
afterAll(() => {
@@ -93,11 +94,12 @@ describe('Integration | rate-limiting behaviour', () => {
9394
'pauses recording and flushing a rate limit is hit and resumes both after the rate limit duration is over',
9495
async rateLimitResponse => {
9596
expect(replay.session?.segmentId).toBe(0);
96-
jest.spyOn(replay, 'sendReplay');
9797
jest.spyOn(replay, 'pause');
9898
jest.spyOn(replay, 'resume');
9999
// @ts-ignore private API
100100
jest.spyOn(replay, '_handleRateLimit');
101+
// @ts-ignore private API
102+
jest.spyOn(replay, '_sendReplay');
101103

102104
const TEST_EVENT = { data: {}, timestamp: BASE_TIMESTAMP, type: 2 };
103105

@@ -133,7 +135,7 @@ describe('Integration | rate-limiting behaviour', () => {
133135
mockRecord._emitter(ev);
134136
await advanceTimers(DEFAULT_FLUSH_MIN_DELAY);
135137
expect(replay.isPaused()).toBe(true);
136-
expect(replay.sendReplay).toHaveBeenCalledTimes(1);
138+
expect(replay['_sendReplay']).toHaveBeenCalledTimes(1);
137139
expect(mockTransportSend).toHaveBeenCalledTimes(1);
138140
}
139141

@@ -145,7 +147,7 @@ describe('Integration | rate-limiting behaviour', () => {
145147
expect(replay.resume).toHaveBeenCalledTimes(1);
146148
expect(replay.isPaused()).toBe(false);
147149

148-
expect(replay.sendReplay).toHaveBeenCalledTimes(2);
150+
expect(replay['_sendReplay']).toHaveBeenCalledTimes(2);
149151
expect(replay).toHaveLastSentReplay({
150152
events: '[{"data":{"isCheckout":true},"timestamp":1580598035000,"type":2}]',
151153
});
@@ -160,27 +162,28 @@ describe('Integration | rate-limiting behaviour', () => {
160162

161163
// T = base + 40
162164
await advanceTimers(DEFAULT_FLUSH_MIN_DELAY);
163-
expect(replay.sendReplay).toHaveBeenCalledTimes(3);
165+
expect(replay['_sendReplay']).toHaveBeenCalledTimes(3);
164166
expect(replay).toHaveLastSentReplay({ events: JSON.stringify([TEST_EVENT3]) });
165167

166168
// nothing should happen afterwards
167169
// T = base + 60
168170
await advanceTimers(20_000);
169-
expect(replay.sendReplay).toHaveBeenCalledTimes(3);
171+
expect(replay['_sendReplay']).toHaveBeenCalledTimes(3);
170172
expect(replay).toHaveLastSentReplay({ events: JSON.stringify([TEST_EVENT3]) });
171173

172174
// events array should be empty
173-
expect(replay.eventBuffer?.length).toBe(0);
175+
expect(replay.eventBuffer?.pendingLength).toBe(0);
174176
},
175177
);
176178

177179
it('handles rate-limits from a plain 429 response without any retry time', async () => {
178180
expect(replay.session?.segmentId).toBe(0);
179-
jest.spyOn(replay, 'sendReplay');
180181
jest.spyOn(replay, 'pause');
181182
jest.spyOn(replay, 'resume');
182183
// @ts-ignore private API
183184
jest.spyOn(replay, '_handleRateLimit');
185+
// @ts-ignore private API
186+
jest.spyOn(replay, '_sendReplay');
184187

185188
const TEST_EVENT = { data: {}, timestamp: BASE_TIMESTAMP, type: 2 };
186189

@@ -217,7 +220,7 @@ describe('Integration | rate-limiting behaviour', () => {
217220
mockRecord._emitter(ev);
218221
await advanceTimers(DEFAULT_FLUSH_MIN_DELAY);
219222
expect(replay.isPaused()).toBe(true);
220-
expect(replay.sendReplay).toHaveBeenCalledTimes(1);
223+
expect(replay['_sendReplay']).toHaveBeenCalledTimes(1);
221224
expect(mockTransportSend).toHaveBeenCalledTimes(1);
222225
}
223226

@@ -229,7 +232,7 @@ describe('Integration | rate-limiting behaviour', () => {
229232
expect(replay.resume).toHaveBeenCalledTimes(1);
230233
expect(replay.isPaused()).toBe(false);
231234

232-
expect(replay.sendReplay).toHaveBeenCalledTimes(2);
235+
expect(replay['_sendReplay']).toHaveBeenCalledTimes(2);
233236
expect(replay).toHaveLastSentReplay({
234237
events: '[{"data":{"isCheckout":true},"timestamp":1580598065000,"type":2}]',
235238
});
@@ -244,16 +247,16 @@ describe('Integration | rate-limiting behaviour', () => {
244247

245248
// T = base + 65
246249
await advanceTimers(DEFAULT_FLUSH_MIN_DELAY);
247-
expect(replay.sendReplay).toHaveBeenCalledTimes(3);
250+
expect(replay['_sendReplay']).toHaveBeenCalledTimes(3);
248251
expect(replay).toHaveLastSentReplay({ events: JSON.stringify([TEST_EVENT3]) });
249252

250253
// nothing should happen afterwards
251254
// T = base + 85
252255
await advanceTimers(20_000);
253-
expect(replay.sendReplay).toHaveBeenCalledTimes(3);
256+
expect(replay['_sendReplay']).toHaveBeenCalledTimes(3);
254257
expect(replay).toHaveLastSentReplay({ events: JSON.stringify([TEST_EVENT3]) });
255258

256259
// events array should be empty
257-
expect(replay.eventBuffer?.length).toBe(0);
260+
expect(replay.eventBuffer?.pendingLength).toBe(0);
258261
});
259262
});

0 commit comments

Comments
 (0)