Add Windows service contract E2E coverage
Summary
- Created branch
codex/windows-service-contract-e2efromfeature/deploy-windows-service. - Added contract E2E coverage for
Squid.DeployWindowsServiceundertests/Squid.E2ETests/Deployments/Tentacle/WindowsServiceDeployPipelineE2ETests.cs. - The new E2E seeds real deployment data and runs the real
IDeploymentTaskExecutor, while using the existing deployment pipeline fixture/capturing strategy to avoid final host execution. - Covers both Tentacle communication styles:
TentaclePollingandTentacleListening. - Asserts the rendered PowerShell request shape: syntax, step/action observability names, machine target, empty package references, generated preamble, Windows service parameters, selected package metadata placeholder, package-reference lookup markers, and service create/config/start/stop script behavior.
- Adds variable expansion and sensitive password masking coverage for the Windows service service-account password.
- Marked OpenSpec task
7.1complete locally; OpenSpec progress is now28/37.
Commit: 46760c18 Add Windows service contract E2E coverage
Test plan
-
DOTNET_ROLL_FORWARD=Major dotnet test tests/Squid.E2ETests/Squid.E2ETests.csproj --filter "FullyQualifiedName~WindowsServiceDeployPipelineE2ETests" --no-restore --logger "console;verbosity=minimal"
Result: passed,4/4. -
git diff --check
Result: clean. -
openspec instructions apply --change add-deploy-windows-service-step --json
Result: task7.1complete, progress28/37.
Notes: the focused E2E run still reports existing project warnings such as NU1902/NU1903, nullable-context warnings, and pre-existing xUnit1030 warnings from other E2E files; the new test file was cleaned so it does not add test-method ConfigureAwait(false) warnings.