Modules/BenchPress.Azure/Public/CustomAssertions/BeSuccessful.ps1 (44 lines of code) (raw):

function ShouldBeSuccessful ($ActualValue, [switch] $Negate, [string] $Because) { <# .SYNOPSIS Custom Assertion function to check status on a resource deployment. .DESCRIPTION BeSuccessful is a custom assertion that checks the provided ConfirmResult Object for deployment success. It can be used when writing Pester tests. .EXAMPLE Confirm-AzBPResourceGroup -ResourceGroupName $rgName | Should -BeSuccessful .EXAMPLE Confirm-AzBPResourceGroup -ResourceGroupName $rgName | Should -Not -BeSuccessful .INPUTS ConfirmResult System.Switch System.String .OUTPUTS PSCustomObject #> if ($null -eq $ActualValue) { [bool] $succeeded = $false $failureMessage = "ConfirmResult is null or empty." } else { [bool] $succeeded = $ActualValue.Success if ($Negate) { $succeeded = -not $succeeded } if (-not $succeeded) { if ($Negate) { $failureMessage = "Resource is currently deployed, but should not be." } else { $failureMessage = "Resource not deployed or there was an error when confirming resource." if ($Because) { $failureMessage = "Resource not available $Because." } } } } return [pscustomobject]@{ Succeeded = $succeeded FailureMessage = $failureMessage } } Add-ShouldOperator -Name BeSuccessful ` -InternalName 'ShouldBeSuccessful' ` -Test ${function:ShouldBeSuccessful} ` -Alias 'SBS'