From e892aa7b46214d2ad45e58584ee62a2817364bd4 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Tue, 19 Nov 2024 09:18:20 +0100 Subject: [PATCH 1/4] suppress next console error --- packages/nextjs/test/utils/tunnelRoute.test.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/nextjs/test/utils/tunnelRoute.test.ts b/packages/nextjs/test/utils/tunnelRoute.test.ts index 05aa992f39e6..3a33130a3220 100644 --- a/packages/nextjs/test/utils/tunnelRoute.test.ts +++ b/packages/nextjs/test/utils/tunnelRoute.test.ts @@ -34,6 +34,9 @@ describe('applyTunnelRouteOption()', () => { }); it("Doesn't apply `tunnelRoute` when DSN is invalid", () => { + // Avoid polluting the test output with error messages + const mockConsoleError = jest.spyOn(console, 'error').mockImplementation(() => {}); + globalWithInjectedValues._sentryRewritesTunnelPath = '/my-error-monitoring-route'; const options: any = { dsn: 'invalidDsn', @@ -42,6 +45,8 @@ describe('applyTunnelRouteOption()', () => { applyTunnelRouteOption(options); expect(options.tunnel).toBeUndefined(); + + mockConsoleError.mockRestore(); }); it("Doesn't apply `tunnelRoute` option when `tunnelRoute` option wasn't injected", () => { From 13b51c03cea2a3bb8f6b8352df308e6c2ffe6fbe Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Tue, 19 Nov 2024 09:18:41 +0100 Subject: [PATCH 2/4] suppress core console error --- packages/core/test/lib/envelope.test.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/core/test/lib/envelope.test.ts b/packages/core/test/lib/envelope.test.ts index 74e764c1d938..253ac07d96c2 100644 --- a/packages/core/test/lib/envelope.test.ts +++ b/packages/core/test/lib/envelope.test.ts @@ -95,6 +95,13 @@ describe('createSpanEnvelope', () => { client = new TestClient(options); setCurrentClient(client); client.init(); + + // We want to avoid console errors in the tests + jest.spyOn(console, 'error').mockImplementation(() => {}); + }); + + afterEach(() => { + jest.resetAllMocks(); }); it('creates a span envelope', () => { From c875852cd341f0d2b6afc4ca223d1eed6cea710b Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Tue, 19 Nov 2024 09:26:57 +0100 Subject: [PATCH 3/4] suppress ts-jest warning --- jest/jest.config.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jest/jest.config.js b/jest/jest.config.js index 6bb8d30df35e..ce564a640f2d 100644 --- a/jest/jest.config.js +++ b/jest/jest.config.js @@ -3,8 +3,7 @@ module.exports = { rootDir: process.cwd(), collectCoverage: true, transform: { - '^.+\\.ts$': 'ts-jest', - '^.+\\.tsx$': 'ts-jest', + '^.+\\.(ts|tsx)$': 'ts-jest', }, coverageDirectory: '/coverage', moduleFileExtensions: ['js', 'ts', 'tsx'], @@ -15,6 +14,10 @@ module.exports = { globals: { 'ts-jest': { tsconfig: '/tsconfig.test.json', + diagnostics: { + // Ignore this warning for tests, we do not care about this + ignoreCodes: ['TS151001'], + }, }, __DEBUG_BUILD__: true, }, From 5aa9e97a90ae95f9e0305736f95dd74785386cf3 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Tue, 19 Nov 2024 09:32:18 +0100 Subject: [PATCH 4/4] fix some open handle issues --- .../core/test/lib/metrics/browser-aggregator.test.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/core/test/lib/metrics/browser-aggregator.test.ts b/packages/core/test/lib/metrics/browser-aggregator.test.ts index 669959a03e05..e5ed6b3f8296 100644 --- a/packages/core/test/lib/metrics/browser-aggregator.test.ts +++ b/packages/core/test/lib/metrics/browser-aggregator.test.ts @@ -3,6 +3,10 @@ import { CounterMetric } from '../../../src/metrics/instance'; import { serializeMetricBuckets } from '../../../src/metrics/utils'; import { TestClient, getDefaultTestClientOptions } from '../../mocks/client'; +function _cleanupAggregator(aggregator: BrowserMetricsAggregator): void { + clearInterval(aggregator['_interval']); +} + describe('BrowserMetricsAggregator', () => { const options = getDefaultTestClientOptions({ tracesSampleRate: 0.0 }); const testClient = new TestClient(options); @@ -21,6 +25,8 @@ describe('BrowserMetricsAggregator', () => { timestamp: expect.any(Number), unit: 'none', }); + + _cleanupAggregator(aggregator); }); it('groups same items together', () => { @@ -40,6 +46,8 @@ describe('BrowserMetricsAggregator', () => { unit: 'none', }); expect(firstValue.metric._value).toEqual(2); + + _cleanupAggregator(aggregator); }); it('differentiates based on tag value', () => { @@ -48,6 +56,8 @@ describe('BrowserMetricsAggregator', () => { expect(aggregator['_buckets'].size).toEqual(1); aggregator.add('g', 'cpu', 55, undefined, { a: 'value' }); expect(aggregator['_buckets'].size).toEqual(2); + + _cleanupAggregator(aggregator); }); describe('serializeBuckets', () => { @@ -69,6 +79,8 @@ describe('BrowserMetricsAggregator', () => { expect(serializedBuckets).toContain('cpu@none:52:50:55:157:3|g|T'); expect(serializedBuckets).toContain('lcp@second:1:1.2|d|#a:value,b:anothervalue|T'); expect(serializedBuckets).toContain('important_people@none:97:98|s|#numericKey:2|T'); + + _cleanupAggregator(aggregator); }); }); });