From ef0641c1cc77e4f679c82a724d42b46bbf09df5c Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Tue, 14 May 2024 13:07:58 +0200 Subject: [PATCH 1/4] test(e2e): Enable ESM loader test fix? hm Bump node version Bump node version bump ci? hm . . test(e2e): Re-active & fix node-express-esm-loader test app --- .github/workflows/build.yml | 2 +- .../.npmrc | 0 .../package.json | 11 ++++------- .../playwright.config.ts | 2 ++ .../src/app.mjs | 12 ++---------- .../node-express-esm-loader/src/instrument.mjs | 8 ++++++++ .../start-event-proxy.mjs | 2 +- .../tests/server.test.ts | 11 +++++------ dev-packages/event-proxy-server/package.json | 1 + 9 files changed, 24 insertions(+), 25 deletions(-) rename dev-packages/e2e-tests/test-applications/{esm-loader-node-express-app => node-express-esm-loader}/.npmrc (100%) rename dev-packages/e2e-tests/test-applications/{esm-loader-node-express-app => node-express-esm-loader}/package.json (65%) rename dev-packages/e2e-tests/test-applications/{esm-loader-node-express-app => node-express-esm-loader}/playwright.config.ts (97%) rename dev-packages/e2e-tests/test-applications/{esm-loader-node-express-app => node-express-esm-loader}/src/app.mjs (80%) create mode 100644 dev-packages/e2e-tests/test-applications/node-express-esm-loader/src/instrument.mjs rename dev-packages/e2e-tests/test-applications/{esm-loader-node-express-app => node-express-esm-loader}/start-event-proxy.mjs (70%) rename dev-packages/e2e-tests/test-applications/{esm-loader-node-express-app => node-express-esm-loader}/tests/server.test.ts (65%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 01f9ab5584f1..d617b09bea01 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1003,7 +1003,7 @@ jobs: 'create-remix-app-express', 'create-remix-app-express-vite-dev', 'debug-id-sourcemaps', - # 'esm-loader-node-express-app', # This is currently broken for upstream reasons. See https://github.com/getsentry/sentry-javascript/pull/11338#issuecomment-2025450675 + 'node-express-esm-loader', 'nextjs-app-dir', 'nextjs-14', 'react-create-hash-router', diff --git a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/.npmrc b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/.npmrc similarity index 100% rename from dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/.npmrc rename to dev-packages/e2e-tests/test-applications/node-express-esm-loader/.npmrc diff --git a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/package.json b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json similarity index 65% rename from dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/package.json rename to dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json index f6573ae55007..18279ea46295 100644 --- a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json @@ -1,20 +1,17 @@ { - "name": "node-express-app", + "name": "node-express-esm-loader", "version": "1.0.0", "private": true, "scripts": { - "start": "node --import=@sentry/node/import-hook src/app.mjs", + "start": "node --import ./src/instrument.mjs src/app.mjs", "clean": "npx rimraf node_modules,pnpm-lock.yaml", "test:build": "pnpm install", "test:assert": "playwright test" }, "dependencies": { "@sentry/node": "latest || *", - "@sentry/types": "latest || *", - "express": "4.19.2", - "@types/express": "4.17.17", - "@types/node": "18.15.1", - "typescript": "4.9.5" + "@sentry/opentelemetry": "latest || *", + "express": "4.19.2" }, "devDependencies": { "@sentry-internal/event-proxy-server": "link:../../../event-proxy-server", diff --git a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/playwright.config.ts b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/playwright.config.ts similarity index 97% rename from dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/playwright.config.ts rename to dev-packages/e2e-tests/test-applications/node-express-esm-loader/playwright.config.ts index 0c90619d7043..5e672ed97676 100644 --- a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/playwright.config.ts +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/playwright.config.ts @@ -55,6 +55,8 @@ const config: PlaywrightTestConfig = { { command: 'node start-event-proxy.mjs', port: eventProxyPort, + stdout: 'pipe', + stderr: 'pipe', }, { command: 'pnpm start', diff --git a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/src/app.mjs b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/src/app.mjs similarity index 80% rename from dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/src/app.mjs rename to dev-packages/e2e-tests/test-applications/node-express-esm-loader/src/app.mjs index 8dc36dc7066b..8d6258284529 100644 --- a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/src/app.mjs +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/src/app.mjs @@ -1,13 +1,6 @@ -import * as Sentry from '@sentry/node'; - -Sentry.init({ - environment: 'qa', // dynamic sampling bias to keep transactions - dsn: process.env.E2E_TEST_DSN, - debug: true, - tunnel: `http://localhost:3031/`, // proxy server - tracesSampleRate: 1, -}); +// @ts-check +import * as Sentry from '@sentry/node'; import express from 'express'; const app = express(); @@ -36,7 +29,6 @@ app.get('/test-error', function (req, res) { Sentry.setupExpressErrorHandler(app); -// @ts-ignore app.use(function onError(err, req, res, next) { // The error id is attached to `res.sentry` to be returned // and optionally displayed to the user for support. diff --git a/dev-packages/e2e-tests/test-applications/node-express-esm-loader/src/instrument.mjs b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/src/instrument.mjs new file mode 100644 index 000000000000..544c773e5e7c --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/src/instrument.mjs @@ -0,0 +1,8 @@ +import * as Sentry from '@sentry/node'; + +Sentry.init({ + environment: 'qa', // dynamic sampling bias to keep transactions + dsn: process.env.E2E_TEST_DSN, + tunnel: `http://localhost:3031/`, // proxy server + tracesSampleRate: 1, +}); diff --git a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/start-event-proxy.mjs b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/start-event-proxy.mjs similarity index 70% rename from dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/start-event-proxy.mjs rename to dev-packages/e2e-tests/test-applications/node-express-esm-loader/start-event-proxy.mjs index 8ea4d3e9a251..ae508f6ea13c 100644 --- a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/start-event-proxy.mjs +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/start-event-proxy.mjs @@ -2,5 +2,5 @@ import { startEventProxyServer } from '@sentry-internal/event-proxy-server'; startEventProxyServer({ port: 3031, - proxyServerName: 'esm-loader-node-express-app', + proxyServerName: 'node-express-esm-loader', }); diff --git a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/tests/server.test.ts b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/tests/server.test.ts similarity index 65% rename from dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/tests/server.test.ts rename to dev-packages/e2e-tests/test-applications/node-express-esm-loader/tests/server.test.ts index b11e0849f63a..7254ef1a2876 100644 --- a/dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/tests/server.test.ts +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/tests/server.test.ts @@ -2,7 +2,7 @@ import { expect, test } from '@playwright/test'; import { waitForError, waitForTransaction } from '@sentry-internal/event-proxy-server'; test('Should record exceptions captured inside handlers', async ({ request }) => { - const errorEventPromise = waitForError('esm-loader-node-express-app', errorEvent => { + const errorEventPromise = waitForError('node-express-esm-loader', errorEvent => { return !!errorEvent?.exception?.values?.[0]?.value?.includes('This is an error'); }); @@ -12,8 +12,7 @@ test('Should record exceptions captured inside handlers', async ({ request }) => }); test('Should record a transaction for a parameterless route', async ({ request }) => { - const transactionEventPromise = waitForTransaction('esm-loader-node-express-app', transactionEvent => { - console.log('txn', transactionEvent.transaction); + const transactionEventPromise = waitForTransaction('node-express-esm-loader', transactionEvent => { return transactionEvent?.transaction === 'GET /test-success'; }); @@ -22,9 +21,9 @@ test('Should record a transaction for a parameterless route', async ({ request } await expect(transactionEventPromise).resolves.toBeDefined(); }); -test('Should record a transaction for route with aparameters', async ({ request }) => { - const transactionEventPromise = waitForTransaction('esm-loader-node-express-app', transactionEvent => { - return transactionEvent?.transaction === 'GET /test-transaction/:param'; +test('Should record a transaction for route with parameters', async ({ request }) => { + const transactionEventPromise = waitForTransaction('node-express-esm-loader', transactionEvent => { + return transactionEvent?.transaction === 'GET /test-transaction/1'; }); await request.get('/test-transaction/1'); diff --git a/dev-packages/event-proxy-server/package.json b/dev-packages/event-proxy-server/package.json index a249aa07712e..ace5b80e31ae 100644 --- a/dev-packages/event-proxy-server/package.json +++ b/dev-packages/event-proxy-server/package.json @@ -34,6 +34,7 @@ "fix": "eslint . --format stylish --fix", "lint": "eslint . --format stylish", "build": "run-s build:transpile build:types", + "build:tarball": "run-s build:transpile build:types", "build:dev": "yarn build", "build:transpile": "rollup -c rollup.npm.config.mjs", "build:types": "tsc -p tsconfig.types.json", From fc544a25098cafd8fb1d251356ec7543b5a1752b Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Tue, 14 May 2024 13:37:25 +0200 Subject: [PATCH 2/4] fix rimraf commands --- .../e2e-tests/test-applications/angular-17/package.json | 2 +- .../e2e-tests/test-applications/cloudflare-astro/package.json | 2 +- .../e2e-tests/test-applications/create-next-app/package.json | 2 +- .../e2e-tests/test-applications/create-react-app/package.json | 2 +- .../create-remix-app-express-vite-dev/package.json | 2 +- .../test-applications/create-remix-app-express/package.json | 2 +- .../test-applications/create-remix-app-v2/package.json | 2 +- .../e2e-tests/test-applications/create-remix-app/package.json | 2 +- .../test-applications/debug-id-sourcemaps/package.json | 2 +- dev-packages/e2e-tests/test-applications/nextjs-14/package.json | 2 +- .../e2e-tests/test-applications/nextjs-app-dir/package.json | 2 +- .../test-applications/node-exports-test-app/package.json | 2 +- .../test-applications/node-express-esm-loader/package.json | 2 +- .../e2e-tests/test-applications/node-express/package.json | 2 +- dev-packages/e2e-tests/test-applications/node-hapi/package.json | 2 +- dev-packages/e2e-tests/test-applications/node-koa/package.json | 2 +- .../e2e-tests/test-applications/node-nestjs/package.json | 2 +- .../test-applications/react-create-hash-router/package.json | 2 +- .../e2e-tests/test-applications/react-router-5/package.json | 2 +- .../test-applications/react-router-6-use-routes/package.json | 2 +- .../test-applications/standard-frontend-react/package.json | 2 +- .../test-applications/sveltekit-2-svelte-5/package.json | 2 +- .../e2e-tests/test-applications/sveltekit-2/package.json | 2 +- dev-packages/e2e-tests/test-applications/sveltekit/package.json | 2 +- dev-packages/e2e-tests/test-applications/vue-3/package.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/angular-17/package.json b/dev-packages/e2e-tests/test-applications/angular-17/package.json index 99804989a8a7..83450dc26987 100644 --- a/dev-packages/e2e-tests/test-applications/angular-17/package.json +++ b/dev-packages/e2e-tests/test-applications/angular-17/package.json @@ -11,7 +11,7 @@ "test": "playwright test", "test:build": "pnpm install && npx playwright install && pnpm build", "test:assert": "playwright test", - "clean": "npx rimraf .angular,node_modules,pnpm-lock.yaml,dist" + "clean": "npx rimraf .angular node_modules pnpm-lock.yaml dist" }, "private": true, "dependencies": { diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-astro/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-astro/package.json index 5ac3adc9da61..a69841091fb1 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-astro/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-astro/package.json @@ -7,7 +7,7 @@ "astro": "astro", "build": "astro build", "build:bundle": "astro build", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "dev": "astro dev", "preview": "astro preview", "start": "astro dev", diff --git a/dev-packages/e2e-tests/test-applications/create-next-app/package.json b/dev-packages/e2e-tests/test-applications/create-next-app/package.json index c74dc5c414e1..74c257558846 100644 --- a/dev-packages/e2e-tests/test-applications/create-next-app/package.json +++ b/dev-packages/e2e-tests/test-applications/create-next-app/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "build": "next build", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:prod": "TEST_ENV=prod playwright test", "test:dev": "TEST_ENV=dev playwright test", "test:build": "pnpm install && npx playwright install && pnpm build", diff --git a/dev-packages/e2e-tests/test-applications/create-react-app/package.json b/dev-packages/e2e-tests/test-applications/create-react-app/package.json index a6f33f5372f4..4b1c62920154 100644 --- a/dev-packages/e2e-tests/test-applications/create-react-app/package.json +++ b/dev-packages/e2e-tests/test-applications/create-react-app/package.json @@ -22,7 +22,7 @@ "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", "test:build-ts3.8": "pnpm install && pnpm add typescript@3.8 && pnpm build", "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && pnpm build", diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/package.json b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/package.json index 29bdaf8515c6..7fc1d1492746 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/package.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/package.json @@ -7,7 +7,7 @@ "lint": "eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .", "start": "cross-env NODE_ENV=production node ./server.mjs", "typecheck": "tsc", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && npx playwright install && pnpm build", "test:assert": "pnpm playwright test" }, diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express/package.json b/dev-packages/e2e-tests/test-applications/create-remix-app-express/package.json index 43333e87c01a..abad042bed58 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express/package.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express/package.json @@ -8,7 +8,7 @@ "lint": "eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .", "start": "cross-env NODE_ENV=production node ./server.mjs", "typecheck": "tsc", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && npx playwright install && pnpm build", "test:assert": "pnpm playwright test" }, diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/package.json b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/package.json index 7edcd63d4b9f..c3c98bd34ab4 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/package.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/package.json @@ -6,7 +6,7 @@ "dev": "remix dev", "start": "remix-serve build/index.js", "typecheck": "tsc", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && npx playwright install && pnpm build", "test:assert": "pnpm playwright test" }, diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app/package.json b/dev-packages/e2e-tests/test-applications/create-remix-app/package.json index 5d54be54cd12..f794844afe9e 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app/package.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app/package.json @@ -6,7 +6,7 @@ "dev": "remix dev", "start": "remix-serve build", "typecheck": "tsc", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && npx playwright install && pnpm build", "test:assert": "pnpm playwright test" }, diff --git a/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/package.json index d6ebb1faa7a5..ed70d21cae2b 100644 --- a/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/package.json @@ -5,7 +5,7 @@ "scripts": { "build": "rollup --config rollup.config.mjs", "test": "vitest run", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", "test:assert": "pnpm test" }, diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/package.json b/dev-packages/e2e-tests/test-applications/nextjs-14/package.json index dff09d3138c0..c597d55a1f17 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "build": "next build > .tmp_build_stdout 2> .tmp_build_stderr || (cat .tmp_build_stdout && cat .tmp_build_stderr && exit 1)", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", "test:build": "pnpm install && npx playwright install && pnpm build", diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json index 76b3f7c57605..c9f87f9cce33 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "build": "next build > .tmp_build_stdout 2> .tmp_build_stderr || (cat .tmp_build_stdout && cat .tmp_build_stderr && exit 1)", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", "test:build": "pnpm install && npx playwright install && pnpm build", diff --git a/dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json b/dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json index afb40752bac7..574371f84c15 100644 --- a/dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json +++ b/dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json @@ -7,7 +7,7 @@ "build": "tsc", "start": "pnpm build && bun run ./dist/consistentExports.js", "test": " bun run ./dist/consistentExports.js", - "clean": "npx rimraf node_modules,pnpm-lock.yaml,dist", + "clean": "npx rimraf node_modules pnpm-lock.yaml dist", "test:build": "pnpm install && pnpm build", "test:assert": "pnpm test" }, diff --git a/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json index 18279ea46295..2d3bbb738945 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "start": "node --import ./src/instrument.mjs src/app.mjs", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install", "test:assert": "playwright test" }, diff --git a/dev-packages/e2e-tests/test-applications/node-express/package.json b/dev-packages/e2e-tests/test-applications/node-express/package.json index cde7d2b5898d..b3835693d99d 100644 --- a/dev-packages/e2e-tests/test-applications/node-express/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express/package.json @@ -6,7 +6,7 @@ "build": "tsc", "start": "node dist/app.js", "test": "playwright test", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", "test:assert": "pnpm test" }, diff --git a/dev-packages/e2e-tests/test-applications/node-hapi/package.json b/dev-packages/e2e-tests/test-applications/node-hapi/package.json index f2029bb3dcdc..017d55438ab1 100644 --- a/dev-packages/e2e-tests/test-applications/node-hapi/package.json +++ b/dev-packages/e2e-tests/test-applications/node-hapi/package.json @@ -6,7 +6,7 @@ "build": "tsc", "start": "node src/app.js", "test": "playwright test", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install", "test:assert": "pnpm test" }, diff --git a/dev-packages/e2e-tests/test-applications/node-koa/package.json b/dev-packages/e2e-tests/test-applications/node-koa/package.json index 32531e39a870..8050820d28ea 100644 --- a/dev-packages/e2e-tests/test-applications/node-koa/package.json +++ b/dev-packages/e2e-tests/test-applications/node-koa/package.json @@ -5,7 +5,7 @@ "scripts": { "start": "node index.js", "test": "playwright test", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install", "test:assert": "pnpm test" }, diff --git a/dev-packages/e2e-tests/test-applications/node-nestjs/package.json b/dev-packages/e2e-tests/test-applications/node-nestjs/package.json index 78ad1c14d5b2..51fb770cbb83 100644 --- a/dev-packages/e2e-tests/test-applications/node-nestjs/package.json +++ b/dev-packages/e2e-tests/test-applications/node-nestjs/package.json @@ -9,7 +9,7 @@ "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test": "playwright test", "test:build": "pnpm install", "test:assert": "pnpm test" diff --git a/dev-packages/e2e-tests/test-applications/react-create-hash-router/package.json b/dev-packages/e2e-tests/test-applications/react-create-hash-router/package.json index d1842bc24d91..9c2d5d24868a 100644 --- a/dev-packages/e2e-tests/test-applications/react-create-hash-router/package.json +++ b/dev-packages/e2e-tests/test-applications/react-create-hash-router/package.json @@ -22,7 +22,7 @@ "build": "react-scripts build", "start": "serve -s build", "test": "playwright test", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && npx playwright install && pnpm build", "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && npx playwright install && pnpm build", "test:assert": "pnpm test" diff --git a/dev-packages/e2e-tests/test-applications/react-router-5/package.json b/dev-packages/e2e-tests/test-applications/react-router-5/package.json index 670c74208824..93f13f25ae6f 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-5/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-5/package.json @@ -26,7 +26,7 @@ "build": "react-scripts build", "start": "serve -s build", "test": "playwright test", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && npx playwright install && pnpm build", "test:assert": "pnpm test" }, diff --git a/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/package.json b/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/package.json index f1795b574b4f..96d140adfa1d 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/package.json @@ -22,7 +22,7 @@ "build": "react-scripts build", "start": "serve -s build", "test": "playwright test", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && npx playwright install && pnpm build", "test:build-ts3.8": "pnpm install && pnpm add typescript@3.8 && npx playwright install && pnpm build", "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && npx playwright install && pnpm build", diff --git a/dev-packages/e2e-tests/test-applications/standard-frontend-react/package.json b/dev-packages/e2e-tests/test-applications/standard-frontend-react/package.json index 10ace7b83893..3650e2427b44 100644 --- a/dev-packages/e2e-tests/test-applications/standard-frontend-react/package.json +++ b/dev-packages/e2e-tests/test-applications/standard-frontend-react/package.json @@ -22,7 +22,7 @@ "build": "react-scripts build", "start": "serve -s build", "test": "playwright test", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && npx playwright install && pnpm build", "test:build-ts3.8": "pnpm install && pnpm add typescript@3.8 && npx playwright install && pnpm build", "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && npx playwright install && pnpm build", diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/package.json index ff654d5ba6cc..1e3b02d5d4b1 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/package.json @@ -7,7 +7,7 @@ "build": "vite build", "preview": "vite preview", "proxy": "node start-event-proxy.mjs", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "test:prod": "TEST_ENV=production playwright test", diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json index 94b6f5e7d58f..ae18e7e34017 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json @@ -7,7 +7,7 @@ "build": "vite build", "preview": "vite preview", "proxy": "node start-event-proxy.mjs", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "test:prod": "TEST_ENV=production playwright test", diff --git a/dev-packages/e2e-tests/test-applications/sveltekit/package.json b/dev-packages/e2e-tests/test-applications/sveltekit/package.json index c944bc04d090..84fef7db3923 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit/package.json @@ -6,7 +6,7 @@ "dev": "vite dev", "build": "vite build", "preview": "vite preview", - "clean": "npx rimraf node_modules,pnpm-lock.yaml", + "clean": "npx rimraf node_modules pnpm-lock.yaml", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "test:prod": "TEST_ENV=production playwright test", diff --git a/dev-packages/e2e-tests/test-applications/vue-3/package.json b/dev-packages/e2e-tests/test-applications/vue-3/package.json index 7fcd56f4a94f..dcce378b5b0c 100644 --- a/dev-packages/e2e-tests/test-applications/vue-3/package.json +++ b/dev-packages/e2e-tests/test-applications/vue-3/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "clean": "npx rimraf node_modules,pnpm-lock.yaml,dist", + "clean": "npx rimraf node_modules pnpm-lock.yaml dist", "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", From 24a1d94d9832bb15944dbd72dac78467363c977c Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Tue, 14 May 2024 13:48:40 +0200 Subject: [PATCH 3/4] WIP --- dev-packages/e2e-tests/test-applications/vue-3/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/vue-3/package.json b/dev-packages/e2e-tests/test-applications/vue-3/package.json index dcce378b5b0c..95288dc0e52f 100644 --- a/dev-packages/e2e-tests/test-applications/vue-3/package.json +++ b/dev-packages/e2e-tests/test-applications/vue-3/package.json @@ -20,7 +20,7 @@ "vue-router": "^4.2.5" }, "devDependencies": { - "@sentry-internal/event-proxy-server": "link:../../../event-proxy-server/", + "@sentry-internal/event-proxy-server": "link:../../../event-proxy-server", "@playwright/test": "^1.41.1", "@sentry/types": "latest || *", "@sentry/utils": "latest || *", From c0062f96d7fbbe34951808a3250720a3152fe769 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 15 May 2024 14:19:46 +0200 Subject: [PATCH 4/4] fix test --- .../tests/server.test.ts | 89 ++++++++++++++++++- 1 file changed, 87 insertions(+), 2 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/node-express-esm-loader/tests/server.test.ts b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/tests/server.test.ts index 7254ef1a2876..3602a3c54623 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-esm-loader/tests/server.test.ts +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/tests/server.test.ts @@ -23,10 +23,95 @@ test('Should record a transaction for a parameterless route', async ({ request } test('Should record a transaction for route with parameters', async ({ request }) => { const transactionEventPromise = waitForTransaction('node-express-esm-loader', transactionEvent => { - return transactionEvent?.transaction === 'GET /test-transaction/1'; + return transactionEvent.contexts?.trace?.data?.['http.target'] === '/test-transaction/1'; }); await request.get('/test-transaction/1'); - await expect(transactionEventPromise).resolves.toBeDefined(); + const transactionEvent = await transactionEventPromise; + + expect(transactionEvent).toBeDefined(); + expect(transactionEvent.transaction).toEqual('GET /test-transaction/:param'); + expect(transactionEvent.contexts?.trace?.data).toEqual( + expect.objectContaining({ + 'http.flavor': '1.1', + 'http.host': 'localhost:3030', + 'http.method': 'GET', + 'http.response.status_code': 200, + 'http.route': '/test-transaction/:param', + 'http.scheme': 'http', + 'http.status_code': 200, + 'http.status_text': 'OK', + 'http.target': '/test-transaction/1', + 'http.url': 'http://localhost:3030/test-transaction/1', + 'http.user_agent': expect.any(String), + 'net.host.ip': expect.any(String), + 'net.host.name': 'localhost', + 'net.host.port': 3030, + 'net.peer.ip': expect.any(String), + 'net.peer.port': expect.any(Number), + 'net.transport': 'ip_tcp', + 'otel.kind': 'SERVER', + 'sentry.op': 'http.server', + 'sentry.origin': 'auto.http.otel.http', + 'sentry.sample_rate': 1, + 'sentry.source': 'route', + url: 'http://localhost:3030/test-transaction/1', + }), + ); + + const spans = transactionEvent.spans || []; + expect(spans).toContainEqual({ + data: { + 'express.name': 'query', + 'express.type': 'middleware', + 'http.route': '/', + 'otel.kind': 'INTERNAL', + 'sentry.origin': 'auto.http.otel.express', + }, + description: 'middleware - query', + origin: 'auto.http.otel.express', + parent_span_id: expect.any(String), + span_id: expect.any(String), + start_timestamp: expect.any(Number), + status: 'ok', + timestamp: expect.any(Number), + trace_id: expect.any(String), + }); + + expect(spans).toContainEqual({ + data: { + 'express.name': 'expressInit', + 'express.type': 'middleware', + 'http.route': '/', + 'otel.kind': 'INTERNAL', + 'sentry.origin': 'auto.http.otel.express', + }, + description: 'middleware - expressInit', + origin: 'auto.http.otel.express', + parent_span_id: expect.any(String), + span_id: expect.any(String), + start_timestamp: expect.any(Number), + status: 'ok', + timestamp: expect.any(Number), + trace_id: expect.any(String), + }); + + expect(spans).toContainEqual({ + data: { + 'express.name': '/test-transaction/:param', + 'express.type': 'request_handler', + 'http.route': '/test-transaction/:param', + 'otel.kind': 'INTERNAL', + 'sentry.origin': 'auto.http.otel.express', + }, + description: 'request handler - /test-transaction/:param', + origin: 'auto.http.otel.express', + parent_span_id: expect.any(String), + span_id: expect.any(String), + start_timestamp: expect.any(Number), + status: 'ok', + timestamp: expect.any(Number), + trace_id: expect.any(String), + }); });