Skip to content

test(vscuse): add local debug and Python scaffolding cases - #16476

Open
Alive-Fish wants to merge 6 commits into
devfrom
test/vscuse-python-local-debug-cases
Open

test(vscuse): add local debug and Python scaffolding cases#16476
Alive-Fish wants to merge 6 commits into
devfrom
test/vscuse-python-local-debug-cases

Conversation

@Alive-Fish

Copy link
Copy Markdown
Contributor

Extends the generated vscuse case engine with the two coverage gaps left by the initial bundle: local debug launches and Python scaffolding. Six new generated plans, each mapped 1:1 to an existing hand-recorded plan.

Local debug (weather-agent.yml, 2 → 5 cases)

Three new target adapters — Debug in Teams (Chrome), (Preview) Debug in Copilot (Chrome), and Debug in Microsoft 365 Agents Playground.

New case Legacy plan
weather-ts-azure-openai-local-teams Weather_Agent_ts_Local_Debug.json
weather-ts-azure-openai-local-copilot Weather_Agent_ts_local_copilot.json
weather-ts-azure-openai-playground Weather_Agent_Azure_OpenAI_ts_playground.json

New acceptance criteria:

  • VCB-64 — a local debug target requires no provision and no deploy; the profile's own preLaunchTask chain runs the local lifecycle.
  • VCB-65 — the Agents Playground target requires no login and emits no browser sign-in; the Playground serves the agent from the local machine.
  • VCB-66 — a chat check under the Playground target emits the Playground message adapter.

Python scaffolding (basic-custom-engine-agent.yml, new)

The Weather Agent template has no Python variant. v3 allTemplates.json registers weather-agent-ts, weather-agent-js, and custom-copilot-weather-agent-csharp only, and the v4 descriptor declares "languages": ["typescript", "javascript"]. The templates/vsc/python/weather-agent folder exists but is unregistered, Python never appears in the language picker, and the 319-plan legacy corpus contains no Python weather recording. Registering it would be a product change, so Python coverage lands on Basic Custom Engine Agent, the custom engine agent template the toolkit does offer in Python.

New case Legacy plan
basic-cea-py-azure-openai-remote-teams Basic_Custom_Engine_Agent_Azure_OpenAI_py_Remote_Debug.json
basic-cea-py-azure-openai-local-teams Basic_Custom_Engine_Agent_Azure_OpenAI_py_Local_Debug.json
basic-cea-py-azure-openai-playground Basic_Custom_Engine_Azure_OpenAI_py_playground.json

New pythonEnvironment semantic operation. A Python scaffold writes src/requirements.txt and installs nothing, and every launch profile starts the app from the workspace interpreter, so a Python case that launches without creating its environment starts an app with no dependencies. The operation is composed entirely from existing coordinate-free components: Python: Create Environment... → filter Venv → filter the authored interpreter → confirm Select dependencies to install with every dependency checked → open the notification center → assert The following environment is selected:.

Also registers the python language answer, the basic-custom-engine-agent capability answer, and the Launch Remote (Chrome) target — the Python templates name the remote Teams launch without in Teams.

New acceptance criteria:

  • VCB-67 — a pythonEnvironment operation drives the Venv creation flow.
  • VCB-68 — the interpreter is authored per case, not fixed by the compiler, because the picker label is the patch version the runner image happens to carry.
  • VCB-69 — the environment type and interpreter are chosen by filtering, never by clicking a row.
  • VCB-70 — the notification center is opened before the completion assertion.
  • VCB-71 — the Launch Remote (Chrome) target reuses the Teams add-and-open transition.

Verification

  • pnpm --dir packages/tests run test:vscuse-engine — 107 pass, 0 fail.
  • pnpm --dir packages/tests run generate:vscuse-cases run twice; the second prints No generated plan changes.
  • Only the six intended plan files were added; every existing plan is byte-identical.

Follow-up

The Python local Copilot profile is titled Debug in Copilot (Chrome) without the (Preview) prefix the TypeScript templates use. No adapter is registered for it yet, so that case is not included here.

Add semantic target adapters for the three local debug launch profiles and cover them with generated weather agent cases.

