Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta Adatta ai principianti
#152 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
76/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript, vscode

Direzione di ricerca

Inizia in src/Client/.vscode-test.mjs e ispeziona i launchArgs del test di integrazione e la configurazione del profilo di test. Esegui npm run test:integration con un profilo src/Client/.vscode-test/user-data nuovo e con i dati desktop di Kusto Explorer presenti; l’attività è completata quando la suite non mostra più l’errore del prompt di importazione e il test ScratchPad1 passa.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.
Lingua principale
TypeScript
Stelle
6
Fork
7
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/Kusto-Explorer-VsCode

Tutte le issue di microsoft/Kusto-Explorer-VsCode

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.