sitecore-tests.ps1
# # sitecore_tests.ps1 # Function Test-WebResponse { [cmdletbinding(SupportsShouldProcess=$true)] param( [parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [String] $Url, [int] $Timeout = 10000 ) $result = $false $uri = "" $isUrlCorrect = [System.Uri]::TryCreate($Url, [System.UriKind]::Absolute,[ref] $uri) if( $isUrlCorrect -eq $false ) { Write-Warning "Can't create URI from '$Url'" return $result } else { $sw = [Diagnostics.Stopwatch]::StartNew() $HTTP_Request = [System.Net.WebRequest]::Create($uri) $HTTP_Request.Timeout = $Timeout $HTTP_Response = $null try { $HTTP_Response = $HTTP_Request.GetResponse(); # We then get the HTTP code as an integer. $HTTP_Status = [int]$HTTP_Response.StatusCode $sw.Stop() If ($HTTP_Status -eq 200) { Write-Verbose "Test SUCCESS for $uri - $($sw.Elapsed)" $result = $true } Else { Write-Verbose "Test FAIL for $uri. Response: $HTTP_Status" } } catch { Write-Warning "ERROR for $Url ($uri): Exception: $($_.Exception.Message)" } finally { # Finally, we clean up the http request by closing it. if( $HTTP_Response -ne $null) { $HTTP_Response.Close() } } return $result } } Export-ModuleMember -Function Test-WebResponse |