The local profiles run the local lifecycle in their own preLaunchTask chain, so they require neither provision nor deploy; the Agents Playground profile serves the agent from the local machine and requires no account at all.

VCB-64, VCB-65, VCB-66
Adds a pythonEnvironment semantic operation that drives the Python extension virtual environment flow, registers Python and Basic Custom Engine Agent as scaffold answers, and registers the Python remote Teams launch profile title.

Weather Agent is registered for TypeScript, JavaScript, and C# only, so Python scaffolding coverage lands on Basic Custom Engine Agent instead, mapped to the three recorded Python plans.
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

❌ VscUse Test Plan — Tests unknown

Why these tests: Selected 6 impacted test plan(s) changed in this PR (no product code modified).

Branch diff: test/vscuse-python-local-debug-casesdev

Plans run:

  • basic-custom-engine-agent--basic-cea-py-azure-openai-local-teams
  • basic-custom-engine-agent--basic-cea-py-azure-openai-playground
  • basic-custom-engine-agent--basic-cea-py-azure-openai-remote-teams
  • weather-agent--weather-ts-azure-openai-local-copilot
  • weather-agent--weather-ts-azure-openai-local-teams
  • weather-agent--weather-ts-azure-openai-playground

Step Status
1️⃣ Build VSIX (CD) ✅ Done
2️⃣ Build Docker image ✅ Done
3️⃣ Run UI tests ❌ Tests unknown
ℹ️ How were these tests selected?

GitHub Copilot (Claude Sonnet 4.6, high reasoning) analysed the PR title, description, and the diff between
test/vscuse-python-local-debug-cases and dev
to pick the most relevant test plans from packages/tests/vscuse/Index.md.

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

E2E Test Selection — AI Selected

