Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/instructions/e2e-test-setup-parameters.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
applyTo: "src/AppInstallerCLIE2ETests/Helpers/TestSetup.cs"
---

# E2E test setup parameter documentation

When adding a new test parameter in `src/AppInstallerCLIE2ETests/Helpers/TestSetup.cs`, also update:

- `src/AppInstallerCLIE2ETests/README.md` to document that parameter.
- `src/AppInstallerCLIE2ETests/Test.runsettings` to keep default run parameters and parameter names in sync.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,10 @@ node_modules/
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Local E2E test settings (developer-specific), keep the example one tracked
*.runsettings
!src/AppInstallerCLIE2ETests/Test.runsettings

# Paket dependency manager
.paket/paket.exe
paket-files/
Expand Down
14 changes: 13 additions & 1 deletion src/AppInstallerCLIE2ETests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,14 @@ If your tests uses the test source see the [LocalhostWebServer](#LocalhostWebSer
| MsixTestInstallerPath | The MSIX (or APPX) Installer executable under test. |
| ExeTestInstallerPath |The Exe Installer executable under test. |
| MsiTestInstallerPath | The MSI Installer executable under test. |
| MsiTestInstallerV2Path | The v2 MSI Installer executable under test. |
| FontTestPath | The test font file used by font package scenarios. |
| PackageCertificatePath | Signing Certificate Path used to certify test index source package |
| PowerShellModulePath | Path to the PowerShell module manifest file under test |
| PowerShellModulePath | The local server cert file |
| LocalServerCertPath | The local server cert file. |
| InprocTestbedPath | Path to the ComInprocTestbed executable used by in-proc COM tests. |
| InprocTestbedUseTestPackage | Bool to indicate whether in-proc COM tests should target the test package. |
| ForcedExperimentalFeatures | Pipe-separated list of experimental features to force-enable during test setup. |
| SkipTestSource | I solemnly swear the test won't use the local test source or the source is already set up. |

#### Example of Test.runsettings with completed parameters:
Expand All @@ -38,8 +43,15 @@ Assuming you clone winget-cli in c:\dev, the localhost web server is running in
<Parameter name="MsixTestInstallerPath" value="C:\dev\Temp\AppInstallerTestMsixInstaller.msix" />
<Parameter name="ExeTestInstallerPath" value="c:\dev\winget-cli\src\x64\Debug\AppInstallerTestExeInstaller\AppInstallerTestExeInstaller.exe" />
<Parameter name="MsiTestInstallerPath" value="c:\dev\winget-cli\src\AppInstallerCLIE2ETests\TestData\AppInstallerTestMsiInstaller.msi" />
<Parameter name="MsiTestInstallerV2Path" value="c:\dev\winget-cli\src\AppInstallerCLIE2ETests\TestData\AppInstallerTestMsiInstallerV2.msi" />
<Parameter name="FontTestPath" value="c:\dev\winget-cli\src\AppInstallerCLIE2ETests\TestData\AppInstallerTestFont.ttf" />
<Parameter name="PackageCertificatePath" value="C:\dev\Temp\packageCertificate.pfx"/>
<Parameter name="PowerShellModulePath" value="c:\dev\winget-cli\src\x64\Debug\PowerShell\Microsoft.WinGet.Client.psd1" />
<Parameter name="LocalServerCertPath" value="C:\dev\Temp\servercert.cer" />
<Parameter name="InprocTestbedPath" value="c:\dev\winget-cli\src\x64\Debug\ComInprocTestbed\ComInprocTestbed.exe" />
<Parameter name="InprocTestbedUseTestPackage" value="false" />
<Parameter name="ForcedExperimentalFeatures" value="directMSI|resume|fonts|sourcePriority" />
<Parameter name="SkipTestSource" value="false" />
</TestRunParameters>
</RunSettings>

Expand Down
12 changes: 10 additions & 2 deletions src/AppInstallerCLIE2ETests/Test.runsettings
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@
ExeTestInstallerPath: The Exe Installer executable under test.
PackageCertificatePath: Signing Certificate Path used to certify Index Source Package.
PowerShellModulePath: Path to the PowerShell module manifest file under test.
LocalServerCertPathParameter: The cert used for the local server.
LocalServerCertPath: The cert used for the local server.
MsiTestInstallerV2Path: The v2 MSI Installer executable under test.
InprocTestbedPath: Path to the ComInprocTestbed executable used by in-proc COM tests.
InprocTestbedUseTestPackage: Bool to indicate whether in-proc COM tests should target the test package.
ForcedExperimentalFeatures: Pipe-separated list of experimental features to force-enable during test setup.
SkipTestSource: I solemnly swear the test won't use the local test source or the source is already set up.
-->
<TestRunParameters>
Expand All @@ -35,9 +39,13 @@
<Parameter name="MsixTestInstallerPath" value="MsixTestInstaller.msix" />
<Parameter name="ExeTestInstallerPath" value="ExeTestInstaller.exe" />
<Parameter name="FontTestPath" value="AppInstallerTestFont.ttf" />
<Parameter name="MsiTestInstallerV2Path" value="MsiTestInstallerV2.msi" />
<Parameter name="PackageCertificatePath" value="certificate.pfx"/>
<Parameter name="PowerShellModulePath" value="TestPowerShellModule.psd1" />
<Parameter name="LocalServerCertPathParameter" value="servercert.cer" />
<Parameter name="LocalServerCertPath" value="servercert.cer" />
<Parameter name="InprocTestbedPath" value="ComInprocTestbed.exe" />
<Parameter name="InprocTestbedUseTestPackage" value="false" />
<Parameter name="ForcedExperimentalFeatures" value="" />
<Parameter name="SkipTestSource" value="false" />
</TestRunParameters>
</RunSettings>
Loading