From 79155f03eb601ea4d57393b7638eb5f474e56ac6 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 26 Apr 2023 15:30:14 +0200 Subject: [PATCH] test: Fix flaky replay DSC test Also one test was actually incorrect. --- .github/workflows/build.yml | 2 +- .../suites/replay/dsc/test.ts | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bac522026228..639ed4184099 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -511,7 +511,7 @@ jobs: needs: [job_get_metadata, job_build] if: needs.job_get_metadata.outputs.changed_browser_integration == 'true' || github.event_name != 'pull_request' runs-on: ubuntu-20.04 - timeout-minutes: 15 + timeout-minutes: 18 strategy: fail-fast: false matrix: diff --git a/packages/browser-integration-tests/suites/replay/dsc/test.ts b/packages/browser-integration-tests/suites/replay/dsc/test.ts index 810305711a15..f8f9560c00fc 100644 --- a/packages/browser-integration-tests/suites/replay/dsc/test.ts +++ b/packages/browser-integration-tests/suites/replay/dsc/test.ts @@ -5,8 +5,10 @@ import type { EventEnvelopeHeaders } from '@sentry/types'; import { sentryTest } from '../../../utils/fixtures'; import { envelopeHeaderRequestParser, + envelopeRequestParser, getFirstSentryEnvelopeRequest, shouldSkipTracingTest, + waitForTransactionRequest, } from '../../../utils/helpers'; import { getReplaySnapshot, shouldSkipReplayTest, waitForReplayRunning } from '../../../utils/replayHelpers'; @@ -21,6 +23,8 @@ sentryTest('should add replay_id to dsc of transactions', async ({ getLocalTestP const url = await getLocalTestPath({ testDir: __dirname }); await page.goto(url); + await waitForReplayRunning(page); + await page.evaluate(() => { (window as unknown as TestWindow).Sentry.configureScope(scope => { scope.setUser({ id: 'user123', segment: 'segmentB' }); @@ -30,7 +34,6 @@ sentryTest('should add replay_id to dsc of transactions', async ({ getLocalTestP const envHeader = await getFirstSentryEnvelopeRequest(page, url, envelopeHeaderRequestParser); - await waitForReplayRunning(page); const replay = await getReplaySnapshot(page); expect(replay.session?.id).toBeDefined(); @@ -65,6 +68,10 @@ sentryTest( const url = await getLocalTestPath({ testDir: __dirname }); await page.goto(url); + await waitForReplayRunning(page); + + const transactionReq = waitForTransactionRequest(page); + await page.evaluate(async () => { await (window as unknown as TestWindow).Replay.stop(); @@ -74,12 +81,13 @@ sentryTest( }); }); - const envHeader = await getFirstSentryEnvelopeRequest(page, url, envelopeHeaderRequestParser); + const req0 = await transactionReq; + + const envHeader = envelopeRequestParser(req0, 0) as EventEnvelopeHeaders; - await waitForReplayRunning(page); const replay = await getReplaySnapshot(page); - expect(replay.session?.id).toBeDefined(); + expect(replay.session).toBeUndefined(); expect(envHeader.trace).toBeDefined(); expect(envHeader.trace).toEqual({