mirror of
https://github.com/PowerShell/PowerShell
synced 2026-06-08 12:12:50 +00:00
44 lines
1.8 KiB
PowerShell
44 lines
1.8 KiB
PowerShell
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT License.
|
|
Describe "Get-Runspace cmdlet tests" -Tag "CI" {
|
|
BeforeAll {
|
|
$CurrentRunspace = $ExecutionContext.Host.Runspace
|
|
$ExpectedInstanceId = $CurrentRunspace.InstanceId
|
|
$ExpectedId = $currentRunspace.Id
|
|
}
|
|
It "Get-Runspace should return the current runspace" {
|
|
$runspace = Get-Runspace |Sort-Object -Property id | Select-Object -First 1
|
|
$runspace.InstanceId | Should -Be $ExpectedInstanceId
|
|
}
|
|
It "Get-Runspace with runspace InstanceId should return the correct runspace" {
|
|
$runspace = Get-Runspace -InstanceId $CurrentRunspace.InstanceId
|
|
$runspace.InstanceId | Should -Be $ExpectedInstanceId
|
|
}
|
|
It "Get-Runspace with runspace name should return the correct runspace" {
|
|
$runspace = Get-Runspace -Name $currentRunspace.Name
|
|
$runspace.InstanceId | Should -Be $ExpectedInstanceId
|
|
}
|
|
It "Get-Runspace with runspace Id should return the correct runspace" {
|
|
$runspace = Get-Runspace -Id $CurrentRunspace.Id
|
|
$runspace.InstanceId | Should -Be $ExpectedInstanceId
|
|
}
|
|
Context "Multiple Runspaces" {
|
|
BeforeAll {
|
|
$runspaceCount = @(Get-Runspace).count
|
|
$r1 = [runspacefactory]::CreateRunspace()
|
|
$r1.Open()
|
|
$r2 = [runspacefactory]::CreateRunspace()
|
|
}
|
|
AfterAll {
|
|
$r1.Dispose()
|
|
$r2.Dispose()
|
|
}
|
|
It "Get-Runspace should return the new runspaces" {
|
|
$result = Get-Runspace
|
|
# if the ids don't match, we'll get null passed to should
|
|
$result.id | Where-Object {$_ -eq $r1.id } | Should -Be $r1.id
|
|
$result.id | Where-Object {$_ -eq $r2.id } | Should -Be $r2.id
|
|
}
|
|
}
|
|
}
|