Skip to content

Add Windows service contract E2E coverage

Summary

  • Created branch codex/windows-service-contract-e2e from feature/deploy-windows-service.
  • Added contract E2E coverage for Squid.DeployWindowsService under tests/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: TentaclePolling and TentacleListening.
  • 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.1 complete locally; OpenSpec progress is now 28/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: task 7.1 complete, progress 28/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.

Merge request reports

Loading