Skip to content

Commit d8bd2dd

Browse files
committed
Update E2E tests for Server-Timing header trace propagation
1 parent b50a192 commit d8bd2dd

File tree

8 files changed

+77
-77
lines changed

8 files changed

+77
-77
lines changed

dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/tests/client-transactions.test.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,30 +44,30 @@ test('Sends a navigation transaction with parameterized route to Sentry', async
4444
expect(transactionEvent.transaction).toBeTruthy();
4545
});
4646

47-
test('Renders `sentry-trace` and `baggage` meta tags for the root route', async ({ page }) => {
47+
test('Server-Timing header contains sentry-trace and baggage for the root route', async ({ page }) => {
48+
const responsePromise = page.waitForResponse(response => response.url().endsWith('/') && response.status() === 200);
49+
4850
await page.goto('/');
4951

50-
const sentryTraceMetaTag = await page.waitForSelector('meta[name="sentry-trace"]', {
51-
state: 'attached',
52-
});
53-
const baggageMetaTag = await page.waitForSelector('meta[name="baggage"]', {
54-
state: 'attached',
55-
});
52+
const response = await responsePromise;
53+
const serverTimingHeader = response.headers()['server-timing'];
5654

57-
expect(sentryTraceMetaTag).toBeTruthy();
58-
expect(baggageMetaTag).toBeTruthy();
55+
expect(serverTimingHeader).toBeDefined();
56+
expect(serverTimingHeader).toContain('sentry-trace');
57+
expect(serverTimingHeader).toContain('baggage');
5958
});
6059

61-
test('Renders `sentry-trace` and `baggage` meta tags for a sub-route', async ({ page }) => {
60+
test('Server-Timing header contains sentry-trace and baggage for a sub-route', async ({ page }) => {
61+
const responsePromise = page.waitForResponse(
62+
response => response.url().includes('/user/123') && response.status() === 200,
63+
);
64+
6265
await page.goto('/user/123');
6366

64-
const sentryTraceMetaTag = await page.waitForSelector('meta[name="sentry-trace"]', {
65-
state: 'attached',
66-
});
67-
const baggageMetaTag = await page.waitForSelector('meta[name="baggage"]', {
68-
state: 'attached',
69-
});
67+
const response = await responsePromise;
68+
const serverTimingHeader = response.headers()['server-timing'];
7069

71-
expect(sentryTraceMetaTag).toBeTruthy();
72-
expect(baggageMetaTag).toBeTruthy();
70+
expect(serverTimingHeader).toBeDefined();
71+
expect(serverTimingHeader).toContain('sentry-trace');
72+
expect(serverTimingHeader).toContain('baggage');
7373
});

dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/tests/server-transactions.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,6 @@ test('Sends two linked transactions (server & client) to Sentry', async ({ page
5454
expect(httpServerSpanId).toBeDefined();
5555

5656
expect(pageLoadTraceId).toEqual(httpServerTraceId);
57-
expect(pageLoadParentSpanId).toEqual(loaderSpanId);
57+
expect(pageLoadParentSpanId).toEqual(httpServerSpanId);
5858
expect(pageLoadSpanId).not.toEqual(httpServerSpanId);
5959
});

dev-packages/e2e-tests/test-applications/create-remix-app-express/tests/client-transactions.test.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,30 +28,30 @@ test('Sends a navigation transaction to Sentry', async ({ page }) => {
2828
expect(transactionEvent).toBeDefined();
2929
});
3030

31-
test('Renders `sentry-trace` and `baggage` meta tags for the root route', async ({ page }) => {
31+
test('Server-Timing header contains sentry-trace and baggage for the root route', async ({ page }) => {
32+
const responsePromise = page.waitForResponse(response => response.url().endsWith('/') && response.status() === 200);
33+
3234
await page.goto('/');
3335

34-
const sentryTraceMetaTag = await page.waitForSelector('meta[name="sentry-trace"]', {
35-
state: 'attached',
36-
});
37-
const baggageMetaTag = await page.waitForSelector('meta[name="baggage"]', {
38-
state: 'attached',
39-
});
36+
const response = await responsePromise;
37+
const serverTimingHeader = response.headers()['server-timing'];
4038

41-
expect(sentryTraceMetaTag).toBeTruthy();
42-
expect(baggageMetaTag).toBeTruthy();
39+
expect(serverTimingHeader).toBeDefined();
40+
expect(serverTimingHeader).toContain('sentry-trace');
41+
expect(serverTimingHeader).toContain('baggage');
4342
});
4443

45-
test('Renders `sentry-trace` and `baggage` meta tags for a sub-route', async ({ page }) => {
44+
test('Server-Timing header contains sentry-trace and baggage for a sub-route', async ({ page }) => {
45+
const responsePromise = page.waitForResponse(
46+
response => response.url().includes('/user/123') && response.status() === 200,
47+
);
48+
4649
await page.goto('/user/123');
4750

48-
const sentryTraceMetaTag = await page.waitForSelector('meta[name="sentry-trace"]', {
49-
state: 'attached',
50-
});
51-
const baggageMetaTag = await page.waitForSelector('meta[name="baggage"]', {
52-
state: 'attached',
53-
});
51+
const response = await responsePromise;
52+
const serverTimingHeader = response.headers()['server-timing'];
5453

55-
expect(sentryTraceMetaTag).toBeTruthy();
56-
expect(baggageMetaTag).toBeTruthy();
54+
expect(serverTimingHeader).toBeDefined();
55+
expect(serverTimingHeader).toContain('sentry-trace');
56+
expect(serverTimingHeader).toContain('baggage');
5757
});

dev-packages/e2e-tests/test-applications/create-remix-app-express/tests/server-transactions.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ test('Propagates trace when ErrorBoundary is triggered', async ({ page }) => {
9696
expect(httpServerSpanId).toBeDefined();
9797

9898
expect(pageLoadTraceId).toEqual(httpServerTraceId);
99-
expect(pageLoadParentSpanId).toEqual(loaderSpanId);
99+
expect(pageLoadParentSpanId).toEqual(httpServerSpanId);
100100
expect(pageLoadSpanId).not.toEqual(httpServerSpanId);
101101
});
102102

@@ -139,6 +139,6 @@ test('Sends two linked transactions (server & client) to Sentry', async ({ page
139139

140140
expect(loaderParentSpanId).toEqual(httpServerSpanId);
141141
expect(pageLoadTraceId).toEqual(httpServerTraceId);
142-
expect(pageLoadParentSpanId).toEqual(loaderSpanId);
142+
expect(pageLoadParentSpanId).toEqual(httpServerSpanId);
143143
expect(pageLoadSpanId).not.toEqual(httpServerSpanId);
144144
});

dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/tests/client-transactions.test.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,30 +28,30 @@ test('Sends a navigation transaction to Sentry', async ({ page }) => {
2828
expect(transactionEvent).toBeDefined();
2929
});
3030

31-
test('Renders `sentry-trace` and `baggage` meta tags for the root route', async ({ page }) => {
31+
test('Server-Timing header contains sentry-trace and baggage for the root route', async ({ page }) => {
32+
const responsePromise = page.waitForResponse(response => response.url().endsWith('/') && response.status() === 200);
33+
3234
await page.goto('/');
3335

34-
const sentryTraceMetaTag = await page.waitForSelector('meta[name="sentry-trace"]', {
35-
state: 'attached',
36-
});
37-
const baggageMetaTag = await page.waitForSelector('meta[name="baggage"]', {
38-
state: 'attached',
39-
});
36+
const response = await responsePromise;
37+
const serverTimingHeader = response.headers()['server-timing'];
4038

41-
expect(sentryTraceMetaTag).toBeTruthy();
42-
expect(baggageMetaTag).toBeTruthy();
39+
expect(serverTimingHeader).toBeDefined();
40+
expect(serverTimingHeader).toContain('sentry-trace');
41+
expect(serverTimingHeader).toContain('baggage');
4342
});
4443

45-
test('Renders `sentry-trace` and `baggage` meta tags for a sub-route', async ({ page }) => {
44+
test('Server-Timing header contains sentry-trace and baggage for a sub-route', async ({ page }) => {
45+
const responsePromise = page.waitForResponse(
46+
response => response.url().includes('/user/123') && response.status() === 200,
47+
);
48+
4649
await page.goto('/user/123');
4750

48-
const sentryTraceMetaTag = await page.waitForSelector('meta[name="sentry-trace"]', {
49-
state: 'attached',
50-
});
51-
const baggageMetaTag = await page.waitForSelector('meta[name="baggage"]', {
52-
state: 'attached',
53-
});
51+
const response = await responsePromise;
52+
const serverTimingHeader = response.headers()['server-timing'];
5453

55-
expect(sentryTraceMetaTag).toBeTruthy();
56-
expect(baggageMetaTag).toBeTruthy();
54+
expect(serverTimingHeader).toBeDefined();
55+
expect(serverTimingHeader).toContain('sentry-trace');
56+
expect(serverTimingHeader).toContain('baggage');
5757
});

dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/tests/server-transactions.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ test('Sends two linked transactions (server & client) to Sentry', async ({ page
5353
expect(httpServerSpanId).toBeDefined();
5454

5555
expect(pageLoadTraceId).toEqual(httpServerTraceId);
56-
expect(pageLoadParentSpanId).toEqual(loaderSpanId);
56+
expect(pageLoadParentSpanId).toEqual(httpServerSpanId);
5757
expect(pageLoadSpanId).not.toEqual(httpServerSpanId);
5858
});

dev-packages/e2e-tests/test-applications/create-remix-app-v2/tests/client-transactions.test.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,30 +28,30 @@ test('Sends a navigation transaction to Sentry', async ({ page }) => {
2828
expect(transactionEvent).toBeDefined();
2929
});
3030

31-
test('Renders `sentry-trace` and `baggage` meta tags for the root route', async ({ page }) => {
31+
test('Server-Timing header contains sentry-trace and baggage for the root route', async ({ page }) => {
32+
const responsePromise = page.waitForResponse(response => response.url().endsWith('/') && response.status() === 200);
33+
3234
await page.goto('/');
3335

34-
const sentryTraceMetaTag = await page.waitForSelector('meta[name="sentry-trace"]', {
35-
state: 'attached',
36-
});
37-
const baggageMetaTag = await page.waitForSelector('meta[name="baggage"]', {
38-
state: 'attached',
39-
});
36+
const response = await responsePromise;
37+
const serverTimingHeader = response.headers()['server-timing'];
4038

41-
expect(sentryTraceMetaTag).toBeTruthy();
42-
expect(baggageMetaTag).toBeTruthy();
39+
expect(serverTimingHeader).toBeDefined();
40+
expect(serverTimingHeader).toContain('sentry-trace');
41+
expect(serverTimingHeader).toContain('baggage');
4342
});
4443

45-
test('Renders `sentry-trace` and `baggage` meta tags for a sub-route', async ({ page }) => {
44+
test('Server-Timing header contains sentry-trace and baggage for a sub-route', async ({ page }) => {
45+
const responsePromise = page.waitForResponse(
46+
response => response.url().includes('/user/123') && response.status() === 200,
47+
);
48+
4649
await page.goto('/user/123');
4750

48-
const sentryTraceMetaTag = await page.waitForSelector('meta[name="sentry-trace"]', {
49-
state: 'attached',
50-
});
51-
const baggageMetaTag = await page.waitForSelector('meta[name="baggage"]', {
52-
state: 'attached',
53-
});
51+
const response = await responsePromise;
52+
const serverTimingHeader = response.headers()['server-timing'];
5453

55-
expect(sentryTraceMetaTag).toBeTruthy();
56-
expect(baggageMetaTag).toBeTruthy();
54+
expect(serverTimingHeader).toBeDefined();
55+
expect(serverTimingHeader).toContain('sentry-trace');
56+
expect(serverTimingHeader).toContain('baggage');
5757
});

dev-packages/e2e-tests/test-applications/create-remix-app-v2/tests/server-transactions.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ test('Sends two linked transactions (server & client) to Sentry', async ({ page
5353
expect(httpServerSpanId).toBeDefined();
5454

5555
expect(pageLoadTraceId).toEqual(httpServerTraceId);
56-
expect(pageLoadParentSpanId).toEqual(loaderSpanId);
56+
expect(pageLoadParentSpanId).toEqual(httpServerSpanId);
5757
expect(pageLoadSpanId).not.toEqual(httpServerSpanId);
5858
});

0 commit comments

Comments
 (0)