From 99629aa88cb5603fd948dba1df1b119fb7d5b111 Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Fri, 17 Jan 2025 12:52:34 +0000 Subject: [PATCH 1/3] ci(e2e-test): Unparallelize nextjs-14 e2e tests --- .../nextjs-14/playwright.config.ts | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/playwright.config.ts b/dev-packages/e2e-tests/test-applications/nextjs-14/playwright.config.ts index 8448829443d6..c675d003853a 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/playwright.config.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/playwright.config.ts @@ -5,15 +5,9 @@ if (!testEnv) { throw new Error('No test env defined'); } -const config = getPlaywrightConfig( - { - startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030', - port: 3030, - }, - { - // This comes with the risk of tests leaking into each other but the tests run quite slow so we should parallelize - workers: '100%', - }, -); +const config = getPlaywrightConfig({ + startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030', + port: 3030, +}); export default config; From f9a07dc0643b73c051ddf55dcb368b4b57a0f48e Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Fri, 17 Jan 2025 13:30:24 +0000 Subject: [PATCH 2/3] more maybe? --- .../nextjs-14/app/request-instrumentation/page.tsx | 6 +++--- .../nextjs-14/playwright.config.ts | 14 ++++++++++---- .../tests/request-instrumentation.test.ts | 4 ++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/app/request-instrumentation/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-14/app/request-instrumentation/page.tsx index c11efda8adc9..0d877296cced 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/app/request-instrumentation/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/app/request-instrumentation/page.tsx @@ -1,11 +1,11 @@ -import http from 'http'; +import https from 'https'; export const dynamic = 'force-dynamic'; export default async function Page() { - await fetch('http://example.com/', { cache: 'no-cache' }).then(res => res.text()); + await fetch('https://example.com/', { cache: 'no-cache' }).then(res => res.text()); await new Promise(resolve => { - http.get('http://example.com/', res => { + https.get('https://example.com/', res => { res.on('data', () => { // Noop consuming some data so that request can close :) }); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/playwright.config.ts b/dev-packages/e2e-tests/test-applications/nextjs-14/playwright.config.ts index c675d003853a..8448829443d6 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/playwright.config.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/playwright.config.ts @@ -5,9 +5,15 @@ if (!testEnv) { throw new Error('No test env defined'); } -const config = getPlaywrightConfig({ - startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030', - port: 3030, -}); +const config = getPlaywrightConfig( + { + startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030', + port: 3030, + }, + { + // This comes with the risk of tests leaking into each other but the tests run quite slow so we should parallelize + workers: '100%', + }, +); export default config; diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/tests/request-instrumentation.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-14/tests/request-instrumentation.test.ts index 65b9c4312d91..d26d4e871b6e 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/tests/request-instrumentation.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/tests/request-instrumentation.test.ts @@ -19,7 +19,7 @@ test('Should send a transaction with a fetch span', async ({ page }) => { 'sentry.op': 'http.client', 'sentry.origin': 'auto.http.otel.node_fetch', }), - description: 'GET http://example.com/', + description: 'GET https://example.com/', }), ); @@ -30,7 +30,7 @@ test('Should send a transaction with a fetch span', async ({ page }) => { 'sentry.op': 'http.client', 'sentry.origin': 'auto.http.otel.http', }), - description: 'GET http://example.com/', + description: 'GET https://example.com/', }), ); }); From 8ea272647e48a014a1c1f6a1458b5962f73a9fc2 Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Fri, 17 Jan 2025 13:33:20 +0000 Subject: [PATCH 3/3] idk? --- .../e2e-tests/test-applications/nextjs-13/pages/fetch.tsx | 2 +- .../nextjs-13/tests/client/fetch.test.ts | 8 ++++---- .../nextjs-15/app/pageload-tracing/page.tsx | 2 +- .../nextjs-15/app/suspense-error/page.tsx | 2 +- .../nextjs-app-dir/app/server-action/page.tsx | 2 +- .../nextjs-app-dir/pages/api/request-instrumentation.ts | 2 +- .../nextjs-app-dir/tests/request-instrumentation.test.ts | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-13/pages/fetch.tsx b/dev-packages/e2e-tests/test-applications/nextjs-13/pages/fetch.tsx index 0493d4e508f3..763c27228193 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-13/pages/fetch.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-13/pages/fetch.tsx @@ -3,7 +3,7 @@ import { useEffect } from 'react'; export default function FetchPage() { useEffect(() => { // test that a span is created in the pageload transaction for this fetch request - fetch('http://example.com').catch(() => { + fetch('https://example.com').catch(() => { // no-empty }); }, []); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-13/tests/client/fetch.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-13/tests/client/fetch.test.ts index a4608b2abab5..4bdafbc7ed10 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-13/tests/client/fetch.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-13/tests/client/fetch.test.ts @@ -2,7 +2,7 @@ import { expect, test } from '@playwright/test'; import { waitForTransaction } from '@sentry-internal/test-utils'; test('should correctly instrument `fetch` for performance tracing', async ({ page }) => { - await page.route('http://example.com/**/*', route => { + await page.route('https://example.com/**/*', route => { return route.fulfill({ status: 200, body: JSON.stringify({ @@ -34,8 +34,8 @@ test('should correctly instrument `fetch` for performance tracing', async ({ pag expect.objectContaining({ data: { 'http.method': 'GET', - url: 'http://example.com', - 'http.url': 'http://example.com/', + url: 'https://example.com', + 'http.url': 'https://example.com/', 'server.address': 'example.com', type: 'fetch', 'http.response_content_length': expect.any(Number), @@ -43,7 +43,7 @@ test('should correctly instrument `fetch` for performance tracing', async ({ pag 'sentry.op': 'http.client', 'sentry.origin': 'auto.http.browser', }, - description: 'GET http://example.com', + description: 'GET https://example.com', op: 'http.client', parent_span_id: expect.stringMatching(/[a-f0-9]{16}/), span_id: expect.stringMatching(/[a-f0-9]{16}/), diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/app/pageload-tracing/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-15/app/pageload-tracing/page.tsx index 41552d578fd4..689735d61ddf 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/app/pageload-tracing/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/app/pageload-tracing/page.tsx @@ -6,7 +6,7 @@ export default async function Page() { } export async function generateMetadata() { - (await fetch('http://example.com/', { cache: 'no-store' })).text(); + (await fetch('https://example.com/', { cache: 'no-store' })).text(); return { title: 'my title', diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/app/suspense-error/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-15/app/suspense-error/page.tsx index 007e2e2feac2..ff49745d405b 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/app/suspense-error/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/app/suspense-error/page.tsx @@ -4,7 +4,7 @@ export const dynamic = 'force-dynamic'; export default async function Page() { try { - use(fetch('http://example.com/')); + use(fetch('https://example.com/')); } catch (e) { Sentry.captureException(e); // This error should not be reported await new Promise(resolve => setTimeout(resolve, 1000)); // Wait for any async event processors to run diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/app/server-action/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/app/server-action/page.tsx index 6784970d2aae..18ffe80fe707 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/app/server-action/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/app/server-action/page.tsx @@ -9,7 +9,7 @@ export default function ServerComponent() { 'myServerAction', { formData, headers: headers(), recordResponse: true }, async () => { - await fetch('http://example.com/'); + await fetch('https://example.com/'); return { city: 'Vienna' }; }, ); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/pages/api/request-instrumentation.ts b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/pages/api/request-instrumentation.ts index 044731530152..8d3ae01a11b7 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/pages/api/request-instrumentation.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/pages/api/request-instrumentation.ts @@ -3,7 +3,7 @@ import { NextApiRequest, NextApiResponse } from 'next'; export default (_req: NextApiRequest, res: NextApiResponse) => { // make an outgoing request in order to test that the `Http` integration creates a span - get('http://example.com/', message => { + get('https://example.com/', message => { message.on('data', () => { // Noop consuming some data so that request can close :) }); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/request-instrumentation.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/request-instrumentation.test.ts index d032c6985c94..f392a63d4086 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/request-instrumentation.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/request-instrumentation.test.ts @@ -18,7 +18,7 @@ test.skip('Should send a transaction with a http span', async ({ request }) => { 'sentry.op': 'http.client', 'sentry.origin': 'auto.http.otel.http', }), - description: 'GET http://example.com/', + description: 'GET https://example.com/', }), ); });