Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở Phù hợp với người mới
#152 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
76/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript, vscode

Hướng nghiên cứu

Bắt đầu trong src/Client/.vscode-test.mjs và kiểm tra launchArgs của integration-test cũng như phần thiết lập test profile. Chạy npm run test:integration với một profile src/Client/.vscode-test/user-data mới và có sẵn dữ liệu Kusto Explorer trên desktop; hoàn tất khi bộ test không còn hiển thị lỗi import prompt và test ScratchPad1 vượt qua.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.
Ngôn ngữ chính
TypeScript
Star
6
Fork
7
Merge trung bình
1 ngày 6 giờ
Pull request đã merge (30 ngày)
4

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoft/Kusto-Explorer-VsCode

Tất cả issue của microsoft/Kusto-Explorer-VsCode

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.