Skip to content
Merged
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
17 changes: 14 additions & 3 deletions test/powershell/Installer/WindowsInstaller.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,21 @@ Describe "Windows Installer" -Tags "Scenario" {
(Get-Content $wixProductFile -Raw).Contains($preRequisitesLink) | Should Be $true
}

It "Pre-Requisistes link for '<Name>' is reachable: <url>" -TestCases $linkCheckTestCases -Test {
## Running 'Invoke-WebRequest' with WMF download URLs has been failing intermittently,
## because sometimes the URLs lead to a 'this download is no longer available' page.
## We use a retry logic here. Retry for 5 times with 1 second interval.
It "Pre-Requisistes link for '<Name>' is reachable: <url>" -TestCases $linkCheckTestCases {
param ($Url)

# Because an outdated link 'https://www.microsoft.com/download/details.aspx?id=504100000' would still return a 200 reponse (due to a redirection to an error page), it only checks that it returns something
(Invoke-WebRequest $Url -UseBasicParsing) | Should Not Be $null
foreach ($i in 1..5) {
try {
$result = Invoke-WebRequest $Url -UseBasicParsing
break;
} catch {
Start-Sleep -Seconds 1
}
}

$result | Should Not Be $null
}
}