From 9dc7d9fbba71b929805fb86f552678f163366daf Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Tue, 24 Sep 2024 17:13:19 +0200 Subject: [PATCH] test: Unflake some node-integration-tests This fails sometimes (e.g. https://github.com/getsentry/sentry-javascript/actions/runs/11016486300/job/30592307032), probably due to tiny timing issues. --- .../tracing/requests/http-sampled/scenario.ts | 26 +++++++++++++++---- .../tracePropagationTargets/scenario.ts | 26 +++++++++++++++---- 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/dev-packages/node-integration-tests/suites/tracing/requests/http-sampled/scenario.ts b/dev-packages/node-integration-tests/suites/tracing/requests/http-sampled/scenario.ts index c346b617b9e6..373bb9b220d6 100644 --- a/dev-packages/node-integration-tests/suites/tracing/requests/http-sampled/scenario.ts +++ b/dev-packages/node-integration-tests/suites/tracing/requests/http-sampled/scenario.ts @@ -12,9 +12,25 @@ Sentry.init({ import * as http from 'http'; -Sentry.startSpan({ name: 'test_span' }, () => { - http.get(`${process.env.SERVER_URL}/api/v0`); - http.get(`${process.env.SERVER_URL}/api/v1`); - http.get(`${process.env.SERVER_URL}/api/v2`); - http.get(`${process.env.SERVER_URL}/api/v3`); +// eslint-disable-next-line @typescript-eslint/no-floating-promises +Sentry.startSpan({ name: 'test_span' }, async () => { + await makeHttpRequest(`${process.env.SERVER_URL}/api/v0`); + await makeHttpRequest(`${process.env.SERVER_URL}/api/v1`); + await makeHttpRequest(`${process.env.SERVER_URL}/api/v2`); + await makeHttpRequest(`${process.env.SERVER_URL}/api/v3`); }); + +function makeHttpRequest(url: string): Promise { + return new Promise(resolve => { + http + .request(url, httpRes => { + httpRes.on('data', () => { + // we don't care about data + }); + httpRes.on('end', () => { + resolve(); + }); + }) + .end(); + }); +} diff --git a/dev-packages/node-integration-tests/suites/tracing/tracePropagationTargets/scenario.ts b/dev-packages/node-integration-tests/suites/tracing/tracePropagationTargets/scenario.ts index c346b617b9e6..373bb9b220d6 100644 --- a/dev-packages/node-integration-tests/suites/tracing/tracePropagationTargets/scenario.ts +++ b/dev-packages/node-integration-tests/suites/tracing/tracePropagationTargets/scenario.ts @@ -12,9 +12,25 @@ Sentry.init({ import * as http from 'http'; -Sentry.startSpan({ name: 'test_span' }, () => { - http.get(`${process.env.SERVER_URL}/api/v0`); - http.get(`${process.env.SERVER_URL}/api/v1`); - http.get(`${process.env.SERVER_URL}/api/v2`); - http.get(`${process.env.SERVER_URL}/api/v3`); +// eslint-disable-next-line @typescript-eslint/no-floating-promises +Sentry.startSpan({ name: 'test_span' }, async () => { + await makeHttpRequest(`${process.env.SERVER_URL}/api/v0`); + await makeHttpRequest(`${process.env.SERVER_URL}/api/v1`); + await makeHttpRequest(`${process.env.SERVER_URL}/api/v2`); + await makeHttpRequest(`${process.env.SERVER_URL}/api/v3`); }); + +function makeHttpRequest(url: string): Promise { + return new Promise(resolve => { + http + .request(url, httpRes => { + httpRes.on('data', () => { + // we don't care about data + }); + httpRes.on('end', () => { + resolve(); + }); + }) + .end(); + }); +}