[Part 1] Move tests to unified project design#2641
Conversation
jongio
left a comment
There was a problem hiding this comment.
The consolidation approach looks right and follows the pattern Azure.Mcp.Core.Tests already established. One thing to address before this lands:
The renamed *.Tests.csproj files don't have HasLiveTests or HasUnitTests MSBuild properties. Test-Code.ps1 (line 52-55) and New-BuildInfo.ps1 (line 344-354) both rely on these properties when the project name matches *Tests.csproj instead of the old *UnitTests.csproj/*LiveTests.csproj patterns. Without them, these projects get silently excluded from test discovery - both locally and in the CI test matrix.
The already-migrated Azure.Mcp.Core.Tests.csproj sets both properties:
<HasLiveTests>true</HasLiveTests>
<HasUnitTests>true</HasUnitTests>Each renamed project here needs the same treatment:
- ACR Tests:
HasLiveTests=true+HasUnitTests=true(merges both) - Server Tests, Fabric Server Tests, Advisor Tests:
HasUnitTests=true(unit-only)
jongio
left a comment
There was a problem hiding this comment.
Previous feedback addressed - all renamed csproj files now have HasLiveTests/HasUnitTests properties. VmPowerStateCommand implementation follows the existing Compute toolset patterns cleanly, with solid validation (gating --skip-shutdown to stop-only), proper LRO handling, and thorough unit + live test coverage.
What does this PR do?
Moves tests to unified project design, where there is a single
*.Testsprojects instead of separate*.LiveTestsand*.UnitTestsprojects. This is possible as live tests are now recorded using Test Proxy and no longer require Azure resources to be deployed to run, using session records when running in CI.GitHub issue number?
[Link to the GitHub issue this PR addresses]Pre-merge Checklist
servers/Azure.Mcp.Server/README.mdand/orservers/Fabric.Mcp.Server/README.mddocumentationREADME.mdchanges running the script./eng/scripts/Process-PackageReadMe.ps1. See Package READMEToolDescriptionEvaluatorand obtained a score of0.4or more and a top 3 ranking for all related test promptsconsolidated-tools.jsonbreaking-changelabelservers/Azure.Mcp.Server/docs/azmcp-commands.md./eng/scripts/Update-AzCommandsMetadata.ps1to update tool metadata inazmcp-commands.md(required for CI)servers/Azure.Mcp.Server/docs/e2eTestPrompts.mdcrypto mining, spam, data exfiltration, etc.)/azp run mcp - pullrequest - liveto run Live Test Pipeline