From 7b83236ab2f64dfcd59775c56267a3ac7e111fd4 Mon Sep 17 00:00:00 2001 From: mkorwel Date: Wed, 22 Oct 2025 16:17:23 -0700 Subject: [PATCH] fix(e2e): mock ClearcutLogger to fix test runner dependency --- integration-tests/vitest.config.ts | 1 + integration-tests/vitest.setup.ts | 58 ++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 integration-tests/vitest.setup.ts diff --git a/integration-tests/vitest.config.ts b/integration-tests/vitest.config.ts index 59a16c40d6..9661eb893b 100644 --- a/integration-tests/vitest.config.ts +++ b/integration-tests/vitest.config.ts @@ -8,6 +8,7 @@ import { defineConfig } from 'vitest/config'; export default defineConfig({ test: { + setupFiles: ['./vitest.setup.ts'], testTimeout: 300000, // 5 minutes globalSetup: './globalSetup.ts', reporters: ['default'], diff --git a/integration-tests/vitest.setup.ts b/integration-tests/vitest.setup.ts new file mode 100644 index 0000000000..d3e8cc8351 --- /dev/null +++ b/integration-tests/vitest.setup.ts @@ -0,0 +1,58 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import { vi } from 'vitest'; + +// Mock the ClearcutLogger module to prevent E2E tests from failing due to a missing generated file. +// The ClearcutLogger (which imports git-commit.js) is not needed for E2E test validation, +// as tests rely on the OpenTelemetry logger which writes to telemetry.log. +vi.mock( + (await import('node:path')).resolve( + process.cwd(), + 'packages/core/src/telemetry/clearcut-logger/clearcut-logger.js', + ), + () => ({ + ClearcutLogger: { + getInstance: vi.fn(() => ({ + logStartSessionEvent: vi.fn(), + logNewPromptEvent: vi.fn(), + logToolCallEvent: vi.fn(), + logToolOutputTruncatedEvent: vi.fn(), + logFileOperationEvent: vi.fn(), + logApiRequestEvent: vi.fn(), + logApiResponseEvent: vi.fn(), + logApiErrorEvent: vi.fn(), + logChatCompressionEvent: vi.fn(), + logFlashFallbackEvent: vi.fn(), + logRipgrepFallbackEvent: vi.fn(), + logLoopDetectedEvent: vi.fn(), + logLoopDetectionDisabledEvent: vi.fn(), + logNextSpeakerCheck: vi.fn(), + logSlashCommandEvent: vi.fn(), + logMalformedJsonResponseEvent: vi.fn(), + logIdeConnectionEvent: vi.fn(), + logConversationFinishedEvent: vi.fn(), + logKittySequenceOverflowEvent: vi.fn(), + logInvalidChunkEvent: vi.fn(), + logContentRetryEvent: vi.fn(), + logContentRetryFailureEvent: vi.fn(), + logModelRoutingEvent: vi.fn(), + logExtensionInstallEvent: vi.fn(), + logExtensionUninstallEvent: vi.fn(), + logExtensionUpdateEvent: vi.fn(), + logExtensionEnableEvent: vi.fn(), + logExtensionDisableEvent: vi.fn(), + logSmartEditStrategyEvent: vi.fn(), + logSmartEditCorrectionEvent: vi.fn(), + logAgentStartEvent: vi.fn(), + logAgentFinishEvent: vi.fn(), + logWebFetchFallbackAttemptEvent: vi.fn(), + logEndSessionEvent: vi.fn(), + })), + clearInstance: vi.fn(), + }, + }), +);