Skip to content

Commit 2aa3bd6

Browse files
committed
reset nim/max delays
1 parent b10e550 commit 2aa3bd6

File tree

2 files changed

+95
-87
lines changed

2 files changed

+95
-87
lines changed

packages/integration-tests/suites/replay/requests/init.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import * as Sentry from '@sentry/browser';
22

33
window.Sentry = Sentry;
44
window.Replay = new Sentry.Replay({
5-
flushMinDelay: 200,
6-
flushMaxDelay: 2000,
5+
flushMinDelay: 500,
6+
flushMaxDelay: 500,
77
useCompression: false,
88
});
99

packages/integration-tests/suites/replay/requests/test.ts

Lines changed: 93 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -4,88 +4,96 @@ import { sentryTest } from '../../../utils/fixtures';
44
import { expectedFetchPerformanceSpan, expectedXHRPerformanceSpan } from '../../../utils/replayEventTemplates';
55
import { getReplayRecordingContent, shouldSkipReplayTest, waitForReplayRequest } from '../../../utils/replayHelpers';
66

7-
sentryTest('replay recording should contain fetch request span', async ({ getLocalTestPath, page, browserName }) => {
8-
// For some reason, observing and waiting for requests in firefox is extremely flaky.
9-
// We therefore skip this test for firefox and only test on chromium/webkit.
10-
// Possibly related: https://github.com/microsoft/playwright/issues/11390
11-
if (shouldSkipReplayTest() || browserName === 'firefox') {
12-
sentryTest.skip();
13-
}
14-
15-
const reqPromise0 = waitForReplayRequest(page, 0);
16-
const reqPromise1 = waitForReplayRequest(page, 1);
17-
18-
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
19-
return route.fulfill({
20-
status: 200,
21-
contentType: 'application/json',
22-
body: JSON.stringify({ id: 'test-id' }),
23-
});
24-
});
25-
26-
await page.route('https://example.com', route => {
27-
return route.fulfill({
28-
status: 200,
29-
contentType: 'application/json',
30-
body: 'hello world',
31-
});
32-
});
33-
34-
const url = await getLocalTestPath({ testDir: __dirname });
35-
36-
await page.goto(url);
37-
await page.click('#go-background');
38-
const { performanceSpans: spans0 } = getReplayRecordingContent(await reqPromise0);
39-
40-
const receivedResponse = page.waitForResponse('https://example.com');
41-
await page.click('#fetch');
42-
await receivedResponse;
43-
44-
const { performanceSpans: spans1 } = getReplayRecordingContent(await reqPromise1);
45-
46-
const performanceSpans = [...spans0, ...spans1];
47-
expect(performanceSpans).toContainEqual(expectedFetchPerformanceSpan);
48-
});
49-
50-
sentryTest('replay recording should contain XHR request span', async ({ getLocalTestPath, page, browserName }) => {
51-
// For some reason, observing and waiting for requests in firefox is extremely flaky.
52-
// We therefore skip this test for firefox and only test on chromium/webkit.
53-
if (shouldSkipReplayTest() || browserName === 'firefox') {
54-
sentryTest.skip();
55-
}
56-
57-
const reqPromise0 = waitForReplayRequest(page, 0);
58-
const reqPromise1 = waitForReplayRequest(page, 1);
59-
60-
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
61-
return route.fulfill({
62-
status: 200,
63-
contentType: 'application/json',
64-
body: JSON.stringify({ id: 'test-id' }),
65-
});
66-
});
67-
68-
await page.route('https://example.com', route => {
69-
return route.fulfill({
70-
status: 200,
71-
contentType: 'application/json',
72-
body: 'hello world',
73-
});
74-
});
75-
76-
const url = await getLocalTestPath({ testDir: __dirname });
77-
78-
await page.goto(url);
79-
await page.click('#go-background');
80-
const { performanceSpans: spans0 } = getReplayRecordingContent(await reqPromise0);
81-
82-
const receivedResponse = page.waitForResponse('https://example.com');
83-
await page.click('#xhr');
84-
await receivedResponse;
85-
86-
const { performanceSpans: spans1 } = getReplayRecordingContent(await reqPromise1);
87-
88-
const performanceSpans = [...spans0, ...spans1];
89-
90-
expect(performanceSpans).toContainEqual(expectedXHRPerformanceSpan);
91-
});
7+
for (let i = 0; i < 25; i++) {
8+
sentryTest(
9+
`replay recording should contain fetch request span (${i})`,
10+
async ({ getLocalTestPath, page, browserName }) => {
11+
// For some reason, observing and waiting for requests in firefox is extremely flaky.
12+
// We therefore skip this test for firefox and only test on chromium/webkit.
13+
// Possibly related: https://github.com/microsoft/playwright/issues/11390
14+
if (shouldSkipReplayTest() || browserName === 'firefox') {
15+
sentryTest.skip();
16+
}
17+
18+
const reqPromise0 = waitForReplayRequest(page, 0);
19+
const reqPromise1 = waitForReplayRequest(page, 1);
20+
21+
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
22+
return route.fulfill({
23+
status: 200,
24+
contentType: 'application/json',
25+
body: JSON.stringify({ id: 'test-id' }),
26+
});
27+
});
28+
29+
await page.route('https://example.com', route => {
30+
return route.fulfill({
31+
status: 200,
32+
contentType: 'application/json',
33+
body: 'hello world',
34+
});
35+
});
36+
37+
const url = await getLocalTestPath({ testDir: __dirname });
38+
39+
await page.goto(url);
40+
await page.click('#go-background');
41+
const { performanceSpans: spans0 } = getReplayRecordingContent(await reqPromise0);
42+
43+
const receivedResponse = page.waitForResponse('https://example.com');
44+
await page.click('#fetch');
45+
await receivedResponse;
46+
47+
const { performanceSpans: spans1 } = getReplayRecordingContent(await reqPromise1);
48+
49+
const performanceSpans = [...spans0, ...spans1];
50+
expect(performanceSpans).toContainEqual(expectedFetchPerformanceSpan);
51+
},
52+
);
53+
54+
sentryTest(
55+
`replay recording should contain XHR request span (${i}`,
56+
async ({ getLocalTestPath, page, browserName }) => {
57+
// For some reason, observing and waiting for requests in firefox is extremely flaky.
58+
// We therefore skip this test for firefox and only test on chromium/webkit.
59+
if (shouldSkipReplayTest() || browserName === 'firefox') {
60+
sentryTest.skip();
61+
}
62+
63+
const reqPromise0 = waitForReplayRequest(page, 0);
64+
const reqPromise1 = waitForReplayRequest(page, 1);
65+
66+
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
67+
return route.fulfill({
68+
status: 200,
69+
contentType: 'application/json',
70+
body: JSON.stringify({ id: 'test-id' }),
71+
});
72+
});
73+
74+
await page.route('https://example.com', route => {
75+
return route.fulfill({
76+
status: 200,
77+
contentType: 'application/json',
78+
body: 'hello world',
79+
});
80+
});
81+
82+
const url = await getLocalTestPath({ testDir: __dirname });
83+
84+
await page.goto(url);
85+
await page.click('#go-background');
86+
const { performanceSpans: spans0 } = getReplayRecordingContent(await reqPromise0);
87+
88+
const receivedResponse = page.waitForResponse('https://example.com');
89+
await page.click('#xhr');
90+
await receivedResponse;
91+
92+
const { performanceSpans: spans1 } = getReplayRecordingContent(await reqPromise1);
93+
94+
const performanceSpans = [...spans0, ...spans1];
95+
96+
expect(performanceSpans).toContainEqual(expectedXHRPerformanceSpan);
97+
},
98+
);
99+
}

0 commit comments

Comments
 (0)