core/public/Expand-JaxFlowScenario.ps1
|
function Expand-JaxFlowScenario { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [System.Collections.IDictionary] $FlowConfig, [string] $Scenario ) if ($FlowConfig.Keys -notcontains 'suite') { return @() } $suite = $FlowConfig['suite'] if ($null -eq $suite -or ($suite.Keys -notcontains 'scenarios')) { return @() } $scenarios = $suite['scenarios'] if ($null -eq $scenarios -or $scenarios.Keys.Count -eq 0) { return @() } if ([string]::IsNullOrWhiteSpace($Scenario)) { $Scenario = $scenarios.Keys | Select-Object -First 1 } if (-not ($scenarios.Keys -contains $Scenario)) { return @() } $scenarioConfig = $scenarios[$Scenario] if ($scenarioConfig -is [System.Collections.IDictionary]) { return @($scenarioConfig.Keys) } if ($scenarioConfig -is [string]) { return @($scenarioConfig) } if ($scenarioConfig -is [System.Collections.IEnumerable]) { return @($scenarioConfig) } return @() } |