Why these tests: All changed files fall under packages/tests/vscuse/** (rule 8: vscuse UI tests, not e2e), docs/** (rule 9: infra/docs only), and templates/weather-agent (rule 6: maps to teamsAgent/* which has no matching entry in the available test list); the only available test is a VS/.NET test unrelated to these changes.

Cases selected (0):


View pipeline run

Need to run more tests?

Comment on this PR:

  • /e2e-run ./path/to/test.tests.ts — add specific cases to AI selection
  • /e2e-run-all — run all e2e cases

Then re-run the workflow.

@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.83%. Comparing base (9f6d2a8) to head (6ab4018).
⚠️ Report is 1 commits behind head on dev.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##              dev   #16476      +/-   ##
==========================================
+ Coverage   87.77%   87.83%   +0.05%     
==========================================
  Files         647      647              
  Lines       34066    34216     +150     
  Branches     8028     8078      +50     
==========================================
+ Hits        29903    30055     +152     
+ Misses       2353     2344       -9     
- Partials     1810     1817       +7     

see 13 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…matrix

Authors the weather bundle as the complete Azure OpenAI / OpenAI x TypeScript / JavaScript x remote / local Teams launch matrix, and samples the remaining surfaces once: Copilot remote, Copilot local, and Playground on both languages.

Adds the (Preview) Launch Remote in Copilot (Chrome) target adapter, which unlike the declarative-agent preview requires deploy because a custom engine agent answers from a deployed bot.

OpenAI cases stop at the launched surface: the run configuration declares no openai.com key and the recordings they replace type a placeholder, so only the OpenAI scaffold branch and lifecycle are honestly covered.

Adds AC rows VCB-72, VCB-73, and VCB-74. Generated plans go from eighteen to twenty-five.
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

❌ VscUse Test Plan — Tests failure

Why these tests: Selected 15 impacted test plan(s) changed in this PR (no product code modified).

Branch diff: test/vscuse-python-local-debug-casesdev

Results: ✅ 4 passed · ❌ 11 failed (of 15 plans)

Plans run:

  • basic-custom-engine-agent--basic-cea-py-azure-openai-local-teams
  • basic-custom-engine-agent--basic-cea-py-azure-openai-playground
  • basic-custom-engine-agent--basic-cea-py-azure-openai-remote-teams
  • weather-agent--weather-js-azure-openai-local-teams
  • weather-agent--weather-js-azure-openai-playground
  • weather-agent--weather-js-azure-openai-remote-teams
  • weather-agent--weather-js-openai-local-teams
  • weather-agent--weather-js-openai-remote-teams
  • weather-agent--weather-ts-azure-openai-local-copilot
  • weather-agent--weather-ts-azure-openai-local-teams
  • weather-agent--weather-ts-azure-openai-playground
  • weather-agent--weather-ts-azure-openai-remote-copilot
  • weather-agent--weather-ts-azure-openai-remote-teams
  • weather-agent--weather-ts-openai-local-teams
  • weather-agent--weather-ts-openai-remote-teams

Step Status
1️⃣ Build VSIX (CD) ✅ Done
2️⃣ Build Docker image ✅ Done
3️⃣ Run UI tests ❌ Tests failure (4/15 passed)

🎯 Actual UI test run
🔗 Full pipeline results
📊 Detailed test report

ℹ️ How were these tests selected?

GitHub Copilot (Claude Sonnet 4.6, high reasoning) analysed the PR title, description, and the diff between
test/vscuse-python-local-debug-cases and dev
to pick the most relevant test plans from packages/tests/vscuse/Index.md.

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

❌ VscUse Test Plan — Tests failure

Why these tests: PR adds new local-debug weather-agent plans (TS local-teams, local-copilot, playground covering VCB-64/65/66) and new Python basic-custom-engine-agent scaffolding plans; selected the 5 newly-added generated plans most directly exercised by the PR's two feature areas. (Also running 25 impacted test plan(s) changed in this PR.)

Branch diff: test/vscuse-python-local-debug-casesdev

Results: ✅ 7 passed · ❌ 18 failed (of 25 plans)

Plans run:

  • weather-agent--weather-ts-azure-openai-local-teams
  • weather-agent--weather-ts-azure-openai-local-copilot
  • weather-agent--weather-ts-azure-openai-playground
  • basic-custom-engine-agent--basic-cea-py-azure-openai-local-teams
  • basic-custom-engine-agent--basic-cea-py-azure-openai-remote-teams
  • basic-custom-engine-agent--basic-cea-py-azure-openai-playground
  • da-api-plugin-from-existing-api--da-api-plugin-from-existing-api-api-key-remote-preview
  • da-api-plugin-from-existing-api--da-api-plugin-from-existing-api-bearer-remote-preview
  • da-api-plugin-from-existing-api--da-api-plugin-from-existing-api-no-auth-remote-preview
  • da-api-plugin-from-existing-api--da-api-plugin-from-existing-api-oauth-remote-preview
  • da-api-plugin-from-scratch--da-api-plugin-from-scratch-js
  • da-api-plugin-from-scratch--da-api-plugin-from-scratch-ts
  • da-mcp-server--da-mcp-remote-entra-preview
  • da-mcp-server--da-mcp-remote-none-preview
  • da-mcp-server--da-mcp-remote-oauth-preview
  • da-no-action--da-no-action-remote-preview
  • weather-agent--weather-js-azure-openai-local-teams
  • weather-agent--weather-js-azure-openai-playground
  • weather-agent--weather-js-azure-openai-remote-teams
  • weather-agent--weather-js-openai-local-teams
  • weather-agent--weather-js-openai-remote-teams
  • weather-agent--weather-ts-azure-openai-remote-copilot
  • weather-agent--weather-ts-azure-openai-remote-teams
  • weather-agent--weather-ts-openai-local-teams
  • weather-agent--weather-ts-openai-remote-teams

Step Status
1️⃣ Build VSIX (CD) ✅ Done
2️⃣ Build Docker image ✅ Done
3️⃣ Run UI tests ❌ Tests failure (7/25 passed)

🎯 Actual UI test run
🔗 Full pipeline results
📊 Detailed test report

ℹ️ How were these tests selected?

GitHub Copilot (Claude Sonnet 4.6, high reasoning) analysed the PR title, description, and the diff between
test/vscuse-python-local-debug-cases and dev
to pick the most relevant test plans from packages/tests/vscuse/Index.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant