diff --git a/dev-packages/node-integration-tests/utils/runner.ts b/dev-packages/node-integration-tests/utils/runner.ts index 515a2627acf8..5da33508bda0 100644 --- a/dev-packages/node-integration-tests/utils/runner.ts +++ b/dev-packages/node-integration-tests/utils/runner.ts @@ -126,6 +126,7 @@ export function createRunner(...paths: string[]) { let withSentryServer = false; let dockerOptions: DockerOptions | undefined; let ensureNoErrorOutput = false; + let expectError = false; if (testPath.endsWith('.ts')) { flags.push('-r', 'ts-node/register'); @@ -136,6 +137,10 @@ export function createRunner(...paths: string[]) { expectedEnvelopes.push(expected); return this; }, + expectError: function () { + expectError = true; + return this; + }, withFlags: function (...args: string[]) { flags.push(...args); return this; @@ -347,7 +352,18 @@ export function createRunner(...paths: string[]) { } const url = `http://localhost:${scenarioServerPort}${path}`; - if (method === 'get') { + if (expectError) { + try { + if (method === 'get') { + await axios.get(url, { headers }); + } else { + await axios.post(url, { headers }); + } + } catch (e) { + return; + } + return; + } else if (method === 'get') { return (await axios.get(url, { headers })).data; } else { return (await axios.post(url, { headers })).data; diff --git a/packages/node/src/integrations/hapi/index.ts b/packages/node/src/integrations/hapi/index.ts index 82f8737721a9..c41b8ab080ec 100644 --- a/packages/node/src/integrations/hapi/index.ts +++ b/packages/node/src/integrations/hapi/index.ts @@ -20,10 +20,6 @@ function isResponseObject(response: ResponseObject | Boom): response is Response return response && (response as ResponseObject).statusCode !== undefined; } -function isBoomObject(response: ResponseObject | Boom): response is Boom { - return response && (response as Boom).isBoom !== undefined; -} - function isErrorEvent(event: RequestEvent): event is RequestEvent { return event && (event as RequestEvent).error !== undefined; } @@ -51,9 +47,7 @@ export const hapiErrorPlugin = { // eslint-disable-next-line deprecation/deprecation const transaction = getActiveTransaction(); - if (request.response && isBoomObject(request.response)) { - sendErrorToSentry(request.response); - } else if (isErrorEvent(event)) { + if (isErrorEvent(event)) { sendErrorToSentry(event.error); }