Helpers/DslMethods/Initialize-RPDslContext.ps1
<#
.SYNOPSIS Initialize the context for a Report Portal Launch in the DSL. #> function Initialize-RPDslContext { param ( # Name of the launch. A new launch will be started and stopped. [Parameter(Mandatory = $true)] [AllowEmptyString()] [System.String] $Name, # Use the already started launch. It will not be stopped after testing. [Parameter(Mandatory = $true)] [AllowNull()] [PSTypeName('ReportPortal.Launch')] $Launch, # List of test steps to be suppressed. [Parameter(Mandatory = $true)] [AllowEmptyCollection()] [System.String[]] $Suppression ) # Specify the launch execution modes: # - Passive # The launch already exists. Reuse this launch object but passive # indicates, that the launch was startetd externally. # - Active # The launch does not exist, but we have a launch name specified, e.g. # it's not an empty string. This means we have to start and stop the # internally. # - None # No launch object or name was specified, just execute the tests as if # they were normal Pester tests. if ($null -ne $Launch) { $mode = 'Passive' } elseif (-not [System.String]::IsNullOrEmpty($Name)) { $mode = 'Active' } else { $mode = 'None' } [PSCustomObject] @{ PSTypeName = 'ReportPortal.Context' Mode = $mode Launch = $Launch Suite = $null Tests = $null #[System.Collections.Stack]::new() Suppression = $Suppression PesterPath = [System.Collections.Stack]::new() } } |