diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 438e521472d1..4541d45b79a1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -691,6 +691,8 @@ jobs: E2E_TEST_PUBLISH_SCRIPT_NODE_VERSION: ${{ steps.versions.outputs.node }} E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }} E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }} + E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks' + E2E_TEST_SENTRY_TEST_PROJECT: 'sentry-javascript-e2e-tests' run: | cd packages/e2e-tests yarn test:e2e diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index 7ecbe2ce74a6..2517ba86ce2f 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -41,6 +41,8 @@ jobs: E2E_TEST_PUBLISH_SCRIPT_NODE_VERSION: ${{ steps.versions.outputs.node }} E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }} E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }} + E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks' + E2E_TEST_SENTRY_TEST_PROJECT: 'sentry-javascript-e2e-tests' CANARY_E2E_TEST: 'yes' run: | cd packages/e2e-tests diff --git a/packages/e2e-tests/.env.example b/packages/e2e-tests/.env.example index f712375898d7..559550968130 100644 --- a/packages/e2e-tests/.env.example +++ b/packages/e2e-tests/.env.example @@ -1,2 +1,4 @@ E2E_TEST_AUTH_TOKEN= E2E_TEST_DSN= +E2E_TEST_SENTRY_ORG_SLUG= +E2E_TEST_SENTRY_TEST_PROJECT= diff --git a/packages/e2e-tests/run.ts b/packages/e2e-tests/run.ts index f9df41bcef9e..fd1ab60f2244 100644 --- a/packages/e2e-tests/run.ts +++ b/packages/e2e-tests/run.ts @@ -17,17 +17,35 @@ const publishScriptNodeVersion = process.env.E2E_TEST_PUBLISH_SCRIPT_NODE_VERSIO const DEFAULT_BUILD_TIMEOUT_SECONDS = 60 * 5; const DEFAULT_TEST_TIMEOUT_SECONDS = 60 * 2; +let missingEnvVar = false; + if (!process.env.E2E_TEST_AUTH_TOKEN) { console.log( "No auth token configured! Please configure the E2E_TEST_AUTH_TOKEN environment variable with an auth token that has the scope 'project:read'!", ); + missingEnvVar = true; } if (!process.env.E2E_TEST_DSN) { console.log('No DSN configured! Please configure the E2E_TEST_DSN environment variable with a DSN!'); + missingEnvVar = true; +} + +if (!process.env.E2E_TEST_SENTRY_ORG_SLUG) { + console.log( + 'No Sentry organization slug configured! Please configure the E2E_TEST_SENTRY_ORG_SLUG environment variable with a Sentry organization slug!', + ); + missingEnvVar = true; +} + +if (!process.env.E2E_TEST_SENTRY_TEST_PROJECT) { + console.log( + 'No Sentry project configured! Please configure the E2E_TEST_SENTRY_TEST_PROJECT environment variable with a Sentry project slug!', + ); + missingEnvVar = true; } -if (!process.env.E2E_TEST_AUTH_TOKEN || !process.env.E2E_TEST_DSN) { +if (missingEnvVar) { process.exit(1); } diff --git a/packages/e2e-tests/test-applications/standard-frontend-react/tests/behaviour-test.spec.ts b/packages/e2e-tests/test-applications/standard-frontend-react/tests/behaviour-test.spec.ts index 56d0ee60eb1d..795d610a4b08 100644 --- a/packages/e2e-tests/test-applications/standard-frontend-react/tests/behaviour-test.spec.ts +++ b/packages/e2e-tests/test-applications/standard-frontend-react/tests/behaviour-test.spec.ts @@ -1,12 +1,11 @@ import { test, expect } from '@playwright/test'; import axios, { AxiosError } from 'axios'; -const SENTRY_TEST_ORG_SLUG = 'sentry-sdks'; -const SENTRY_TEST_PROJECT = 'sentry-javascript-e2e-tests'; - const EVENT_POLLING_TIMEOUT = 30_000; const authToken = process.env.E2E_TEST_AUTH_TOKEN; +const sentryTestOrgSlug = process.env.E2E_TEST_SENTRY_ORG_SLUG; +const sentryTestProject = process.env.E2E_TEST_SENTRY_TEST_PROJECT; test('Sends an exception to Sentry', async ({ page }) => { await page.goto('/'); @@ -24,7 +23,7 @@ test('Sends an exception to Sentry', async ({ page }) => { async () => { try { const response = await axios.get( - `https://sentry.io/api/0/projects/${SENTRY_TEST_ORG_SLUG}/${SENTRY_TEST_PROJECT}/events/${exceptionEventId}/`, + `https://sentry.io/api/0/projects/${sentryTestOrgSlug}/${sentryTestProject}/events/${exceptionEventId}/`, { headers: { Authorization: `Bearer ${authToken}` } }, ); return response.status; @@ -74,7 +73,7 @@ test('Sends a pageload transaction to Sentry', async ({ page }) => { async () => { try { const response = await axios.get( - `https://sentry.io/api/0/projects/${SENTRY_TEST_ORG_SLUG}/${SENTRY_TEST_PROJECT}/events/${transactionEventId}/`, + `https://sentry.io/api/0/projects/${sentryTestOrgSlug}/${sentryTestProject}/events/${transactionEventId}/`, { headers: { Authorization: `Bearer ${authToken}` } }, ); @@ -139,7 +138,7 @@ test('Sends a navigation transaction to Sentry', async ({ page }) => { async () => { try { const response = await axios.get( - `https://sentry.io/api/0/projects/${SENTRY_TEST_ORG_SLUG}/${SENTRY_TEST_PROJECT}/events/${transactionEventId}/`, + `https://sentry.io/api/0/projects/${sentryTestOrgSlug}/${sentryTestProject}/events/${transactionEventId}/`, { headers: { Authorization: `Bearer ${authToken}` } }, );