Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Integration tests fail locally when desktop Kusto Explorer data is present (import prompt blocks activation)

Abierto Apto para principiantes
#152 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript, vscode

Línea de trabajo

Comienza en src/Client/.vscode-test.mjs e inspecciona los launchArgs de la prueba de integración y la configuración del perfil de prueba. Ejecuta npm run test:integration con un perfil nuevo de src/Client/.vscode-test/user-data y con datos de escritorio de Kusto Explorer presentes; se considera terminado cuando la suite ya no muestra el fallo de la solicitud de importación y la prueba ScratchPad1 pasa.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

Problem

npm run test:integration fails for a developer who has desktop Kusto Explorer data on their machine:

1) ScratchPad1 document is open by default:
   AssertionError [ERR_ASSERTION]: ScratchPad1 should be open after activation

46 passing (21s)
1 failing

The cause appears in the same output:

rejected promise not handled within 1 second: Error: DialogService: refused to show dialog in tests.
Contents: Kusto Explorer connections and query set documents found. Would you like to import them?

The extension prompts to import connections from desktop Kusto Explorer during activation. The test DialogService refuses modal dialogs, that rejection goes unhandled, and activation never completes — so ScratchPad1 is never opened and the assertion fails. The failing test is a symptom; the prompt is the cause.

The suite is not hermetic

The failure depends on machine and profile state rather than on the code under test. Evidence gathered by running the same suite in two worktrees on the same machine, both based on the same main:

worktree result
one branch 46 passing, exit 0 — no failure
another branch 46 passing / 1 failing, exit 1 — prompt fired

Neither branch touches activation, connection import, or the scratchpad. The differentiator is the per-worktree .vscode-test/user-data profile: once a profile has recorded that the import prompt was handled, the prompt stops firing and the suite goes green. A fresh profile plus desktop Kusto Explorer data present on the machine reproduces the failure.

This was also independently controlled for by reverting a branch's changed files to its merge-base and re-running: the identical 46/1 failure persisted, confirming it is not caused by the code under test.

CI is unaffected — hosted runners have no desktop Kusto Explorer installation, so the prompt never fires there and Integration Tests (VS Code) passes. That is precisely why this only bites locally, and only for contributors who actually use the desktop product.

Suggested fix

The extension already contributes a setting for exactly this:

msKustoExplorer.connections.suppressKustoExplorerImportPrompt  (boolean, default false)

.vscode-test.mjs currently passes only:

launchArgs: [
  "--disable-updates",
  "--skip-release-notes",
  "--user-data-dir", ".vscode-test/user-data",
],

Seeding that setting to true for the test profile — or otherwise stubbing the desktop-import detection during integration runs — would make the suite independent of whether the developer has desktop Kusto Explorer installed.

Separately, the unhandled promise rejection is worth a look on its own: a refused or dismissed dialog blocking activation is a failure mode that could plausibly affect real users who dismiss the prompt in an unexpected way, not just tests.

Reproduction

  1. Have desktop Kusto Explorer connections/query sets present on the machine.
  2. Delete src/Client/.vscode-test/user-data so the test profile is fresh.
  3. npm run test:integration from src/Client.
Lenguaje dominante
TypeScript
Estrellas
6
Forks
7
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/Kusto-Explorer-VsCode

Todos los issues de microsoft/Kusto-Explorer-VsCode

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.