Update pester syntax to v4 (#11544)

* Capitalize 'Should' command and fix whitespace

```powershell
$_ -ireplace '\s?\|\s?should\b',' | Should'
```

* Capitalise and apply hyphen to 'Not' parameter

```powershell
$_ -ireplace '(\| Should) not\b','$1 -Not'
```

* Capitalise and apply hyphen to 'Be' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?) -?be\b','$1 -Be'
```

* Capitalise and apply hyphen to 'BeExactly' parameter

$_ -ireplace '(\| Should(?: -Not)?) -?beexactly\b','$1 -BeExactly'

* Capitalise and apply hyphen to 'BeGreaterThan' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?) -?begreaterthan\b','$1 -BeGreaterThan'
```

* Use 'BeTrue' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?) -Be\s\$?true\b','$1 -BeTrue'
```

* Use 'BeFalse' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?) -Be\s\$?false\b','$1 -BeFalse'
```

* Capitalise and apply hyphen to 'Match' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?)\s-?match\b','$1 -Match'
```

* Capitalise and apply hyphen to 'Throw' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?)\s-?throw\b','$1 -Throw'
```

* Capitalise and apply hyphen to 'BeNullOrEmpty' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?)\s-?benullorempty\b','$1 -BeNullOrEmpty'
```

* Capitalise 'Because' parameter

```powershell
$_ -ireplace '\s-because\b',' -Because'
```

* Fix 'BeNullOrEmpty'
This commit is contained in:
xtqqczze 2020-01-11 15:41:59 +00:00 committed by Ilya
parent 70d9ed4d55
commit 743983390e
71 changed files with 979 additions and 979 deletions

View File

@ -69,21 +69,21 @@ Describe "Basic remoting test with docker" -tags @("Scenario","Slow"){
It "Full powershell can get correct remote powershell version" -pending:$pending {
$result = docker exec $client powershell -c "`$ss = [security.securestring]::new(); '11aa!!AA'.ToCharArray() | ForEach-Object { `$ss.appendchar(`$_)}; `$c = [pscredential]::new('testuser',`$ss); `$ses=new-pssession $serverhostname -configurationname $powershellcoreConfiguration -auth basic -credential `$c; invoke-command -session `$ses { `$psversiontable.psversion.tostring() }"
$result | should be $coreVersion
$result | Should -Be $coreVersion
}
It "Full powershell can get correct remote powershell full version" -pending:$pending {
$result = docker exec $client powershell -c "`$ss = [security.securestring]::new(); '11aa!!AA'.ToCharArray() | ForEach-Object { `$ss.appendchar(`$_)}; `$c = [pscredential]::new('testuser',`$ss); `$ses=new-pssession $serverhostname -auth basic -credential `$c; invoke-command -session `$ses { `$psversiontable.psversion.tostring() }"
$result | should be $fullVersion
$result | Should -Be $fullVersion
}
It "Core powershell can get correct remote powershell version" -pending:$pending {
$result = docker exec $client "$powershellcorepath" -c "`$ss = [security.securestring]::new(); '11aa!!AA'.ToCharArray() | ForEach-Object { `$ss.appendchar(`$_)}; `$c = [pscredential]::new('testuser',`$ss); `$ses=new-pssession $serverhostname -configurationname $powershellcoreConfiguration -auth basic -credential `$c; invoke-command -session `$ses { `$psversiontable.psversion.tostring() }"
$result | should be $coreVersion
$result | Should -Be $coreVersion
}
It "Core powershell can get correct remote powershell full version" -pending:$pending {
$result = docker exec $client "$powershellcorepath" -c "`$ss = [security.securestring]::new(); '11aa!!AA'.ToCharArray() | ForEach-Object { `$ss.appendchar(`$_)}; `$c = [pscredential]::new('testuser',`$ss); `$ses=new-pssession $serverhostname -auth basic -credential `$c; invoke-command -session `$ses { `$psversiontable.psversion.tostring() }"
$result | should be $fullVersion
$result | Should -Be $fullVersion
}
}

View File

@ -13,6 +13,6 @@ Describe "Verify PowerShell Runs" {
it "Verify Version " {
$version = docker run --rm -v "${rootPath}:${mount}" ${container} "${mount}\publish\pwsh" -NoLogo -NoProfile -Command '$PSVersionTable.PSVersion.ToString()'
$version | Should -match '^7\.'
$version | Should -Match '^7\.'
}
}

View File

@ -205,7 +205,7 @@ $pid
$items | Should -Not -Be $null
$items.Count | Should -BeGreaterThan 2
$createdEvents = $items | where-object {$_.EventId -eq 'ScriptBlock_Compile_Detail:ExecuteCommand.Create.Verbose'}
$createdEvents.Count | should -BeGreaterOrEqual 3
$createdEvents.Count | Should -BeGreaterOrEqual 3
# Verify we log that we are executing a file
$createdEvents[0].Message | Should -Match ($scriptBlockCreatedRegExTemplate -f ".*/$testFileName")
@ -234,7 +234,7 @@ $pid
$items | Should -Not -Be $null
$items.Count | Should -BeGreaterThan 2
$createdEvents = $items | where-object {$_.EventId -eq 'ScriptBlock_Compile_Detail:ExecuteCommand.Create.Verbose'}
$createdEvents.Count | should -BeGreaterOrEqual 3
$createdEvents.Count | Should -BeGreaterOrEqual 3
# Verify we log that we are executing a file
$createdEvents[0].Message | Should -Match ($scriptBlockCreatedRegExTemplate -f ".*/$testFileName")
@ -354,7 +354,7 @@ $pid
$items | Should -Not -Be $null
$items.Count | Should -BeGreaterThan 2
$createdEvents = $items | where-object {$_.EventId -eq 'ScriptBlock_Compile_Detail:ExecuteCommand.Create.Verbose'}
$createdEvents.Count | should -BeGreaterOrEqual 3
$createdEvents.Count | Should -BeGreaterOrEqual 3
# Verify we log that we are executing a file
$createdEvents[0].Message | Should -Match ($scriptBlockCreatedRegExTemplate -f ".*/$testFileName")
@ -392,7 +392,7 @@ $pid
$items | Should -Not -Be $null
$items.Count | Should -BeGreaterThan 2
$createdEvents = $items | where-object {$_.EventId -eq 'ScriptBlock_Compile_Detail:ExecuteCommand.Create.Verbose'}
$createdEvents.Count | should -BeGreaterOrEqual 3
$createdEvents.Count | Should -BeGreaterOrEqual 3
# Verify we log that we are executing a file
$createdEvents[0].Message | Should -Match ($scriptBlockCreatedRegExTemplate -f ".*/$testFileName")

View File

@ -109,14 +109,14 @@ Describe "TabCompletion" -Tags CI {
$res = TabExpansion2 -inputScript 'Get-ChildItem | Select-Object @{ ' -cursorColumn 'Get-ChildItem | Select-Object @{ '.Length
$res.CompletionMatches | Should -HaveCount 2
$completionText = $res.CompletionMatches.CompletionText | Sort-Object
$completionText -join ' '| Should -BeExactly 'Expression Name'
$completionText -join ' ' | Should -BeExactly 'Expression Name'
}
It 'Should complete Sort-Object hashtable' {
$res = TabExpansion2 -inputScript 'Get-ChildItem | Sort-Object @{ ' -cursorColumn 'Get-ChildItem | Sort-Object @{ '.Length
$res.CompletionMatches | Should -HaveCount 3
$completionText = $res.CompletionMatches.CompletionText | Sort-Object
$completionText -join ' '| Should -BeExactly 'Ascending Descending Expression'
$completionText -join ' ' | Should -BeExactly 'Ascending Descending Expression'
}
It 'Should complete New-Object hashtable' {
@ -375,7 +375,7 @@ Describe "TabCompletion" -Tags CI {
$res = TabExpansion2 -inputScript 'Export-Counter -FileFormat ' -cursorColumn 'Export-Counter -FileFormat '.Length
$res.CompletionMatches | Should -HaveCount 3
$completionText = $res.CompletionMatches.CompletionText | Sort-Object
$completionText -join ' '| Should -BeExactly 'blg csv tsv'
$completionText -join ' ' | Should -BeExactly 'blg csv tsv'
}
Context "Script name completion" {

View File

@ -15,7 +15,7 @@ Describe "Windows Installer" -Tags "Scenario" {
It "WiX (Windows Installer XML) file contains pre-requisites link $preRequisitesLink" -skip:$skipTest {
$wixProductFile = Join-Path -Path $PSScriptRoot -ChildPath "..\..\..\assets\Product.wxs"
(Get-Content $wixProductFile -Raw).Contains($preRequisitesLink) | Should Be $true
(Get-Content $wixProductFile -Raw).Contains($preRequisitesLink) | Should -BeTrue
}
## Running 'Invoke-WebRequest' with WMF download URLs has been failing intermittently,

View File

@ -384,7 +384,7 @@ Describe 'Negative ClassAttributes Tests' -Tags "CI" {
[System.Management.Automation.Cmdlet("Get", "Thing", SupportsShouldProcess = $true, SupportsPaging = $true)]class C2{}
$t = [C2].GetCustomAttributes($false)
It "Should have one attribute (class C2)" { $t.Count | should -Be 1 }
It "Should have one attribute (class C2)" { $t.Count | Should -Be 1 }
It "Should have instance of CmdletAttribute (class C2)" { $t[0] | Should -BeOfType System.Management.Automation.CmdletAttribute }
[System.Management.Automation.CmdletAttribute]$c = $t[0]
It "Verb should be Get (class C2)" {$c.VerbName | Should -BeExactly 'Get'}

View File

@ -68,7 +68,7 @@ Describe 'Classes inheritance syntax' -Tags "CI" {
$C1 = Invoke-Expression 'class ClassWithInterfaceProperty : InterfaceWithProperty { [int]$Integer } [ClassWithInterfaceProperty]::new()'
$getter = $C1.GetType().GetMember('get_Integer')
$getter.ReturnType.FullName | Should -Be System.Int32
$getter.Attributes -band [System.Reflection.MethodAttributes]::Virtual |Should -Be ([System.Reflection.MethodAttributes]::Virtual)
$getter.Attributes -band [System.Reflection.MethodAttributes]::Virtual | Should -Be ([System.Reflection.MethodAttributes]::Virtual)
}
It 'can implement inherited .NET interface properties' {
@ -77,7 +77,7 @@ Describe 'Classes inheritance syntax' -Tags "CI" {
$C1 = Invoke-Expression 'class ClassWithInheritedInterfaces : IChild { [int]$ParentInteger; [int]$ChildInteger } [ClassWithInheritedInterfaces]'
$getter = $C1.GetMember('get_ParentInteger')
$getter.ReturnType.FullName | Should -Be System.Int32
$getter.Attributes -band [System.Reflection.MethodAttributes]::Virtual |Should -Be ([System.Reflection.MethodAttributes]::Virtual)
$getter.Attributes -band [System.Reflection.MethodAttributes]::Virtual | Should -Be ([System.Reflection.MethodAttributes]::Virtual)
}
It 'allows use of defined later type as a property type' {

View File

@ -277,7 +277,7 @@ namespace DotNetInterop
{ $testObj.PrintMySpan("abc", 12) } | Should -Throw -ErrorId "MethodArgumentConversionInvalidCastArgument"
$path = [System.IO.Path]::GetTempPath()
[System.IO.Path]::IsPathRooted($path.ToCharArray()) | Should -Be $true
[System.IO.Path]::IsPathRooted($path.ToCharArray()) | Should -BeTrue
}
It "Support constructor calls with ByRef-like parameter as long as the argument can be casted to the ByRef-like type" {

View File

@ -223,16 +223,16 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
Execute-Script -ps $ps -Script $importCSharpModule
$languageMode = Execute-Script -ps $ps -Script $getLanguageMode
$languageMode | Should Be 'FullLanguage'
$languageMode | Should -Be 'FullLanguage'
$result1 = Execute-Script -ps $ps -Script "Test-ScriptCmdlet -File fileToUse"
$result1 | Should Be "fileToUse"
$result1 | Should -Be "fileToUse"
$result2 = Execute-Script -ps $ps -Script "Test-ScriptFunction -File fileToUse"
$result2 | Should Be "fileToUse"
$result2 | Should -Be "fileToUse"
$result3 = Execute-Script -ps $ps -Script "Test-BinaryCmdlet -File fileToUse"
$result3 | Should Be "fileToUse"
$result3 | Should -Be "fileToUse"
## Conversion involves setting properties of an instance of the target type is allowed in FullLanguage mode
$hashValue = @{ FileName = "filename"; Arguments = "args" }
@ -240,21 +240,21 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
## Test 'Test-ScriptCmdlet -StartInfo' with IDictionary and PSObject with properties
$result4 = Execute-Script -ps $ps -Command "Test-ScriptCmdlet" -ParameterName "StartInfo" -Argument $hashValue
$result4 | Should Be "filename"
$result4 | Should -Be "filename"
$result5 = Execute-Script -ps $ps -Command "Test-ScriptCmdlet" -ParameterName "StartInfo" -Argument $psobjValue
$result5 | Should Be "filename"
$result5 | Should -Be "filename"
## Test 'Test-ScriptFunction -StartInfo' with IDictionary and PSObject with properties
$result6 = Execute-Script -ps $ps -Command "Test-ScriptFunction" -ParameterName "StartInfo" -Argument $hashValue
$result6 | Should Be "filename"
$result6 | Should -Be "filename"
$result7 = Execute-Script -ps $ps -Command "Test-ScriptFunction" -ParameterName "StartInfo" -Argument $psobjValue
$result7 | Should Be "filename"
$result7 | Should -Be "filename"
## Test 'Test-BinaryCmdlet -StartInfo' with IDictionary and PSObject with properties
$result8 = Execute-Script -ps $ps -Command "Test-BinaryCmdlet" -ParameterName "StartInfo" -Argument $hashValue
$result8 | Should Be "filename"
$result8 | Should -Be "filename"
$result9 = Execute-Script -ps $ps -Command "Test-BinaryCmdlet" -ParameterName "StartInfo" -Argument $psobjValue
$result9 | Should Be "filename"
$result9 | Should -Be "filename"
}
finally {
$ps.Dispose()
@ -270,21 +270,21 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
Execute-Script -ps $ps -Script $importCSharpModule
$languageMode = Execute-Script -ps $ps -Script $getLanguageMode
$languageMode | Should Be 'FullLanguage'
$languageMode | Should -Be 'FullLanguage'
## Change to ConstrainedLanguage mode
Execute-Script -ps $ps -Script $changeToConstrainedLanguage
$languageMode = Execute-Script -ps $ps -Script $getLanguageMode
$languageMode | Should Be 'ConstrainedLanguage'
$languageMode | Should -Be 'ConstrainedLanguage'
$result1 = Execute-Script -ps $ps -Script "Test-ScriptCmdlet -File fileToUse"
$result1 | Should Be "fileToUse"
$result1 | Should -Be "fileToUse"
$result2 = Execute-Script -ps $ps -Script "Test-ScriptFunction -File fileToUse"
$result2 | Should Be "fileToUse"
$result2 | Should -Be "fileToUse"
$result3 = Execute-Script -ps $ps -Script "Test-BinaryCmdlet -File fileToUse"
$result3 | Should Be "fileToUse"
$result3 | Should -Be "fileToUse"
## If the conversion involves setting properties of an instance of the target type,
## then it's disallowed even for trusted cmdlets.
@ -296,14 +296,14 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
Execute-Script -ps $ps -Command "Test-ScriptCmdlet" -ParameterName "StartInfo" -Argument $hashValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingArgumentTransformationException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingArgumentTransformationException,Execute-Script"
}
try {
Execute-Script -ps $ps -Command "Test-ScriptCmdlet" -ParameterName "StartInfo" -Argument $psobjValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingArgumentTransformationException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingArgumentTransformationException,Execute-Script"
}
## Test 'Test-ScriptFunction -StartInfo' with IDictionary and PSObject with properties
@ -311,14 +311,14 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
Execute-Script -ps $ps -Command "Test-ScriptFunction" -ParameterName "StartInfo" -Argument $hashValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingArgumentTransformationException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingArgumentTransformationException,Execute-Script"
}
try {
Execute-Script -ps $ps -Command "Test-ScriptFunction" -ParameterName "StartInfo" -Argument $psobjValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingArgumentTransformationException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingArgumentTransformationException,Execute-Script"
}
## Test 'Test-BinaryCmdlet -StartInfo' with IDictionary and PSObject with properties
@ -326,14 +326,14 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
Execute-Script -ps $ps -Command "Test-BinaryCmdlet" -ParameterName "StartInfo" -Argument $hashValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingException,Execute-Script"
}
try {
Execute-Script -ps $ps -Command "Test-BinaryCmdlet" -ParameterName "StartInfo" -Argument $psobjValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingException,Execute-Script"
}
}
finally {
@ -346,30 +346,30 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
$ps = [powershell]::Create()
try {
$languageMode = Execute-Script -ps $ps -Script $getLanguageMode
$languageMode | Should Be 'FullLanguage'
$languageMode | Should -Be 'FullLanguage'
## Change to ConstrainedLanguage mode
Execute-Script -ps $ps -Script $changeToConstrainedLanguage
$languageMode = Execute-Script -ps $ps -Script $getLanguageMode
$languageMode | Should Be 'ConstrainedLanguage'
$languageMode | Should -Be 'ConstrainedLanguage'
## Import the modules in ConstrainedLanguage mode
Execute-Script -ps $ps -Script $importScriptModule
Execute-Script -ps $ps -Script $importCSharpModule
$result1 = Execute-Script -ps $ps -Script "Test-ScriptCmdlet -File fileToUse"
$result1 | Should Be $null
$ps.Streams.Error.Count | Should Be 1
$ps.Streams.Error[0].FullyQualifiedErrorId | Should Be "ParameterArgumentTransformationError,Test-ScriptCmdlet"
$result1 | Should -Be $null
$ps.Streams.Error.Count | Should -Be 1
$ps.Streams.Error[0].FullyQualifiedErrorId | Should -Be "ParameterArgumentTransformationError,Test-ScriptCmdlet"
$result2 = Execute-Script -ps $ps -Script "Test-ScriptFunction -File fileToUse"
$result2 | Should Be $null
$ps.Streams.Error.Count | Should Be 1
$ps.Streams.Error[0].FullyQualifiedErrorId | Should Be "ParameterArgumentTransformationError,Test-ScriptFunction"
$result2 | Should -Be $null
$ps.Streams.Error.Count | Should -Be 1
$ps.Streams.Error[0].FullyQualifiedErrorId | Should -Be "ParameterArgumentTransformationError,Test-ScriptFunction"
## Binary cmdlets are always marked as trusted because only trusted assemblies can be loaded on DeviceGuard machine.
$result3 = Execute-Script -ps $ps -Script "Test-BinaryCmdlet -File fileToUse"
$result3 | Should Be "fileToUse"
$result3 | Should -Be "fileToUse"
## Conversion that involves setting properties of an instance of the target type is disallowed.
$hashValue = @{ FileName = "filename"; Arguments = "args" }
@ -380,14 +380,14 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
Execute-Script -ps $ps -Command "Test-ScriptCmdlet" -ParameterName "StartInfo" -Argument $hashValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingArgumentTransformationException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingArgumentTransformationException,Execute-Script"
}
try {
Execute-Script -ps $ps -Command "Test-ScriptCmdlet" -ParameterName "StartInfo" -Argument $psobjValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingArgumentTransformationException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingArgumentTransformationException,Execute-Script"
}
## Test 'Test-ScriptFunction -StartInfo' with IDictionary and PSObject with properties
@ -395,14 +395,14 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
Execute-Script -ps $ps -Command "Test-ScriptFunction" -ParameterName "StartInfo" -Argument $hashValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingArgumentTransformationException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingArgumentTransformationException,Execute-Script"
}
try {
Execute-Script -ps $ps -Command "Test-ScriptFunction" -ParameterName "StartInfo" -Argument $psobjValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingArgumentTransformationException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingArgumentTransformationException,Execute-Script"
}
## Test 'Test-BinaryCmdlet -StartInfo' with IDictionary and PSObject with properties
@ -410,14 +410,14 @@ Describe "Custom type conversion in parameter binding" -Tags 'Feature' {
Execute-Script -ps $ps -Command "Test-BinaryCmdlet" -ParameterName "StartInfo" -Argument $hashValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingException,Execute-Script"
}
try {
Execute-Script -ps $ps -Command "Test-BinaryCmdlet" -ParameterName "StartInfo" -Argument $psobjValue
throw "Expected exception was not thrown!"
} catch {
$_.FullyQualifiedErrorId | Should Be "ParameterBindingException,Execute-Script"
$_.FullyQualifiedErrorId | Should -Be "ParameterBindingException,Execute-Script"
}
}
finally {

View File

@ -44,17 +44,17 @@ Describe "Using Namespace" -Tags "CI" {
It "Type literals w/ using namespace" {
[Thread].FullName | Should -Be System.Threading.Thread
[Int32].FullName | Should -Be System.Int32
#[ElapsedEventHandler].FullName | Should Be System.Timers.ElapsedEventHandler
#[ElapsedEventHandler].FullName | Should -Be System.Timers.ElapsedEventHandler
[C1].GetProperty("Thread").PropertyType.FullName | Should -Be System.Threading.Thread
[C1].GetProperty("Int").PropertyType.FullName | Should -Be System.Int32
# [C1].GetProperty("EventHandler").PropertyType.FullName | Should Be System.Timers.ElapsedEventHandler
# [C1].GetProperty("EventHandler").PropertyType.FullName | Should -Be System.Timers.ElapsedEventHandler
}
It "Covert string to Type w/ using namespace" {
("Thread" -as [Type]).FullName | Should -Be System.Threading.Thread
("Int32" -as [Type]).FullName | Should -Be System.Int32
# ("ElapsedEventHandler" -as [Type]).FullName | Should Be System.Timers.ElapsedEventHandler
# ("ElapsedEventHandler" -as [Type]).FullName | Should -Be System.Timers.ElapsedEventHandler
New-Object Int32 | Should -Be 0
New-Object CompilerGeneratedAttribute | Should -Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
@ -83,11 +83,11 @@ Describe "Using Namespace" -Tags "CI" {
[C1].GetProperty("Thread").GetCustomAttributesData()[0].AttributeType.FullName | Should -Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
[C1].GetProperty("Int").GetCustomAttributesData()[0].AttributeType.FullName | Should -Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
# [C1].GetProperty("EventHandler").GetCustomAttributesData()[0].AttributeType.FullName | Should Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
# [C1].GetProperty("EventHandler").GetCustomAttributesData()[0].AttributeType.FullName | Should -Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
[C2].GetProperty("Thread").GetCustomAttributesData()[0].AttributeType.FullName | Should -Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
[C2].GetProperty("Int").GetCustomAttributesData()[0].AttributeType.FullName | Should -Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
# [C2].GetProperty("EventHandler").GetCustomAttributesData()[0].AttributeType.FullName | Should Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
# [C2].GetProperty("EventHandler").GetCustomAttributesData()[0].AttributeType.FullName | Should -Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
[C1].GetCustomAttributesData()[0].AttributeType.FullName | Should -Be System.Runtime.CompilerServices.CompilerGeneratedAttribute
[C2].GetCustomAttributesData()[0].AttributeType.FullName | Should -Be System.Runtime.CompilerServices.CompilerGeneratedAttribute

View File

@ -30,7 +30,7 @@ Describe "Test restricted language check method on scriptblocks" -Tags "CI" {
It 'Check union of default + one allowed variables' {
{ { 2 + $a }.CheckRestrictedLanguage($null, (list a), $false) }| Should -Not -Throw # succeed
{ { 2 + $a }.CheckRestrictedLanguage($null, (list a), $false) } | Should -Not -Throw # succeed
}
It 'Check union of default + two allowed variables' {
@ -40,7 +40,7 @@ Describe "Test restricted language check method on scriptblocks" -Tags "CI" {
It 'Check union of default + allowed variables' {
{ { $PSCulture, $PSUICulture, $true, $false, $null, $a, $b}.CheckRestrictedLanguage($null, (list a b), $false) }| Should -Not -Throw
{ { $PSCulture, $PSUICulture, $true, $false, $null, $a, $b}.CheckRestrictedLanguage($null, (list a b), $false) } | Should -Not -Throw
}
It 'Check union of default + one disallowed variables' {
@ -70,6 +70,6 @@ Describe "Test restricted language check method on scriptblocks" -Tags "CI" {
{ { get-process | where name -Match $pattern | foreach $prop }.CheckRestrictedLanguage(
(list get-process where foreach),
(list prop pattern)
, $false) }| Should -Not -Throw
, $false) } | Should -Not -Throw
}
}

View File

@ -141,7 +141,7 @@ Describe "Common parameters support for script cmdlets" -Tags "CI" {
# Exception: "Command execution stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: error foo"
# BUG in runspace api.
#$ps.error.count | Should Be 1
#$ps.error.count | Should -Be 1
$ps.InvocationStateInfo.State | Should -BeExactly 'Failed'
}

View File

@ -94,7 +94,7 @@ Describe "Tests conversion of deserialized types to original type using object p
}
It 'Type casts should succeed.' {
{ $tc1 = [test1]$dst1 }| Should -Not -Throw
{ $tc1 = [test1]$dst1 } | Should -Not -Throw
}
It 'Parameter bindings should succeed.' {

View File

@ -52,7 +52,7 @@ Describe 'Native UNIX globbing tests' -tags "CI" {
It 'Should not normalize absolute paths' {
$matches = /bin/echo /etc/*
# Matched path should start with '/etc/' not '../..'
$matches.substring(0,5) | Should Be '/etc/'
$matches.substring(0,5) | Should -Be '/etc/'
}
It 'Globbing should not happen with quoted expressions' {
$v = "$TESTDRIVE/abc*"

View File

@ -379,7 +379,7 @@ Describe "Tests for parameter binding" -Tags "CI" {
$p
}
get-fooe| Should -Be 55
get-fooe | Should -Be 55
}
It "Validation attributes should not run on default values when CmdletBinding is set on the parameter" {
@ -390,7 +390,7 @@ Describe "Tests for parameter binding" -Tags "CI" {
$p
}
get-foof| Should -Be 55
get-foof | Should -Be 55
}
It "Validation attributes should not run on default values" {
@ -400,7 +400,7 @@ Describe "Tests for parameter binding" -Tags "CI" {
$p
}
{ get-foog } | Should -Not -throw
{ get-foog } | Should -Not -Throw
}
It "Validation attributes should not run on default values when CmdletBinding is set" {
@ -411,7 +411,7 @@ Describe "Tests for parameter binding" -Tags "CI" {
$p
}
{ get-fooh } | Should -Not -throw
{ get-fooh } | Should -Not -Throw
}
It "ValidateScript can use custom ErrorMessage" {

View File

@ -17,7 +17,7 @@ Describe '$env:__SuppressAnsiEscapeSequences tests' -Tag CI {
}
It 'Select-String emits VT' {
"select this string" | Select-String 'this' | Out-String |Should -BeLikeExactly "*`e*"
"select this string" | Select-String 'this' | Out-String | Should -BeLikeExactly "*`e*"
}
It 'ConciseView emits VT' {

View File

@ -919,8 +919,8 @@ Describe "Import-Module nested module behaviour with Edition checking" -Tag "Fea
if ((-not $SkipEditionCheck) -and (-not ($MarkedEdition -contains "Core")))
{
# this goes through WinCompat code
{ Import-Module $moduleBase -ErrorAction Stop } | Should Not Throw
Get-Module -Name $moduleName | Should Not BeNullOrEmpty
{ Import-Module $moduleBase -ErrorAction Stop } | Should -Not -Throw
Get-Module -Name $moduleName | Should -Not -BeNullOrEmpty
return
}
@ -967,8 +967,8 @@ Describe "Import-Module nested module behaviour with Edition checking" -Tag "Fea
if ((-not $SkipEditionCheck) -and (-not ($MarkedEdition -contains "Core")))
{
# this goes through WinCompat code
{ Import-Module $moduleName -ErrorAction Stop } | Should Not Throw
Get-Module -Name $moduleName | Should Not BeNullOrEmpty
{ Import-Module $moduleName -ErrorAction Stop } | Should -Not -Throw
Get-Module -Name $moduleName | Should -Not -BeNullOrEmpty
return
}

View File

@ -359,7 +359,7 @@ Describe "Feature tests for Import-Counter cmdlet" -Tags "Feature" {
foreach ($err in $errVar)
{
$err.CategoryInfo.Category | Should -BeExactly "InvalidResult"
$err.FullyQualifiedErrorId | SHould -BeExactly "CounterApiError,Microsoft.PowerShell.Commands.ImportCounterCommand"
$err.FullyQualifiedErrorId | Should -BeExactly "CounterApiError,Microsoft.PowerShell.Commands.ImportCounterCommand"
}
}
}

View File

@ -31,7 +31,7 @@ function VerifyFailingTest
throw "Expected FullyQualifiedErrorId: $expectedFqeid"
}
catch {
$_.FullyQualifiedErrorId | Should Be $expectedFqeid
$_.FullyQualifiedErrorId | Should -Be $expectedFqeid
}
finally {
$script:ErrorActionPreference = $backupEAP
@ -49,11 +49,11 @@ try {
It "Test command presence" {
$result = Get-Command -Module Microsoft.PowerShell.LocalAccounts | ForEach-Object Name
$result -contains "New-LocalGroup" | Should Be $true
$result -contains "Set-LocalGroup" | Should Be $true
$result -contains "Get-LocalGroup" | Should Be $true
$result -contains "Rename-LocalGroup" | Should Be $true
$result -contains "Remove-LocalGroup" | Should Be $true
$result -contains "New-LocalGroup" | Should -BeTrue
$result -contains "Set-LocalGroup" | Should -BeTrue
$result -contains "Get-LocalGroup" | Should -BeTrue
$result -contains "Rename-LocalGroup" | Should -BeTrue
$result -contains "Remove-LocalGroup" | Should -BeTrue
}
}
@ -68,8 +68,8 @@ try {
It "Creates New-LocalGroup using only name" {
$result = New-LocalGroup -Name TestGroupAddRemove
$result.Name | Should BeExactly TestGroupAddRemove
$result.ObjectClass | Should Be Group
$result.Name | Should -BeExactly TestGroupAddRemove
$result.ObjectClass | Should -Be Group
}
}
@ -84,10 +84,10 @@ try {
It "Creates New-LocalGroup with name and description" {
$result = New-LocalGroup -Name TestGroupAddRemove -Description "Test Group New 1 Description"
$result.Name | Should BeExactly TestGroupAddRemove
$result.Description | Should BeExactly "Test Group New 1 Description"
$result.SID | Should Not BeNullOrEmpty
$result.ObjectClass | Should Be Group
$result.Name | Should -BeExactly TestGroupAddRemove
$result.Description | Should -BeExactly "Test Group New 1 Description"
$result.SID | Should -Not -BeNullOrEmpty
$result.ObjectClass | Should -Be Group
}
It "Errors on New-LocalGroup with name collision" {
@ -103,10 +103,10 @@ try {
try {
$result = New-LocalGroup -Name $sidName
$result | Should Not BeNullOrEmpty
$result.Name | Should BeExactly $sidName
$result.SID | Should Not BeExactly $sidName
$result.ObjectClass | Should Be Group
$result | Should -Not -BeNullOrEmpty
$result.Name | Should -BeExactly $sidName
$result.SID | Should -Not -BeExactly $sidName
$result.ObjectClass | Should -Be Group
}
finally {
RemoveTestGroups -basename $sidName
@ -125,10 +125,10 @@ try {
try {
$result = New-LocalGroup -Name $nameMax -Description $desc
$result.Name | Should BeExactly $nameMax
$result.Description | Should BeExactly $desc
$result.SID | Should Not BeNullOrEmpty
$result.ObjectClass | Should Be Group
$result.Name | Should -BeExactly $nameMax
$result.Description | Should -BeExactly $desc
$result.SID | Should -Not -BeNullOrEmpty
$result.ObjectClass | Should -Be Group
}
finally {
RemoveTestGroups -basename $nameMax
@ -144,7 +144,7 @@ try {
throw "An error was expected"
}
catch {
$_.FullyQualifiedErrorId | Should Be "ParameterArgumentValidationError,Microsoft.PowerShell.Commands.NewLocalGroupCommand"
$_.FullyQualifiedErrorId | Should -Be "ParameterArgumentValidationError,Microsoft.PowerShell.Commands.NewLocalGroupCommand"
}
finally {
#clean up erroneous creation
@ -156,7 +156,7 @@ try {
$descMax = "Test Group Add Description that is longer than 48 characters"
$result = New-LocalGroup -Name TestGroupAddRemove -Description $descMax
$result.Description | Should BeExactly $descMax
$result.Description | Should -BeExactly $descMax
}
It "Errors on Invalid characters" {
@ -185,7 +185,7 @@ try {
}
if ($failedCharacters.Count -gt 0) { Write-Host "characters causing test fail: $failedCharacters" }
$failedCharacters.Count -eq 0 | Should Be true
$failedCharacters.Count -eq 0 | Should -BeTrue
}
It "Error on names containing only spaces" {
@ -245,9 +245,9 @@ try {
It "Can Get-LocalGroup by specific group name" {
$result = Get-LocalGroup TestGroupGet1
$result.Name | Should Be "TestGroupGet1"
$result.Description | Should Be "Test Group Get 1 Description"
$result.ObjectClass | Should Be "Group"
$result.Name | Should -Be "TestGroupGet1"
$result.Description | Should -Be "Test Group Get 1 Description"
$result.ObjectClass | Should -Be "Group"
}
}
@ -270,38 +270,38 @@ try {
It "Can Get-LocalGroup of all groups" {
$result = Get-LocalGroup
$result.Count -gt 2 | Should Be true
$result.Count -gt 2 | Should -BeTrue
}
It "Can Get-LocalGroup of a specific group by SID" {
$result = Get-LocalGroup TestGroupGet1
$resultBySID = Get-LocalGroup -SID $result.SID
$resultBySID.SID | Should Not BeNullOrEmpty
$resultBySID.Name | Should Be TestGroupGet1
$resultBySID.SID | Should -Not -BeNullOrEmpty
$resultBySID.Name | Should -Be TestGroupGet1
}
It "Can Get-LocalGroup of a well-known group by SID string" {
$sid = New-Object System.Security.Principal.SecurityIdentifier -ArgumentList BG
$guestGroup = Get-LocalGroup -SID BG
$guestGroup.SID | Should Be $sid.Value
$guestGroup.SID | Should -Be $sid.Value
}
It "Can Get-LocalGroup by wildcard" {
$result = Get-LocalGroup TestGroupGet*
$result.Count -eq 2 | Should Be true
$result.Name -contains "TestGroupGet1" | Should Be true
$result.Name -contains "TestGroupGet2" | Should Be true
$result.Count -eq 2 | Should -BeTrue
$result.Name -contains "TestGroupGet1" | Should -BeTrue
$result.Name -contains "TestGroupGet2" | Should -BeTrue
}
It "Can Get-LocalGroup gets by array of names" {
$result = Get-LocalGroup @("TestGroupGet1", "TestGroupGet2")
$result.Count -eq 2 | Should Be true
$result.Name -contains "TestGroupGet1" | Should Be true
$result.Name -contains "TestGroupGet2" | Should Be true
$result.Count -eq 2 | Should -BeTrue
$result.Name -contains "TestGroupGet1" | Should -BeTrue
$result.Name -contains "TestGroupGet2" | Should -BeTrue
}
It "Can Get-LocalGroups by array of SIDs" {
@ -309,18 +309,18 @@ try {
$sid2 = (Get-LocalGroup TestGroupGet2).SID
$result = Get-LocalGroup -SID @($sid1, $sid2)
$result.Count -eq 2 | Should Be true
$result.Name -contains "TestGroupGet1" | Should Be true
$result.Name -contains "TestGroupGet2" | Should Be true
$result.Count -eq 2 | Should -BeTrue
$result.Name -contains "TestGroupGet1" | Should -BeTrue
$result.Name -contains "TestGroupGet2" | Should -BeTrue
}
It "Can Get-LocalGroups by pipe of an array of Group objects" {
$testGroups = Get-LocalGroup TestGroupGet*
$result = @($testGroups, $testGroups) | Get-LocalGroup
$result.Count -eq 4 | Should Be true
$result.Name -contains "TestGroupGet1" | Should Be true
$result.Name -contains "TestGroupGet2" | Should Be true
$result.Count -eq 4 | Should -BeTrue
$result.Name -contains "TestGroupGet1" | Should -BeTrue
$result.Name -contains "TestGroupGet2" | Should -BeTrue
}
It "Can respond to -ErrorAction Stop" {
@ -335,13 +335,13 @@ try {
if ($null -eq $result)
{
# Force failing the test because an unexpected outcome occurred
$false | Should Be $true
$false | Should -BeTrue
}
else
{
$result[0] -eq 1 | Should Be true
$result[1] -match "GroupNotFound" | Should Be true
$result[2] -match "TestGroupGet1" | Should Be true
$result[0] -eq 1 | Should -BeTrue
$result[1] -match "GroupNotFound" | Should -BeTrue
$result[2] -match "TestGroupGet1" | Should -BeTrue
}
}
@ -365,7 +365,7 @@ try {
$localGroupName = 'TestGroupGetNameThatDoesntExist'
$result = (Get-LocalGroup $localGroupName*).Count
$result -eq 0 | Should Be true
$result -eq 0 | Should -BeTrue
}
}
@ -394,7 +394,7 @@ try {
Set-LocalGroup -Name TestGroupSet1 -Description "Test Group Set 1 new description"
$result = Get-LocalGroup -Name TestGroupSet1
$result.Description | Should BeExactly "Test Group Set 1 new description"
$result.Description | Should -BeExactly "Test Group Set 1 new description"
}
}
@ -423,7 +423,7 @@ try {
Set-LocalGroup -SID $group1SID -Description "Test Group Set 1 newer description"
$result = Get-LocalGroup -Name TestGroupSet1
$result.Description | Should BeExactly "Test Group Set 1 newer description"
$result.Description | Should -BeExactly "Test Group Set 1 newer description"
}
It "Can Set-LocalGroup using -InputObject" {
@ -431,14 +431,14 @@ try {
Set-LocalGroup -InputObject $group -Description "Test Group Set 1 newer still description"
$result = Get-LocalGroup TestGroupSet1
$result.Description | Should BeExactly "Test Group Set 1 newer still description"
$result.Description | Should -BeExactly "Test Group Set 1 newer still description"
}
It "Can Set-LocalGroup using pipeline" {
Get-LocalGroup TestGroupSet1 | Set-LocalGroup -Description "Test Group Set 1 newer still description"
$result = Get-LocalGroup TestGroupSet1
$result.Description | Should BeExactly "Test Group Set 1 newer still description"
$result.Description | Should -BeExactly "Test Group Set 1 newer still description"
}
It "Errors on Set-LocalGroup without specifying a Group" {
@ -468,7 +468,7 @@ try {
Set-LocalGroup -Name TestGroupSet1 -Description $desc
$result = Get-LocalGroup -Name TestGroupSet1
$result.Description | Should BeExactly $desc
$result.Description | Should -BeExactly $desc
}
}
@ -501,11 +501,11 @@ try {
}
It "Can Rename-LocalGroup using a valid group name" {
$group1SID | Should Not BeNullOrEmpty
$group1SID | Should -Not -BeNullOrEmpty
Rename-LocalGroup TestGroupRename1 TestGroupRename1x
$result = Get-LocalGroup -SID $group1SID
$result.Name | Should BeExactly TestGroupRename1x
$result.Name | Should -BeExactly TestGroupRename1x
}
}
@ -538,28 +538,28 @@ try {
}
It "Can Rename-LocalGroup using a valid group SID" {
$group1SID | Should Not BeNullOrEmpty
$group1SID | Should -Not -BeNullOrEmpty
Rename-LocalGroup -SID $group1SID TestGroupRename1x
$result = Get-LocalGroup -SID $group1SID
$result.Name | Should BeExactly TestGroupRename1x
$result.Name | Should -BeExactly TestGroupRename1x
}
It "Can Rename-LocalGroup using a valid group -InputObject" {
$group1SID | Should Not BeNullOrEmpty
$group1SID | Should -Not -BeNullOrEmpty
$group = Get-LocalGroup TestGroupRename1
Rename-LocalGroup -InputObject $group -NewName TestGroupRename1x
$result = Get-LocalGroup -SID $group1SID
$result.Name | Should BeExactly TestGroupRename1x
$result.Name | Should -BeExactly TestGroupRename1x
}
It "Can Rename-LocalGroup using a valid group sent using pipeline" {
$group1SID | Should Not BeNullOrEmpty
$group1SID | Should -Not -BeNullOrEmpty
Get-LocalGroup TestGroupRename1 | Rename-LocalGroup -NewName TestGroupRename1x
$result = Get-LocalGroup -SID $group1SID
$result.Name | Should BeExactly TestGroupRename1x
$result.Name | Should -BeExactly TestGroupRename1x
}
It "Errors on Rename-LocalGroup without specifying a Group" {
@ -595,8 +595,8 @@ try {
$group1Name = (Get-LocalGroup -SID $group1SID).Name
$group2Name = (Get-LocalGroup -SID $group2SID).Name
$group1Name | Should BeExactly TestGroupRename1
$group2Name | Should BeExactly $newName
$group1Name | Should -BeExactly TestGroupRename1
$group2Name | Should -BeExactly $newName
}
It "Errors on Invalid characters" {
@ -627,7 +627,7 @@ try {
#Assert
if ($failedCharacters.Count -gt 0) { Write-Host "characters causing test fail: $failedCharacters" }
$failedCharacters.Count -eq 0 | Should Be true
$failedCharacters.Count -eq 0 | Should -BeTrue
}
It "Error on names containing only spaces" {
@ -668,7 +668,7 @@ try {
Rename-LocalGroup TestGroupRename1 $newName
$result = Get-LocalGroup -SID $group1SID
$result.Name | Should BeExactly $newName
$result.Name | Should -BeExactly $newName
}
It "Errors on Rename-LocalGroup using a valid group name over max length 256" {
@ -678,7 +678,7 @@ try {
}
VerifyFailingTest $sb "InvalidName,Microsoft.PowerShell.Commands.RenameLocalGroupCommand"
(Get-LocalGroup -SID $group1SID).Name | Should BeExactly TestGroupRename1
(Get-LocalGroup -SID $group1SID).Name | Should -BeExactly TestGroupRename1
}
}
@ -705,10 +705,10 @@ try {
It "Can Remove-LocalGroup by name" {
$initialCount = (Get-LocalGroup).Count
$initialCount -gt 1 | Should Be true
$initialCount -gt 1 | Should -BeTrue
$removeResult = Remove-LocalGroup TestGroupRemove1 2>&1
$removeResult | Should BeNullOrEmpty
$removeResult | Should -BeNullOrEmpty
$sb = {
Get-LocalGroup -SID $group1SID
@ -716,7 +716,7 @@ try {
VerifyFailingTest $sb "GroupNotFound,Microsoft.PowerShell.Commands.GetLocalGroupCommand"
$finalCount = (Get-LocalGroup).Count
$initialCount -eq $finalCount + 1 | Should Be true
$initialCount -eq $finalCount + 1 | Should -BeTrue
}
}
@ -732,7 +732,7 @@ try {
[scriptblock]$removalAction
)
$initialCount = (Get-LocalGroup).Count
$initialCount -gt 1 | Should Be true
$initialCount -gt 1 | Should -BeTrue
& $removalAction
@ -742,7 +742,7 @@ try {
VerifyFailingTest $sb "GroupNotFound,Microsoft.PowerShell.Commands.GetLocalGroupCommand"
$finalCount = (Get-LocalGroup).Count
$initialCount -eq $finalCount + 1 | Should Be true
$initialCount -eq $finalCount + 1 | Should -BeTrue
}
function VerifyArrayRemoval {
@ -750,7 +750,7 @@ try {
[scriptblock]$removalAction
)
$initialCount = (Get-LocalGroup).Count
$initialCount -gt 1 | Should Be $true
$initialCount -gt 1 | Should -BeTrue
& $removalAction
@ -765,7 +765,7 @@ try {
VerifyFailingTest $sb "GroupNotFound,Microsoft.PowerShell.Commands.GetLocalGroupCommand"
$finalCount = (Get-LocalGroup).Count
$initialCount -eq $finalCount + 2 | Should Be $true
$initialCount -eq $finalCount + 2 | Should -BeTrue
}
}
}
@ -788,7 +788,7 @@ try {
It "Can Remove-LocalGroup by SID" {
$sb = {
$removeResult = Remove-LocalGroup -SID $group1SID 2>&1
$removeResult | Should BeNullOrEmpty
$removeResult | Should -BeNullOrEmpty
}
VerifyBasicRemoval $sb
}
@ -797,7 +797,7 @@ try {
$sb = {
$group = Get-LocalGroup TestGroupRemove1
$removeResult = Remove-LocalGroup -InputObject $group 2>&1
$removeResult | Should BeNullOrEmpty
$removeResult | Should -BeNullOrEmpty
}
VerifyBasicRemoval $sb
}
@ -805,7 +805,7 @@ try {
It "Can Remove-LocalGroup using pipeline" {
$sb = {
$removeResult = Get-LocalGroup TestGroupRemove1 | Remove-LocalGroup 2>&1
$removeResult | Should BeNullOrEmpty
$removeResult | Should -BeNullOrEmpty
}
VerifyBasicRemoval $sb
}
@ -813,7 +813,7 @@ try {
It "Can Remove-LocalGroup by array of names" {
$sb = {
$removeResult = Remove-LocalGroup @("TestGroupRemove1","TestGroupRemove2") 2>&1
$removeResult | Should BeNullOrEmpty
$removeResult | Should -BeNullOrEmpty
}
VerifyArrayRemoval $sb
}
@ -821,7 +821,7 @@ try {
It "Can Remove-LocalGroup by array of SIDs" {
$sb = {
$removeResult = Remove-LocalGroup -SID @($group1SID, $group2SID) 2>&1
$removeResult | Should BeNullOrEmpty
$removeResult | Should -BeNullOrEmpty
}
VerifyArrayRemoval $sb
}
@ -830,7 +830,7 @@ try {
$sb = {
$groups = Get-LocalGroup -Name @("TestGroupRemove1","TestGroupRemove2")
$removeResult = Remove-LocalGroup -InputObject $groups 2>&1
$removeResult | Should BeNullOrEmpty
$removeResult | Should -BeNullOrEmpty
}
VerifyArrayRemoval $sb
}
@ -838,7 +838,7 @@ try {
It "Can Remove-LocalGroup by array using pipeline" {
$sb = {
$removeResult = Get-LocalGroup -Name @("TestGroupRemove1","TestGroupRemove2") | Remove-LocalGroup 2>&1
$removeResult | Should BeNullOrEmpty
$removeResult | Should -BeNullOrEmpty
}
VerifyArrayRemoval $sb
}
@ -852,10 +852,10 @@ try {
New-LocalUser TestUserRemove1 -NoPassword | Out-Null
Add-LocalGroupMember TestGroupRemove1 -Member TestUserRemove1 | Out-Null
$initialCount = (Get-LocalGroup).Count
$initialCount -gt 1 | Should Be true
$initialCount -gt 1 | Should -BeTrue
$removeResult = Remove-LocalGroup TestGroupRemove1 2>&1
$removeResult | Should BeNullOrEmpty
$removeResult | Should -BeNullOrEmpty
#clean-up
Remove-LocalUser TestUserRemove1 | Out-Null
@ -866,12 +866,12 @@ try {
VerifyFailingTest $sb "GroupNotFound,Microsoft.PowerShell.Commands.GetLocalGroupCommand"
$finalCount = (Get-LocalGroup).Count
$initialCount -eq $finalCount + 1 | Should Be true
$initialCount -eq $finalCount + 1 | Should -BeTrue
}
It "Errors on Remove-LocalGroup by invalid name" {
$initialCount = (Get-LocalGroup).Count
$initialCount -gt 1 | Should Be true
$initialCount -gt 1 | Should -BeTrue
$sb = {
Remove-LocalGroup TestGroupRemove1NameThatDoesntExist
@ -879,12 +879,12 @@ try {
VerifyFailingTest $sb "GroupNotFound,Microsoft.PowerShell.Commands.RemoveLocalGroupCommand"
$finalCount = (Get-LocalGroup).Count
$initialCount -eq $finalCount | Should Be true
$initialCount -eq $finalCount | Should -BeTrue
}
It "Errors on Remove-LocalGroup by invalid SID" {
$initialCount = (Get-LocalGroup).Count
$initialCount -gt 1 | Should Be true
$initialCount -gt 1 | Should -BeTrue
$sb = {
Remove-LocalGroup -SID $group1SID
@ -893,7 +893,7 @@ try {
VerifyFailingTest $sb "GroupNotFound,Microsoft.PowerShell.Commands.RemoveLocalGroupCommand"
$finalCount = (Get-LocalGroup).Count
$initialCount -eq $finalCount + 1 | Should Be $true
$initialCount -eq $finalCount + 1 | Should -BeTrue
}
It "Can respond to -ErrorAction Stop" {
@ -908,8 +908,8 @@ try {
}
# Confirm that the expected errors were caught
$errCount | Should Be 2
$fqeid | Should Be "GroupNotFound,Microsoft.PowerShell.Commands.RemoveLocalGroupCommand"
$errCount | Should -Be 2
$fqeid | Should -Be "GroupNotFound,Microsoft.PowerShell.Commands.RemoveLocalGroupCommand"
# confirm that the first group was removed
$sb = {

View File

@ -48,7 +48,7 @@ function VerifyFailingTest
throw "Expected error: $expectedFqeid"
}
catch {
$_.FullyQualifiedErrorId | Should Be $expectedFqeid
$_.FullyQualifiedErrorId | Should -Be $expectedFqeid
}
finally {
$script:ErrorActionPreference = $backupEAP
@ -66,9 +66,9 @@ try {
It "Test command presence" {
$result = Get-Command -Module Microsoft.PowerShell.LocalAccounts | ForEach-Object Name
$result -contains "Add-LocalGroupMember" | Should Be $true
$result -contains "Get-LocalGroupMember" | Should Be $true
$result -contains "Remove-LocalGroupMember" | Should Be $true
$result -contains "Add-LocalGroupMember" | Should -BeTrue
$result -contains "Get-LocalGroupMember" | Should -BeTrue
$result -contains "Remove-LocalGroupMember" | Should -BeTrue
}
}
@ -92,8 +92,8 @@ try {
Add-LocalGroupMember TestGroup1 -Member TestUser1
$result = Get-LocalGroupMember TestGroup1
$result.Name.EndsWith("TestUser1") | Should Be $true
$result.SID | Should Be $user1sid
$result.Name.EndsWith("TestUser1") | Should -BeTrue
$result.SID | Should -Be $user1sid
}
}
@ -123,8 +123,8 @@ try {
Add-LocalGroupMember -SID $group1sid -Member TestUser1
$result = Get-LocalGroupMember TestGroup1
$result.Name.EndsWith("TestUser1") | Should Be $true
$result.SID | Should Be $user1sid
$result.Name.EndsWith("TestUser1") | Should -BeTrue
$result.SID | Should -Be $user1sid
}
It "Can add user to group using group object" {
@ -132,16 +132,16 @@ try {
Add-LocalGroupMember -Group $groupObject -Member TestUser1
$result = Get-LocalGroupMember TestGroup1
$result.Name.EndsWith("TestUser1") | Should Be $true
$result.SID | Should Be $user1sid
$result.Name.EndsWith("TestUser1") | Should -BeTrue
$result.SID | Should -Be $user1sid
}
It "Can add user to group using pipeline" {
Get-LocalUser TestUser1 | Add-LocalGroupMember -Name TestGroup1
$result = Get-LocalGroupMember TestGroup1
$result.Name.EndsWith("TestUser1") | Should Be $true
$result.SID | Should Be $user1sid
$result.Name.EndsWith("TestUser1") | Should -BeTrue
$result.SID | Should -Be $user1sid
}
It "Errors on missing group parameter value missing" {
@ -169,32 +169,32 @@ try {
Add-LocalGroupMember TestGroup1 -Member @("TestUser1", "TestUser2")
$result = Get-LocalGroupMember TestGroup1
$result[0].Name -match ($OptDomainPrefix + "TestUser1") | Should Be $true
$result[1].Name -match ($OptDomainPrefix + "TestUser2") | Should Be $true
$result[0].Name -match ($OptDomainPrefix + "TestUser1") | Should -BeTrue
$result[1].Name -match ($OptDomainPrefix + "TestUser2") | Should -BeTrue
}
It "Can add array of user SIDs to group" {
Add-LocalGroupMember TestGroup1 -Member @($user1sid, $user2sid)
$result = Get-LocalGroupMember TestGroup1
$result[0].Name -match ($OptDomainPrefix + "TestUser1") | Should Be $true
$result[1].Name -match ($OptDomainPrefix + "TestUser2") | Should Be $true
$result[0].Name -match ($OptDomainPrefix + "TestUser1") | Should -BeTrue
$result[1].Name -match ($OptDomainPrefix + "TestUser2") | Should -BeTrue
}
It "Can add array of users names or SIDs to group" {
Add-LocalGroupMember TestGroup1 -Member @($user1sid, "TestUser2")
$result = Get-LocalGroupMember TestGroup1
$result[0].Name -match ($OptDomainPrefix + "TestUser1") | Should Be $true
$result[1].Name -match ($OptDomainPrefix + "TestUser2") | Should Be $true
$result[0].Name -match ($OptDomainPrefix + "TestUser1") | Should -BeTrue
$result[1].Name -match ($OptDomainPrefix + "TestUser2") | Should -BeTrue
}
It "Can add array of user names using pipeline" {
@("TestUser1", "TestUser2") | Add-LocalGroupMember TestGroup1
$result = Get-LocalGroupMember TestGroup1
$result[0].Name -match ($OptDomainPrefix + "TestUser1") | Should Be $true
$result[1].Name -match ($OptDomainPrefix + "TestUser2") | Should Be $true
$result[0].Name -match ($OptDomainPrefix + "TestUser1") | Should -BeTrue
$result[1].Name -match ($OptDomainPrefix + "TestUser2") | Should -BeTrue
}
It "Can add array of existent and nonexistent users names to group" {
@ -204,8 +204,8 @@ try {
VerifyFailingTest $sb "PrincipalNotFound,Microsoft.PowerShell.Commands.AddLocalGroupMemberCommand"
$result = Get-LocalGroupMember TestGroup1
$result.Name -match ($OptDomainPrefix + "TestUser1") | Should Be $true
$result.Name -match ($OptDomainPrefix + "TestUser2") | Should Be $false
$result.Name -match ($OptDomainPrefix + "TestUser1") | Should -BeTrue
$result.Name -match ($OptDomainPrefix + "TestUser2") | Should -BeFalse
}
It "Errors on adding user to group by name twice" {
@ -216,8 +216,8 @@ try {
VerifyFailingTest $sb "MemberExists,Microsoft.PowerShell.Commands.AddLocalGroupMemberCommand"
$result = Get-LocalGroupMember TestGroup1
$result.Name.EndsWith("TestUser1") | Should Be $true
$result.SID | Should Be $user1sid
$result.Name.EndsWith("TestUser1") | Should -BeTrue
$result.SID | Should -Be $user1sid
}
It "Errors on adding nonexistent user to group" {
@ -241,7 +241,7 @@ try {
VerifyFailingTest $sb "PrincipalNotFound,Microsoft.PowerShell.Commands.AddLocalGroupMemberCommand"
$result = Get-LocalGroupMember TestGroup1
$result.Name -match ($OptDomainPrefix + "TestUser1") | Should Be $true
$result.Name -match ($OptDomainPrefix + "TestUser1") | Should -BeTrue
}
}
@ -267,13 +267,13 @@ try {
It "Can get a local group member by name" {
$result = Get-LocalGroupMember TestGroupGet1
$result.Name.EndsWith("TestUserGet1") | Should Be $true
$result.SID | Should Be $user1sid
$result.Name.EndsWith("TestUserGet1") | Should -BeTrue
$result.SID | Should -Be $user1sid
if (IsWin10OrHigher)
{
$result.PrincipalSource | Should Be Local
$result.PrincipalSource | Should -Be Local
}
$result.ObjectClass | Should Be User
$result.ObjectClass | Should -Be User
}
}
@ -308,85 +308,85 @@ try {
It "Can get all group members by name" {
$result = Get-LocalGroupMember TestGroupGet1
$result[0].Name.EndsWith("TestUserGet1") | Should Be $true
$result[0].SID | Should Be $user1sid
$result[0].Name.EndsWith("TestUserGet1") | Should -BeTrue
$result[0].SID | Should -Be $user1sid
if (IsWin10OrHigher)
{
$result[0].PrincipalSource | Should Be Local
$result[0].PrincipalSource | Should -Be Local
}
$result[0].ObjectClass | Should Be User
$result[1].Name.EndsWith("TestUserGet2") | Should Be $true
$result[1].SID | Should Be $user2sid
$result[0].ObjectClass | Should -Be User
$result[1].Name.EndsWith("TestUserGet2") | Should -BeTrue
$result[1].SID | Should -Be $user2sid
if (IsWin10OrHigher)
{
$result[1].PrincipalSource | Should Be Local
$result[1].PrincipalSource | Should -Be Local
}
$result[1].ObjectClass | Should Be User
$result[1].ObjectClass | Should -Be User
}
It "Can get all group members by SID" {
$result = Get-LocalGroupMember -SID $group1sid
$result[0].Name.EndsWith("TestUserGet1") | Should Be $true
$result[0].SID | Should Be $user1sid
$result[0].Name.EndsWith("TestUserGet1") | Should -BeTrue
$result[0].SID | Should -Be $user1sid
if (IsWin10OrHigher)
{
$result[0].PrincipalSource | Should Be Local
$result[0].PrincipalSource | Should -Be Local
}
$result[0].ObjectClass | Should Be User
$result[1].Name.EndsWith("TestUserGet2") | Should Be $true
$result[1].SID | Should Be $user2sid
$result[0].ObjectClass | Should -Be User
$result[1].Name.EndsWith("TestUserGet2") | Should -BeTrue
$result[1].SID | Should -Be $user2sid
if (IsWin10OrHigher)
{
$result[1].PrincipalSource | Should Be Local
$result[1].PrincipalSource | Should -Be Local
}
$result[1].ObjectClass | Should Be User
$result[1].ObjectClass | Should -Be User
}
It "Can get all group members by Group object" {
$group = Get-LocalGroup TestGroupGet1
$result = Get-LocalGroupMember -Group $group
$result[0].Name.EndsWith("TestUserGet1") | Should Be $true
$result[0].SID | Should Be $user1sid
$result[0].Name.EndsWith("TestUserGet1") | Should -BeTrue
$result[0].SID | Should -Be $user1sid
if (IsWin10OrHigher)
{
$result[0].PrincipalSource | Should Be Local
$result[0].PrincipalSource | Should -Be Local
}
$result[0].ObjectClass | Should Be User
$result[1].Name.EndsWith("TestUserGet2") | Should Be $true
$result[1].SID | Should Be $user2sid
$result[0].ObjectClass | Should -Be User
$result[1].Name.EndsWith("TestUserGet2") | Should -BeTrue
$result[1].SID | Should -Be $user2sid
if (IsWin10OrHigher)
{
$result[1].PrincipalSource | Should Be Local
$result[1].PrincipalSource | Should -Be Local
}
$result[1].ObjectClass | Should Be User
$result[1].ObjectClass | Should -Be User
}
It "Can get all group members by pipeline" {
$result = Get-LocalGroup TestGroupGet1 | Get-LocalGroupMember
$result[0].Name.EndsWith("TestUserGet1") | Should Be $true
$result[0].SID | Should Be $user1sid
$result[0].Name.EndsWith("TestUserGet1") | Should -BeTrue
$result[0].SID | Should -Be $user1sid
if (IsWin10OrHigher)
{
$result[0].PrincipalSource | Should Be Local
$result[0].PrincipalSource | Should -Be Local
}
$result[0].ObjectClass | Should Be User
$result[1].Name.EndsWith("TestUserGet2") | Should Be $true
$result[1].SID | Should Be $user2sid
$result[0].ObjectClass | Should -Be User
$result[1].Name.EndsWith("TestUserGet2") | Should -BeTrue
$result[1].SID | Should -Be $user2sid
if (IsWin10OrHigher)
{
$result[1].PrincipalSource | Should Be Local
$result[1].PrincipalSource | Should -Be Local
}
$result[1].ObjectClass | Should Be User
$result[1].ObjectClass | Should -Be User
}
It "Can get group members by wildcard" {
$result = Get-LocalGroupMember TestGroupGet1 -Member TestUserGet*
$result.Count -eq 2 | Should Be $true
$result[0].Name -match ($OptDomainPrefix+"TestUserGet1") | Should Be $true
$result[1].Name -match ($OptDomainPrefix + "TestUserGet2") | Should Be $true
$result.Count -eq 2 | Should -BeTrue
$result[0].Name -match ($OptDomainPrefix+"TestUserGet1") | Should -BeTrue
$result[1].Name -match ($OptDomainPrefix + "TestUserGet2") | Should -BeTrue
}
It "Errors on group name being nonexistent" {
@ -399,13 +399,13 @@ try {
It "Can get specific group member by name" {
$result = Get-LocalGroupMember TestGroupGet1 -Member TestUserGet1
$result.Name.EndsWith("TestUserGet1") | Should Be $true
$result.SID | Should Be $user1sid
$result.Name.EndsWith("TestUserGet1") | Should -BeTrue
$result.SID | Should -Be $user1sid
if (IsWin10OrHigher)
{
$result.PrincipalSource | Should Be Local
$result.PrincipalSource | Should -Be Local
}
$result.ObjectClass | Should Be User
$result.ObjectClass | Should -Be User
}
#TODO: 10.A valid user attempts to get membership from a group to which they don't have access
@ -434,7 +434,7 @@ try {
Remove-LocalGroupMember TestGroupRemove1 -Member TestUserRemove1
$result = Get-LocalGroupMember TestGroupRemove1
$result | Should Be $null
$result | Should -Be $null
}
}
@ -466,14 +466,14 @@ try {
Remove-LocalGroupMember TestGroupRemove1 -Member TestUserRemove2
$result = Get-LocalGroupMember TestGroupRemove1
$result.Name.EndsWith("TestUserRemove1") | Should Be $true
$result.Name.EndsWith("TestUserRemove1") | Should -BeTrue
}
It "Can remove a group member by SID" {
Remove-LocalGroupMember -SID $group1sid -Member TestUserRemove2
$result = Get-LocalGroupMember TestGroupRemove1
$result.Name.EndsWith("TestUserRemove1") | Should Be $true
$result.Name.EndsWith("TestUserRemove1") | Should -BeTrue
}
It "Can remove a group member by Group object" {
@ -481,14 +481,14 @@ try {
Remove-LocalGroupMember -Group $group -Member TestUserRemove2
$result = Get-LocalGroupMember TestGroupRemove1
$result.Name.EndsWith("TestUserRemove1") | Should Be $true
$result.Name.EndsWith("TestUserRemove1") | Should -BeTrue
}
It "Can remove a group member by pipeline" {
Get-LocalUser TestUserRemove2 | Remove-LocalGroupMember -Name TestGroupRemove1
$result = Get-LocalGroupMember TestGroupRemove1
$result.Name.EndsWith("TestUserRemove1") | Should Be $true
$result.Name.EndsWith("TestUserRemove1") | Should -BeTrue
}
It "Errors on group argument missing" {
@ -524,21 +524,21 @@ try {
Remove-LocalGroupMember TestGroupRemove1 -Member @("TestUserRemove1", "TestUserRemove2")
$result = Get-LocalGroupMember TestGroupRemove1
$result | Should Be $null
$result | Should -Be $null
}
It "Can remove array of user SIDs from group" {
Remove-LocalGroupMember TestGroupRemove1 -Member @($user1sid, $user2sid)
$result = Get-LocalGroupMember TestGroupRemove1
$result | Should Be $null
$result | Should -Be $null
}
It "Can remove array of users names or SIDs from group" {
Remove-LocalGroupMember TestGroupRemove1 -Member @($user1sid, "TestUserRemove2")
$result = Get-LocalGroupMember TestGroupRemove1
$result | Should Be $null
$result | Should -Be $null
}
It "Can remove array of user names using pipeline" {
@ -547,7 +547,7 @@ try {
@($name1, $name2) | Remove-LocalGroupMember TestGroupRemove1
$result = Get-LocalGroupMember TestGroupRemove1
$result | Should Be $null
$result | Should -Be $null
}
It "Errors on remove nonexistent user from group" {
@ -573,7 +573,7 @@ try {
VerifyFailingTest $sb "PrincipalNotFound,Microsoft.PowerShell.Commands.RemoveLocalGroupMemberCommand"
$result = Get-LocalGroupMember TestGroupRemove2
$result | Should Be $null
$result | Should -Be $null
}
It "Errors on remove user from nonexistent group" {
@ -590,7 +590,7 @@ try {
VerifyFailingTest $sb "PrincipalNotFound,Microsoft.PowerShell.Commands.RemoveLocalGroupMemberCommand"
$result = Get-LocalGroupMember TestGroupRemove1 2>&1
$result.Name -match ($OptDomainPrefix + "TestUserRemove2") | Should Be $true
$result.Name -match ($OptDomainPrefix + "TestUserRemove2") | Should -BeTrue
}
}
}

View File

@ -498,7 +498,7 @@ Describe "Validate Copy-Item Remotely" -Tags "CI" {
try
{
$s1 = New-PSSession -ComputerName . -ErrorAction SilentlyContinue
$s1 | Should Not BeNullOrEmpty
$s1 | Should -Not -BeNullOrEmpty
$filePath = CreateTestFile
$destinationFolderPath = GetDestinationFolderPath
{ Copy-Item -Path $filePath -Destination $destinationFolderPath -FromSession $s -ToSession $s1 -ErrorAction Stop } | Should -Throw -ErrorId "InvalidInput,Microsoft.PowerShell.Commands.CopyItemCommand"

View File

@ -142,10 +142,10 @@ Describe "Get-ChildItem" -Tags "CI" {
}
It "Should return items recursively when using 'Include' or 'Exclude' parameters with -LiteralPath" {
(Get-ChildItem -LiteralPath $TestDrive -Recurse -Exclude *).Count | Should Be 0
(Get-ChildItem -LiteralPath $TestDrive -Recurse -Include *.dll).Count | Should Be (Get-ChildItem $TestDrive -Recurse -Include *.dll).Count
(Get-ChildItem -LiteralPath $TestDrive -Depth 1 -Include $item_G).Count | Should Be 1
(Get-ChildItem -LiteralPath $TestDrive -Depth 1 -Exclude $item_a).Count | Should Be 5
(Get-ChildItem -LiteralPath $TestDrive -Recurse -Exclude *).Count | Should -Be 0
(Get-ChildItem -LiteralPath $TestDrive -Recurse -Include *.dll).Count | Should -Be (Get-ChildItem $TestDrive -Recurse -Include *.dll).Count
(Get-ChildItem -LiteralPath $TestDrive -Depth 1 -Include $item_G).Count | Should -Be 1
(Get-ChildItem -LiteralPath $TestDrive -Depth 1 -Exclude $item_a).Count | Should -Be 5
}
It "get-childitem path wildcard - <title>" -TestCases $PathWildCardTestCases {
@ -171,9 +171,9 @@ Describe "Get-ChildItem" -Tags "CI" {
It "Should give .sys file if the fullpath is specified with hidden and force parameter" -Pending {
# Don't remove!!! It is special test for hidden and opened file with exclusive lock.
$file = Get-ChildItem -path "$env:SystemDrive\\pagefile.sys" -Hidden
$file | Should not be $null
$file.Count | Should be 1
$file.Name | Should be "pagefile.sys"
$file | Should -Not -Be $null
$file.Count | Should -Be 1
$file.Name | Should -Be "pagefile.sys"
}
It "-Filter *. finds extension-less files" {

View File

@ -60,7 +60,7 @@ Describe "Get-HotFix Tests" -Tag CI {
}
It "Get-Hotfix can accept ComputerName via pipeline" {
{ [PSCustomObject]@{ComputerName = 'UnavailableComputer'} | Get-HotFix } |Should -Throw -ErrorID 'Microsoft.PowerShell.Commands.GetHotFixCommand'
{ [PSCustomObject]@{ComputerName = 'UnavailableComputer'} | Get-HotFix } | Should -Throw -ErrorID 'Microsoft.PowerShell.Commands.GetHotFixCommand'
[PSCustomObject]@{ComputerName = 'localhost'} | Get-HotFix | Should -Not -BeNullOrEmpty
}
}

View File

@ -26,13 +26,13 @@ try
It "Should restart the local computer" {
Set-TesthookResult -testhookName $restartTesthookResultName -value $defaultResultValue
Restart-Computer -ErrorAction Stop| Should -BeNullOrEmpty
Restart-Computer -ErrorAction Stop | Should -BeNullOrEmpty
}
It "Should support -computer parameter" {
Set-TesthookResult -testhookName $restartTesthookResultName -value $defaultResultValue
$computerNames = "localhost","${env:COMPUTERNAME}"
Restart-Computer -Computer $computerNames -ErrorAction Stop| Should -BeNullOrEmpty
Restart-Computer -Computer $computerNames -ErrorAction Stop | Should -BeNullOrEmpty
}
It "Should support WsmanAuthentication types" {

View File

@ -22,7 +22,7 @@ Describe "Set-Content cmdlet tests" -Tags "CI" {
It "should create a file if it does not exist" {
Set-Content -Path $filePath1 -Value "$file1"
$result = Get-Content -Path $filePath1
$result| Should -Be "$file1"
$result | Should -Be "$file1"
}
}
Context "Set-Content/Get-Content should set/get the content of an exisiting file" {
@ -32,7 +32,7 @@ Describe "Set-Content cmdlet tests" -Tags "CI" {
It "should set-Content of testdrive\$file1" {
Set-Content -Path $filePath1 -Value "ExpectedContent"
$result = Get-Content -Path $filePath1
$result| Should -Be "ExpectedContent"
$result | Should -Be "ExpectedContent"
}
It "should return expected string from testdrive\$file1" {
$result = Get-Content -Path $filePath1
@ -41,7 +41,7 @@ Describe "Set-Content cmdlet tests" -Tags "CI" {
It "should Set-Content to testdrive\dynamicfile.txt with dynamic parameters" {
Set-Content -Path $testdrive\dynamicfile.txt -Value "ExpectedContent"
$result = Get-Content -Path $testdrive\dynamicfile.txt
$result| Should -BeExactly "ExpectedContent"
$result | Should -BeExactly "ExpectedContent"
}
It "should return expected string from testdrive\dynamicfile.txt" {
$result = Get-Content -Path $testdrive\dynamicfile.txt
@ -49,10 +49,10 @@ Describe "Set-Content cmdlet tests" -Tags "CI" {
}
It "should remove existing content from testdrive\$file1 when the -Value is `$null" {
$AsItWas=Get-Content $filePath1
$AsItWas |Should -BeExactly "ExpectedContent"
$AsItWas | Should -BeExactly "ExpectedContent"
Set-Content -Path $filePath1 -Value $null -ErrorAction Stop
$AsItIs=Get-Content $filePath1
$AsItIs| Should -Not -Be $AsItWas
$AsItIs | Should -Not -Be $AsItWas
}
It "should throw 'ParameterArgumentValidationErrorNullNotAllowed' when -Path is `$null" {
{ Set-Content -Path $null -Value "ShouldNotWorkBecausePathIsNull" -ErrorAction Stop } | Should -Throw -ErrorId "ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.SetContentCommand"
@ -91,7 +91,7 @@ Describe "Set-Content should work for PSDrive with UNC path as root" -Tags @('CI
New-PSDrive -Name Foo -Root \\localhost\testshare -PSProvider FileSystem
Set-Content -Path Foo:\$file1 -Value "$file1"
$result = Get-Content -Path Foo:\$file1
$result| Should -BeExactly "$file1"
$result | Should -BeExactly "$file1"
}
finally
{

View File

@ -171,7 +171,7 @@ Describe "Set-Location" -Tags "CI" {
foreach ($i in 1..$maximumLocationHistory) {
Set-Location -
}
(Get-Location).Path | Should Be $initialLocation
(Get-Location).Path | Should -Be $initialLocation
{ Set-Location - } | Should -Throw -ErrorId 'System.InvalidOperationException,Microsoft.PowerShell.Commands.SetLocationCommand'
# Go forwards up to the maximum
foreach ($i in 1..($maximumLocationHistory)) {

View File

@ -31,7 +31,7 @@ Describe "Start-Process" -Tag "Feature","RequireAdminOnWindows" {
$process.Length | Should -Be 1
$process.Id | Should -BeGreaterThan 1
# $process.ProcessName | Should Be "ping"
# $process.ProcessName | Should -Be "ping"
}
It "Should work correctly when used with full path name" {
@ -39,7 +39,7 @@ Describe "Start-Process" -Tag "Feature","RequireAdminOnWindows" {
$process.Length | Should -Be 1
$process.Id | Should -BeGreaterThan 1
# $process.ProcessName | Should Be "ping"
# $process.ProcessName | Should -Be "ping"
}
It "Should invoke correct path when used with FilePath argument" {
@ -47,7 +47,7 @@ Describe "Start-Process" -Tag "Feature","RequireAdminOnWindows" {
$process.Length | Should -Be 1
$process.Id | Should -BeGreaterThan 1
# $process.ProcessName | Should Be "ping"
# $process.ProcessName | Should -Be "ping"
}
It "Should invoke correct path when used with Path alias argument" {
@ -66,7 +66,7 @@ Describe "Start-Process" -Tag "Feature","RequireAdminOnWindows" {
$process.Length | Should -Be 1
$process.Id | Should -BeGreaterThan 1
# $process.ProcessName | Should Be "ping"
# $process.ProcessName | Should -Be "ping"
}
It "Should handle stderr redirection without error" {
@ -74,7 +74,7 @@ Describe "Start-Process" -Tag "Feature","RequireAdminOnWindows" {
$process.Length | Should -Be 1
$process.Id | Should -BeGreaterThan 1
# $process.ProcessName | Should Be "ping"
# $process.ProcessName | Should -Be "ping"
}
It "Should handle stdout redirection without error" {

View File

@ -27,13 +27,13 @@ try
It "Should stop the local computer" {
Set-TesthookResult -testhookName $stopTesthookResultName -Value $defaultResultValue
Stop-Computer -ErrorAction Stop| Should -BeNullOrEmpty
Stop-Computer -ErrorAction Stop | Should -BeNullOrEmpty
}
It "Should support -Computer parameter" {
Set-TesthookResult -testhookName $stopTesthookResultName -Value $defaultResultValue
$computerNames = "localhost","${env:COMPUTERNAME}"
Stop-Computer -Computer $computerNames -ErrorAction Stop| Should -BeNullOrEmpty
Stop-Computer -Computer $computerNames -ErrorAction Stop | Should -BeNullOrEmpty
}
It "Should support WsmanAuthentication types" {

View File

@ -48,7 +48,7 @@ Describe "Certificate Provider tests" -Tags "CI" {
param([string] $path)
$expectedResolvedPath = Resolve-Path -LiteralPath $path
$result = Get-Item -LiteralPath $path
$result | should not be null
$result | Should -Not -Be null
$result | ForEach-Object {
$resolvedPath = Resolve-Path $_.PSPath
$resolvedPath.Provider | Should -Be $expectedResolvedPath.Provider
@ -111,7 +111,7 @@ Describe "Certificate Provider tests" -Tags "Feature" {
$expectedThumbprint = (Get-GoodCertificateObject).Thumbprint
$leafPath = Join-Path -Path $path -ChildPath $expectedThumbprint
$cert = (Get-item -LiteralPath $leafPath)
$cert | should not be null
$cert | Should -Not -Be null
$cert.Thumbprint | Should -Be $expectedThumbprint
}
it "Should be able to get DnsNameList of certifate by path: <path>" -TestCases $currentUserMyLocations {
@ -121,8 +121,8 @@ Describe "Certificate Provider tests" -Tags "Feature" {
$expectedEncodedName = (Get-GoodCertificateObject).DnsNameList[0].Punycode
$leafPath = Join-Path -Path $path -ChildPath $expectedThumbprint
$cert = (Get-item -LiteralPath $leafPath)
$cert | should not be null
$cert.DnsNameList | should not be null
$cert | Should -Not -Be null
$cert.DnsNameList | Should -Not -Be null
$cert.DnsNameList.Count | Should -Be 1
$cert.DnsNameList[0].Unicode | Should -Be $expectedName
$cert.DnsNameList[0].Punycode | Should -Be $expectedEncodedName
@ -133,8 +133,8 @@ Describe "Certificate Provider tests" -Tags "Feature" {
$expectedOid = (Get-GoodCertificateObject).EnhancedKeyUsageList[0].ObjectId
$leafPath = Join-Path -Path $path -ChildPath $expectedThumbprint
$cert = (Get-item -LiteralPath $leafPath)
$cert | should not be null
$cert.EnhancedKeyUsageList | should not be null
$cert | Should -Not -Be null
$cert.EnhancedKeyUsageList | Should -Not -Be null
$cert.EnhancedKeyUsageList.Count | Should -Be 1
$cert.EnhancedKeyUsageList[0].ObjectId.Length | Should -Not -Be 0
$cert.EnhancedKeyUsageList[0].ObjectId | Should -Be $expectedOid
@ -142,8 +142,8 @@ Describe "Certificate Provider tests" -Tags "Feature" {
it "Should filter to codesign certificates" {
$allCerts = get-item cert:\CurrentUser\My\*
$codeSignCerts = get-item cert:\CurrentUser\My\* -CodeSigningCert
$codeSignCerts | should not be null
$allCerts | should not be null
$codeSignCerts | Should -Not -Be null
$allCerts | Should -Not -Be null
$nonCodeSignCertCount = $allCerts.Count - $codeSignCerts.Count
$nonCodeSignCertCount | Should -Not -Be 0
}
@ -151,8 +151,8 @@ Describe "Certificate Provider tests" -Tags "Feature" {
$allCerts = get-item cert:\CurrentUser\My\*
$testThumbprint = (Get-GoodCertificateObject).Thumbprint
$allCertsExceptOne = (Get-Item "cert:\currentuser\my\*" -Exclude $testThumbprint)
$allCerts | should not be null
$allCertsExceptOne | should not be null
$allCerts | Should -Not -Be null
$allCertsExceptOne | Should -Not -Be null
$countDifference = $allCerts.Count - $allCertsExceptOne.Count
$countDifference | Should -Be 1
}
@ -161,8 +161,8 @@ Describe "Certificate Provider tests" -Tags "Feature" {
it "Should filter to codesign certificates" {
$allCerts = get-ChildItem cert:\CurrentUser\My
$codeSignCerts = get-ChildItem cert:\CurrentUser\My -CodeSigningCert
$codeSignCerts | should not be null
$allCerts | should not be null
$codeSignCerts | Should -Not -Be null
$allCerts | Should -Not -Be null
$nonCodeSignCertCount = $allCerts.Count - $codeSignCerts.Count
$nonCodeSignCertCount | Should -Not -Be 0
}

View File

@ -116,7 +116,7 @@ try
if ($ps -ne $null) { $ps.Dispose() }
}
$expectedError.FullyQualifiedErrorId | Should Be 'NotSupported,Microsoft.PowerShell.Commands.SetPSBreakpointCommand'
$expectedError.FullyQualifiedErrorId | Should -Be 'NotSupported,Microsoft.PowerShell.Commands.SetPSBreakpointCommand'
}
It "Verifies that Wait-Debugger is disabled on locked down system" {
@ -145,7 +145,7 @@ try
}
# Debugger should not have been active in lockdown mode
$debuggerTester.DebuggerStopHitCount | Should Be 0
$debuggerTester.DebuggerStopHitCount | Should -Be 0
}
}
}

View File

@ -532,10 +532,10 @@ ZoneId=$FileType
Context "Prereq: Validate that 'Microsoft.PowerShell.Archive' is signed" {
It "'Microsoft.PowerShell.Archive' should have a signature" {
$script:archiveAllCert | should not be null
$script:archiveAllCert | Should -Not -Be null
}
It "'Microsoft.PowerShell.Archive' should have a valid signature" {
$script:archiveCert | should not be null
$script:archiveCert | Should -Not -Be null
}
}

View File

@ -58,8 +58,8 @@ Describe "Add-Type" -Tags "CI" {
# Also we check that '-Language CSharp' is by default.
# In subsequent launches from the same session
# the test will be passed without real compile - it will return an assembly previously compiled.
{ Add-Type -TypeDefinition "public static class CSharpfooType { }" } | Should Not Throw
[CSharpfooType].Name | Should BeExactly "CSharpfooType"
{ Add-Type -TypeDefinition "public static class CSharpfooType { }" } | Should -Not -Throw
[CSharpfooType].Name | Should -BeExactly "CSharpfooType"
}
It "Can use System.Management.Automation.CmdletAttribute" {
@ -78,15 +78,15 @@ public class SMAAttributeTest$guid : PSCmdlet
$cls = Add-Type -TypeDefinition $code -PassThru | Select-Object -First 1
$testModule = Import-Module $cls.Assembly -PassThru
Invoke-Expression -Command "Get-Thing$guid" | Should BeExactly $guid
Invoke-Expression -Command "Get-Thing$guid" | Should -BeExactly $guid
Remove-Module $testModule -ErrorAction SilentlyContinue -Force
}
It "Can load TPA assembly System.Runtime.Serialization.Primitives.dll" {
$returnedTypes = Add-Type -AssemblyName 'System.Runtime.Serialization.Primitives' -PassThru
$returnedTypes.Count | Should BeGreaterThan 0
($returnedTypes[0].Assembly.FullName -Split ",")[0] | Should BeExactly 'System.Runtime.Serialization.Primitives'
$returnedTypes.Count | Should -BeGreaterThan 0
($returnedTypes[0].Assembly.FullName -Split ",")[0] | Should -BeExactly 'System.Runtime.Serialization.Primitives'
}
It "Can compile <sourceLanguage> files" -TestCases @(
@ -101,8 +101,8 @@ public class SMAAttributeTest$guid : PSCmdlet
param($type1, $type2, $file1, $file2, $sourceLanguage)
# The types shouldn't exist before compile the test code.
$type1 -as [type] | Should BeNullOrEmpty
$type2 -as [type] | Should BeNullOrEmpty
$type1 -as [type] | Should -BeNullOrEmpty
$type2 -as [type] | Should -BeNullOrEmpty
$returnedTypes = Add-Type -Path $file1,$file2 -PassThru
@ -110,13 +110,13 @@ public class SMAAttributeTest$guid : PSCmdlet
$type2 = Invoke-Expression -Command $type2
# We can compile, load and use new code.
$type1::Add1(1, 2) | Should Be 3
$type2::Add2(3, 4) | Should Be 7
$type1::Add1(1, 2) | Should -Be 3
$type2::Add2(3, 4) | Should -Be 7
# Return the same assembly if source code has not been changed.
# Also check that '-LiteralPath' works.
$returnedTypes2 = Add-Type -LiteralPath $file1,$file2 -PassThru
$returnedTypes[0].Assembly.FullName | Should BeExactly $returnedTypes2[0].Assembly.FullName
$returnedTypes[0].Assembly.FullName | Should -BeExactly $returnedTypes2[0].Assembly.FullName
}
It "Can compile <sourceLanguage> with MemberDefinition" -TestCases @(
@ -140,15 +140,15 @@ public class SMAAttributeTest$guid : PSCmdlet
{ Add-Type -MemberDefinition $sourceCode -Name $sourceType -Namespace $sourceNS -Language $sourceLanguage -ErrorAction SilentlyContinue } | Should -Throw -ErrorId "COMPILER_ERRORS,Microsoft.PowerShell.Commands.AddTypeCommand"
$returnedTypes = Add-Type -MemberDefinition $sourceCode -Name $sourceType -UsingNamespace $sourceUsingNS -Namespace $sourceNS -Language $sourceLanguage -PassThru
([type]$sourceRunType)::TestString() | Should BeExactly $expectedResult
([type]$sourceRunType)::TestString() | Should -BeExactly $expectedResult
# Return the same assembly if source code has not been changed.
$returnedTypes2 = Add-Type -MemberDefinition $sourceCode -Name $sourceType -UsingNamespace $sourceUsingNS -Namespace $sourceNS -Language $sourceLanguage -PassThru
$returnedTypes[0].Assembly.FullName | Should BeExactly $returnedTypes2[0].Assembly.FullName
$returnedTypes[0].Assembly.FullName | Should -BeExactly $returnedTypes2[0].Assembly.FullName
# With default namespace.
Add-Type -MemberDefinition $sourceCode -Name $sourceType -UsingNamespace $sourceUsingNS -Language $sourceLanguage
([type]$sourceDefaultNSRunType)::TestString() | Should BeExactly $expectedResult
([type]$sourceDefaultNSRunType)::TestString() | Should -BeExactly $expectedResult
}
It "Can compile without loading" {
@ -186,10 +186,10 @@ public class AttributeTest$guid : PSCmdlet
$types[0].Name | Should -BeExactly "AttributeTest$guid"
$outFile2 | Should -Exist
{ Invoke-Expression -Command $cmdlet } | Should Throw
{ Invoke-Expression -Command $cmdlet } | Should -Throw
$testModule = Import-Module -Name $outFile -PassThru
& $cmdlet | Should BeExactly $guid
& $cmdlet | Should -BeExactly $guid
Remove-Module $testModule -Force
}

View File

@ -5,10 +5,10 @@ Describe "Clear-Variable DRT Unit Tests" -Tags "CI" {
Set-Variable foo bar
Clear-Variable -Name foo
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeNullOrEmpty
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeNullOrEmpty
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
It "Clear-Variable ReadOnly variable Name should throw exception and force Clear-Variable should works"{
@ -19,10 +19,10 @@ Describe "Clear-Variable DRT Unit Tests" -Tags "CI" {
Clear-Variable -Name foo -Force
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeNullOrEmpty
$var1.Options|Should -BeExactly "ReadOnly"
$var1.Description| Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeNullOrEmpty
$var1.Options | Should -BeExactly "ReadOnly"
$var1.Description | Should -BeNullOrEmpty
}
It "Clear-Variable normal variable Name with local scope should works"{
@ -33,17 +33,17 @@ Describe "Clear-Variable DRT Unit Tests" -Tags "CI" {
Clear-Variable -Name foo -Scope "local"
$var1=Get-Variable -Name foo -Scope "local"
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeNullOrEmpty
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeNullOrEmpty
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
It "Clear-Variable Private variable Name should works and Get-Variable with local scope should throw exception"{
@ -55,10 +55,10 @@ Describe "Clear-Variable DRT Unit Tests" -Tags "CI" {
}
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "Private"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "Private"
$var1.Description | Should -BeNullOrEmpty
}
It "Clear-Variable normal variable Name with local scope should works in different scope"{
@ -68,23 +68,23 @@ Describe "Clear-Variable DRT Unit Tests" -Tags "CI" {
Clear-Variable -Name foo -Scope "local"
$var1=Get-Variable -Name foo -Scope "local"
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeNullOrEmpty
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeNullOrEmpty
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
$var1=Get-Variable -Name foo -Scope "local"
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
}

View File

@ -55,46 +55,46 @@ Describe "Export-Alias DRT Unit Tests" -Tags "CI" {
It "Export-Alias for Default"{
Export-Alias $fulltestpath abcd01 -passthru
$fulltestpath| Should -FileContentMatchExactly '"abcd01","efgh01","","None"'
$fulltestpath | Should -FileContentMatchExactly '"abcd01","efgh01","","None"'
}
It "Export-Alias As CSV"{
Export-Alias $fulltestpath abcd01 -As CSV -passthru
$fulltestpath| Should -FileContentMatchExactly '"abcd01","efgh01","","None"'
$fulltestpath | Should -FileContentMatchExactly '"abcd01","efgh01","","None"'
}
It "Export-Alias As CSV With Description"{
Export-Alias $fulltestpath abcd01 -As CSV -description "My Aliases" -passthru
$fulltestpath| Should -FileContentMatchExactly '"abcd01","efgh01","","None"'
$fulltestpath| Should -FileContentMatchExactly "My Aliases"
$fulltestpath | Should -FileContentMatchExactly '"abcd01","efgh01","","None"'
$fulltestpath | Should -FileContentMatchExactly "My Aliases"
}
It "Export-Alias As CSV With Multiline Description"{
Export-Alias $fulltestpath abcd01 -As CSV -description "My Aliases\nYour Aliases\nEveryones Aliases" -passthru
$fulltestpath| Should -FileContentMatchExactly '"abcd01","efgh01","","None"'
$fulltestpath| Should -FileContentMatchExactly "My Aliases"
$fulltestpath| Should -FileContentMatchExactly "Your Aliases"
$fulltestpath| Should -FileContentMatchExactly "Everyones Aliases"
$fulltestpath | Should -FileContentMatchExactly '"abcd01","efgh01","","None"'
$fulltestpath | Should -FileContentMatchExactly "My Aliases"
$fulltestpath | Should -FileContentMatchExactly "Your Aliases"
$fulltestpath | Should -FileContentMatchExactly "Everyones Aliases"
}
It "Export-Alias As Script"{
Export-Alias $fulltestpath abcd01 -As Script -passthru
$fulltestpath| Should -FileContentMatchExactly 'set-alias -Name:"abcd01" -Value:"efgh01" -Description:"" -Option:"None"'
$fulltestpath | Should -FileContentMatchExactly 'set-alias -Name:"abcd01" -Value:"efgh01" -Description:"" -Option:"None"'
}
It "Export-Alias As Script With Multiline Description"{
Export-Alias $fulltestpath abcd01 -As Script -description "My Aliases\nYour Aliases\nEveryones Aliases" -passthru
$fulltestpath| Should -FileContentMatchExactly 'set-alias -Name:"abcd01" -Value:"efgh01" -Description:"" -Option:"None"'
$fulltestpath| Should -FileContentMatchExactly "My Aliases"
$fulltestpath| Should -FileContentMatchExactly "Your Aliases"
$fulltestpath| Should -FileContentMatchExactly "Everyones Aliases"
$fulltestpath | Should -FileContentMatchExactly 'set-alias -Name:"abcd01" -Value:"efgh01" -Description:"" -Option:"None"'
$fulltestpath | Should -FileContentMatchExactly "My Aliases"
$fulltestpath | Should -FileContentMatchExactly "Your Aliases"
$fulltestpath | Should -FileContentMatchExactly "Everyones Aliases"
}
It "Export-Alias for Force Test"{
Export-Alias $fulltestpath abcd01
Export-Alias $fulltestpath abcd02 -force
$fulltestpath| Should -Not -FileContentMatchExactly '"abcd01","efgh01","","None"'
$fulltestpath| Should -FileContentMatchExactly '"abcd02","efgh02","","None"'
$fulltestpath | Should -Not -FileContentMatchExactly '"abcd01","efgh01","","None"'
$fulltestpath | Should -FileContentMatchExactly '"abcd02","efgh02","","None"'
}
It "Export-Alias for Force ReadOnly Test" -Skip:(Test-IsRoot) {

View File

@ -11,81 +11,81 @@ Describe "Get-Alias DRT Unit Tests" -Tags "CI" {
It "Get-Alias Named Single Valid"{
Set-Alias -Name ABCD -Value "foo"
$result=Get-Alias -Name ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "Get-Alias Positional Single Valid"{
Set-Alias -Name ABCD -Value "foo"
$result=Get-Alias ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "Get-Alias Named Multiple Valid"{
Set-Alias -Name ABCD -Value "foo"
Set-Alias -Name AEFG -Value "bar"
$result=Get-Alias -Name ABCD,AEFG
$result[0].Name| Should -BeExactly "ABCD"
$result[0].Definition| Should -BeExactly "foo"
$result[0].Description| Should -BeNullOrEmpty
$result[0].Options| Should -BeExactly "None"
$result[1].Name| Should -BeExactly "AEFG"
$result[1].Definition| Should -BeExactly "bar"
$result[1].Description| Should -BeNullOrEmpty
$result[1].Options| Should -BeExactly "None"
$result[0].Name | Should -BeExactly "ABCD"
$result[0].Definition | Should -BeExactly "foo"
$result[0].Description | Should -BeNullOrEmpty
$result[0].Options | Should -BeExactly "None"
$result[1].Name | Should -BeExactly "AEFG"
$result[1].Definition | Should -BeExactly "bar"
$result[1].Description | Should -BeNullOrEmpty
$result[1].Options | Should -BeExactly "None"
}
It "Get-Alias Named Wildcard Valid"{
Set-Alias -Name ABCD -Value "foo"
Set-Alias -Name ABCG -Value "bar"
$result=Get-Alias -Name ABC*
$result[0].Name| Should -BeExactly "ABCD"
$result[0].Definition| Should -BeExactly "foo"
$result[0].Description| Should -BeNullOrEmpty
$result[0].Options| Should -BeExactly "None"
$result[1].Name| Should -BeExactly "ABCG"
$result[1].Definition| Should -BeExactly "bar"
$result[1].Description| Should -BeNullOrEmpty
$result[1].Options| Should -BeExactly "None"
$result[0].Name | Should -BeExactly "ABCD"
$result[0].Definition | Should -BeExactly "foo"
$result[0].Description | Should -BeNullOrEmpty
$result[0].Options | Should -BeExactly "None"
$result[1].Name | Should -BeExactly "ABCG"
$result[1].Definition | Should -BeExactly "bar"
$result[1].Description | Should -BeNullOrEmpty
$result[1].Options | Should -BeExactly "None"
}
It "Get-Alias Positional Wildcard Valid"{
Set-Alias -Name ABCD -Value "foo"
Set-Alias -Name ABCG -Value "bar"
$result=Get-Alias ABC*
$result[0].Name| Should -BeExactly "ABCD"
$result[0].Definition| Should -BeExactly "foo"
$result[0].Description| Should -BeNullOrEmpty
$result[0].Options| Should -BeExactly "None"
$result[1].Name| Should -BeExactly "ABCG"
$result[1].Definition| Should -BeExactly "bar"
$result[1].Description| Should -BeNullOrEmpty
$result[1].Options| Should -BeExactly "None"
$result[0].Name | Should -BeExactly "ABCD"
$result[0].Definition | Should -BeExactly "foo"
$result[0].Description | Should -BeNullOrEmpty
$result[0].Options | Should -BeExactly "None"
$result[1].Name | Should -BeExactly "ABCG"
$result[1].Definition | Should -BeExactly "bar"
$result[1].Description | Should -BeNullOrEmpty
$result[1].Options | Should -BeExactly "None"
}
It "Get-Alias Named Wildcard And Exclude Valid"{
Set-Alias -Name ABCD -Value "foo"
Set-Alias -Name ABCG -Value "bar"
$result=Get-Alias -Name ABC* -Exclude "*BCG"
$result[0].Name| Should -BeExactly "ABCD"
$result[0].Definition| Should -BeExactly "foo"
$result[0].Description| Should -BeNullOrEmpty
$result[0].Options| Should -BeExactly "None"
$result[0].Name | Should -BeExactly "ABCD"
$result[0].Definition | Should -BeExactly "foo"
$result[0].Description | Should -BeNullOrEmpty
$result[0].Options | Should -BeExactly "None"
}
It "Get-Alias Scope Valid"{
Set-Alias -Name ABCD -Value "foo"
$result=Get-Alias -Name ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
Set-Alias -Name ABCD -Value "localfoo" -scope local
$result=Get-Alias -Name ABCD -scope local
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "localfoo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "localfoo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
Set-Alias -Name ABCD -Value "globalfoo" -scope global
Set-Alias -Name ABCD -Value "scriptfoo" -scope "script"
@ -93,40 +93,40 @@ Describe "Get-Alias DRT Unit Tests" -Tags "CI" {
Set-Alias -Name ABCD -Value "foo1" -scope "1"
$result=Get-Alias -Name ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo0"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo0"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
$result=Get-Alias -Name ABCD -scope local
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo0"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo0"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
$result=Get-Alias -Name ABCD -scope global
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "globalfoo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "globalfoo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
$result=Get-Alias -Name ABCD -scope "script"
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "scriptfoo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "scriptfoo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
$result=Get-Alias -Name ABCD -scope "0"
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo0"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo0"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
$result=Get-Alias -Name ABCD -scope "1"
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo1"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo1"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "Get-Alias Expose Bug 1065828, BugId:905235"{
{ Get-Alias -Name "ABCD" -Scope "100" } | Should -Throw -ErrorId "ArgumentOutOfRange,Microsoft.PowerShell.Commands.GetAliasCommand"
@ -134,16 +134,16 @@ Describe "Get-Alias DRT Unit Tests" -Tags "CI" {
It "Get-Alias Zero Scope Valid"{
Set-Alias -Name ABCD -Value "foo"
$result=Get-Alias -Name ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
$result=Get-Alias -Name ABCD -scope "0"
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "Test get-alias with Definition parameter" {

View File

@ -7,7 +7,7 @@ Describe "Get-Date DRT Unit Tests" -Tags "CI" {
$result = Get-Date -Date $date -Year 1973 -Month 2 -Day 22 -Hour 15 -Minute 40 -Second 10 -Millisecond 200
$result | Should -BeOfType Datetime
$result.Year | Should -Be 1973
$result.Month| Should -Be 2
$result.Month | Should -Be 2
$result.Day | Should -Be 22
$result.Hour | Should -Be 15
$result.Minute | Should -Be 40

View File

@ -10,17 +10,17 @@ Describe "Get-Variable DRT Unit Tests" -Tags "CI" {
It "Get-Variable of existing variable Name with include and bogus exclude should work"{
Set-Variable newVar testing
$var1=get-variable -Name newVar -Include newVar -Exclude bogus
$var1.Name|Should -BeExactly "newVar"
$var1.Value|Should -BeExactly "testing"
$var1.Name | Should -BeExactly "newVar"
$var1.Value | Should -BeExactly "testing"
}
It "Get-Variable of existing variable Name with Description and Option should work"{
Set-Variable newVar testing -Option ReadOnly -Description "testing description"
$var1=get-variable -Name newVar
$var1.Name|Should -BeExactly "newVar"
$var1.Value|Should -BeExactly "testing"
$var1.Options|Should -BeExactly "ReadOnly"
$var1.Description|Should -BeExactly "testing description"
$var1.Name | Should -BeExactly "newVar"
$var1.Value | Should -BeExactly "testing"
$var1.Options | Should -BeExactly "ReadOnly"
$var1.Description | Should -BeExactly "testing description"
}
It "Get-Variable of existing variable Globbing Name should work"{
@ -29,12 +29,12 @@ Describe "Get-Variable DRT Unit Tests" -Tags "CI" {
Set-Variable aVarfoo wow
$var1=get-variable -Name *aVar* -Scope local
$var1.Count | Should -Be 3
$var1[0].Name|Should -BeExactly "abcaVar"
$var1[0].Value|Should -BeExactly "testing"
$var1[1].Name|Should -BeExactly "aVarfoo"
$var1[1].Value|Should -BeExactly "wow"
$var1[2].Name|Should -BeExactly "bcdaVar"
$var1[2].Value|Should -BeExactly "another test"
$var1[0].Name | Should -BeExactly "abcaVar"
$var1[0].Value | Should -BeExactly "testing"
$var1[1].Name | Should -BeExactly "aVarfoo"
$var1[1].Value | Should -BeExactly "wow"
$var1[2].Name | Should -BeExactly "bcdaVar"
$var1[2].Value | Should -BeExactly "another test"
}
It "Get-Variable of existing private variable Name should throw ItemNotFoundException"{

View File

@ -20,6 +20,6 @@ Describe "Invoke-Expression" -Tags "CI" {
Describe "Invoke-Expression DRT Unit Tests" -Tags "CI" {
It "Invoke-Expression should work"{
$result=invoke-expression -Command 2+2
$result|Should -Be 4
$result | Should -Be 4
}
}

View File

@ -303,7 +303,7 @@ Describe "Invoke-Item tests on Windows" -Tags "CI","RequireAdminOnWindows" {
Start-Sleep -Milliseconds 100
if (([Datetime]::Now - $startTime) -ge [timespan]"00:00:05") { throw "Timeout exception" }
}
} | Should -Not -throw
} | Should -Not -Throw
}
It "Should start a file without error on Windows full SKUs" -Skip:(-not $isFullWin) {

View File

@ -38,7 +38,7 @@ Describe "Measure-Object" -Tags "CI" {
It "Should calculate Standard Deviation with -Sum" {
$actual = ($testObject | Measure-Object -Sum -StandardDeviation)
# We check this way since .StandardDeviation returns a double value
$actual.Sum | Should Be 8
$actual.Sum | Should -Be 8
# 1.52752523165195 was calculated outside powershell using formula from
# http://mathworld.wolfram.com/StandardDeviation.html
[Math]::abs($actual.StandardDeviation - 1.52752523165195) | Should -BeLessThan .00000000000001
@ -56,8 +56,8 @@ Describe "Measure-Object" -Tags "CI" {
It "Should calculate Standard Deviation with -Sum -Average" {
$actual = ($testObject2 | Measure-Object -Sum -Average -StandardDeviation)
# We check this way since .StandardDeviation returns a double value
$actual.Sum | Should Be 5050
$actual.Average | Should Be 50.5
$actual.Sum | Should -Be 5050
$actual.Average | Should -Be 50.5
# 29.011491975882 was calculated outside powershell using formula from
# http://mathworld.wolfram.com/StandardDeviation.html
[Math]::abs($actual.StandardDeviation - 29.011491975882) | Should -BeLessThan .0000000000001

View File

@ -11,28 +11,28 @@ Describe "New-Alias DRT Unit Tests" -Tags "CI" {
It "New-Alias NamePositional And Value Valid" {
New-Alias ABCD -Value "MyCommand" -Scope "0"
$result=Get-Alias -Name ABCD -Scope "0"
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "MyCommand"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "MyCommand"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "New-Alias NamePositional And ValuePositional Valid" {
New-Alias ABCD "MyCommand" -Scope "0"
$result=Get-Alias -Name ABCD -Scope "0"
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "MyCommand"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "MyCommand"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "New-Alias Description Valid" {
New-Alias -Name ABCD -Value "MyCommand" -Description "test description" -Scope "0"
$result=Get-Alias -Name ABCD -Scope "0"
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "MyCommand"
$result.Description| Should -BeExactly "test description"
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "MyCommand"
$result.Description | Should -BeExactly "test description"
$result.Options | Should -BeExactly "None"
}
}

View File

@ -5,19 +5,19 @@ Describe "New-Variable DRT Unit Tests" -Tags "CI" {
It "New-Variable variable with description should works"{
New-Variable foo bar -description "my description"
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeExactly "my description"
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeExactly "my description"
}
It "New-Variable variable with option should works"{
New-Variable foo bar -option Constant
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "Constant"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "Constant"
$var1.Description | Should -BeNullOrEmpty
}
It "New-Variable variable twice should throw Exception"{
@ -29,10 +29,10 @@ Describe "New-Variable DRT Unit Tests" -Tags "CI" {
New-Variable foo bar -Force -PassThru
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
It "New-Variable ReadOnly variable twice should throw Exception"{
@ -44,10 +44,10 @@ Describe "New-Variable DRT Unit Tests" -Tags "CI" {
New-Variable foo bar -Force -PassThru
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
}

View File

@ -13,8 +13,8 @@ Describe "Out-File DRT Unit Tests" -Tags "CI" {
$tempFile = Join-Path -Path $TestDrive -ChildPath "outfileAppendTest.txt"
{ 'This is first line.' | out-file $tempFile } | Should -Not -Throw
{ 'This is second line.' | out-file -append $tempFile } | Should -Not -Throw
$tempFile |Should -FileContentMatch "first"
$tempFile |Should -FileContentMatch "second"
$tempFile | Should -FileContentMatch "first"
$tempFile | Should -FileContentMatch "second"
Remove-Item $tempFile -Force
}
}

View File

@ -37,7 +37,7 @@ Describe "Out-String" -Tags "CI" {
$streamoutputlength = $($testInput | Out-String -Stream).Length
$nonstreamoutputlength = $($testInput | Out-String).Length
$nonstreamoutputlength| Should -BeGreaterThan $streamoutputlength
$nonstreamoutputlength | Should -BeGreaterThan $streamoutputlength
}
It "Should send a single object through a pipeline when the stream switch is used" {

View File

@ -47,6 +47,6 @@ Describe "Read-Host Test" -tag "CI" {
else {
$expected = @('foo: !1','!1')
}
$result | should -BeExactly $expected
$result | Should -BeExactly $expected
}
}

View File

@ -39,7 +39,7 @@ Describe "Remove-Alias" -Tags "CI" {
It "Remove-Alias should throw if alias does not exist"{
{
Get-Alias -Name $testAliasName -ErrorAction SilentlyContinue | Should -BeNullorEmpty
Get-Alias -Name $testAliasName -ErrorAction SilentlyContinue | Should -BeNullOrEmpty
Remove-Alias -Name $testAliasName -ErrorAction Stop
} | Should -Throw -ErrorId 'ItemNotFoundException,Microsoft.PowerShell.Commands.RemoveAliasCommand'
}

View File

@ -45,7 +45,7 @@ Describe "Select-String" -Tags "CI" {
$secondMatch = $testinputtwo | Select-String -Pattern "hello" -ca
$equal = @(Compare-Object $firstMatch $secondMatch).Length -eq 0
$equal | Should -Be True
$equal | Should -BeTrue
}
it "Should only return the case sensitive match when the casesensitive switch is used" {
@ -171,7 +171,7 @@ Describe "Select-String" -Tags "CI" {
It "Should return all strings where 'second' is found in testfile1 if there is only one lines that has a match" {
$expected = $testInputFile + ":2:This is the second line"
Select-String $testInputFile -Pattern "second"| Should -BeExactly $expected
Select-String $testInputFile -Pattern "second" | Should -BeExactly $expected
}
It "Should return all strings where 'in' is found in testfile1 pattern switch is not required" {
@ -202,7 +202,7 @@ Describe "Select-String" -Tags "CI" {
}
It "Should return the number of matches for 'is' in textfile1 " {
(Select-String is $testInputFile -CaseSensitive).count| Should -Be 4
(Select-String is $testInputFile -CaseSensitive).count | Should -Be 4
}
It "Should return the third line in testfile1 when a relative path is used" {

View File

@ -9,64 +9,64 @@ Describe "Set-Alias DRT Unit Tests" -Tags "CI" {
It "Set-Alias ReadOnly Force"{
Set-Alias -Name ABCD -Value "foo" -Option ReadOnly -Force:$true
$result=Get-Alias -Name ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "ReadOnly"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "ReadOnly"
Set-Alias -Name ABCD -Value "foo" -Force:$true
$result=Get-Alias -Name ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "Set-Alias Name And Value Valid"{
Set-Alias -Name ABCD -Value "MyCommand"
$result=Get-Alias -Name ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "MyCommand"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "MyCommand"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "Set-Alias Name And Value Positional Valid"{
Set-Alias -Name ABCD "foo"
$result=Get-Alias ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "Set-Alias Description Valid"{
Set-Alias -Name ABCD -Value "MyCommand" -Description "test description"
$result=Get-Alias -Name ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "MyCommand"
$result.Description| Should -BeExactly "test description"
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "MyCommand"
$result.Description | Should -BeExactly "test description"
$result.Options | Should -BeExactly "None"
}
It "Set-Alias Scope Valid"{
Set-Alias -Name ABCD -Value "localfoo" -scope local -Force:$true
Set-Alias -Name ABCD -Value "foo1" -scope "1" -Force:$true
$result=Get-Alias -Name ABCD
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "localfoo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "localfoo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
$result=Get-Alias -Name ABCD -scope local
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "localfoo"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "localfoo"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
$result=Get-Alias -Name ABCD -scope "1"
$result.Name| Should -BeExactly "ABCD"
$result.Definition| Should -BeExactly "foo1"
$result.Description| Should -BeNullOrEmpty
$result.Options| Should -BeExactly "None"
$result.Name | Should -BeExactly "ABCD"
$result.Definition | Should -BeExactly "foo1"
$result.Description | Should -BeNullOrEmpty
$result.Options | Should -BeExactly "None"
}
It "Set-Alias Expose Bug 1062958, BugId:905449"{
{ Set-Alias -Name "ABCD" -Value "foo" -Scope "-1" } | Should -Throw -ErrorId "ArgumentOutOfRange,Microsoft.PowerShell.Commands.SetAliasCommand"

View File

@ -5,19 +5,19 @@ Describe "Set-Variable DRT Unit Tests" -Tags "CI" {
It "Set-Variable normal variable Name should works"{
Set-Variable foo bar
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
It "Set-Variable normal variable Name with position should works"{
Set-Variable -Name foo bar
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
It "Set-Variable normal variable Name with scope should works"{
@ -25,24 +25,24 @@ Describe "Set-Variable DRT Unit Tests" -Tags "CI" {
Set-Variable -Name foo -Value bar -Scope "1"
$var1=Get-Variable -Name foo -scope "1"
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
Set-Variable -Name foo -Value newValue -Scope "local"
$var1=Get-Variable -Name foo -scope "local"
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "newValue"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "newValue"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
Set-Variable -Name foo -Value newValue2 -Scope "script"
$var1=Get-Variable -Name foo -scope "script"
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "newValue2"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "newValue2"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
It "Set-Variable normal variable Name with position should works"{
@ -53,40 +53,40 @@ Describe "Set-Variable DRT Unit Tests" -Tags "CI" {
Set-Variable -Name "*aV*" -Value "overwrite" -Include "*Var*" -Exclude "bcd*"
$var1=Get-Variable -Name "*aVar*" -Scope "local"
$var1[0].Name|Should -BeExactly "abcaVar"
$var1[0].Value|Should -BeExactly "overwrite"
$var1[0].Options|Should -BeExactly "None"
$var1[0].Description|Should -BeNullOrEmpty
$var1[0].Name | Should -BeExactly "abcaVar"
$var1[0].Value | Should -BeExactly "overwrite"
$var1[0].Options | Should -BeExactly "None"
$var1[0].Description | Should -BeNullOrEmpty
$var1[1].Name|Should -BeExactly "aVarfoo"
$var1[1].Value|Should -BeExactly "overwrite"
$var1[1].Options|Should -BeExactly "None"
$var1[1].Description|Should -BeNullOrEmpty
$var1[1].Name | Should -BeExactly "aVarfoo"
$var1[1].Value | Should -BeExactly "overwrite"
$var1[1].Options | Should -BeExactly "None"
$var1[1].Description | Should -BeNullOrEmpty
$var1[2].Name|Should -BeExactly "bcdaVar"
$var1[2].Value|Should -BeExactly "anotherVal"
$var1[2].Options|Should -BeExactly "None"
$var1[2].Description|Should -BeNullOrEmpty
$var1[2].Name | Should -BeExactly "bcdaVar"
$var1[2].Value | Should -BeExactly "anotherVal"
$var1[2].Options | Should -BeExactly "None"
$var1[2].Description | Should -BeNullOrEmpty
}
It "Set-Variable normal variable Name with Description and Value should works"{
Set-Variable foo bar
Set-Variable -Name foo $null -Description "new description" -PassThru:$true -Scope "local"
$var1=Get-Variable -Name foo -Scope "local"
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeNullOrEmpty
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeExactly "new description"
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeNullOrEmpty
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeExactly "new description"
}
It "Set-Variable normal variable Name with just Description should works"{
Set-Variable foo bar
Set-Variable -Name foo -Description "new description" -PassThru:$true -Scope "local"
$var1=Get-Variable -Name foo -Scope "local"
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeExactly "new description"
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeExactly "new description"
}
It "Set-Variable overwrite Constant Option should throw SessionStateUnauthorizedAccessException"{
@ -97,17 +97,17 @@ Describe "Set-Variable DRT Unit Tests" -Tags "CI" {
It "Set-Variable of existing Private variable without force should throw Exception"{
Set-Variable abcaVar bar -Description "new description" -Option Private
$var1=Get-Variable -Name abcaVar
$var1.Name|Should -BeExactly "abcaVar"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "Private"
$var1.Description|Should -BeExactly "new description"
$var1.Name | Should -BeExactly "abcaVar"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "Private"
$var1.Description | Should -BeExactly "new description"
Set-Variable abcaVar other -Description "new description"
$var1=Get-Variable -Name abcaVar
$var1.Name|Should -BeExactly "abcaVar"
$var1.Value|Should -BeExactly "other"
$var1.Options|Should -BeExactly "Private"
$var1.Description|Should -BeExactly "new description"
$var1.Name | Should -BeExactly "abcaVar"
$var1.Value | Should -BeExactly "other"
$var1.Options | Should -BeExactly "Private"
$var1.Description | Should -BeExactly "new description"
}
It "Set-Variable with Exclude, then Get-Variable it should throw ItemNotFoundException"{
@ -118,30 +118,30 @@ Describe "Set-Variable DRT Unit Tests" -Tags "CI" {
It "Set-Variable of existing ReadOnly variable without force should throw Exception"{
Set-Variable abcaVar bar -Description "new description" -Option ReadOnly
$var1=Get-Variable -Name abcaVar
$var1.Name|Should -BeExactly "abcaVar"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "ReadOnly"
$var1.Description|Should -BeExactly "new description"
$var1.Name | Should -BeExactly "abcaVar"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "ReadOnly"
$var1.Description | Should -BeExactly "new description"
{ Set-Variable abcaVar -Option None -Scope 1 -ErrorAction Stop } | Should -Throw -ErrorId "VariableNotWritable,Microsoft.PowerShell.Commands.SetVariableCommand"
}
It "Set-Variable of ReadOnly variable with private scope should work"{
Set-Variable foo bar -Description "new description" -Option ReadOnly -scope "private"
$var1=Get-Variable -Name foo
$var1.Name|Should -BeExactly "foo"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "ReadOnly, Private"
$var1.Description|Should -BeExactly "new description"
$var1.Name | Should -BeExactly "foo"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "ReadOnly, Private"
$var1.Description | Should -BeExactly "new description"
}
It "Set-Variable pipeline with Get-Variable should work"{
$footest1="bar"
${Get-Variable footest1 -valueonly|Set-Variable bootest1 -passthru}
$var1=Get-Variable -Name footest1
$var1.Name|Should -BeExactly "footest1"
$var1.Value|Should -BeExactly "bar"
$var1.Options|Should -BeExactly "None"
$var1.Description|Should -BeNullOrEmpty
$var1.Name | Should -BeExactly "footest1"
$var1.Value | Should -BeExactly "bar"
$var1.Options | Should -BeExactly "None"
$var1.Description | Should -BeNullOrEmpty
}
}

View File

@ -9,7 +9,7 @@ Describe "Update-FormatData" -Tags "CI" {
Context "Validate Update-FormatData update correctly" {
It "Should not throw upon reloading previous formatting file" {
{ Update-FormatData } | Should -Not -throw
{ Update-FormatData } | Should -Not -Throw
}
It "Should validly load formatting data" {

View File

@ -1913,7 +1913,7 @@ Describe "Invoke-WebRequest tests" -Tags "Feature", "RequireAdminOnWindows" {
$response.Images | out-null
}
$script:content | should -Not -BeNullOrEmpty
$script:content | Should -Not -BeNullOrEmpty
# pathological regex
$regex = [RegEx]::new('<img\s+[^>]*>')
@ -1944,7 +1944,7 @@ Describe "Invoke-WebRequest tests" -Tags "Feature", "RequireAdminOnWindows" {
# Pathological regex
$regex = [RegEx]::new('<meta\s[.\n]*[^><]*charset\s*=\s*["''\n]?(?<charset>[A-Za-z].[^\s"''\n<>]*)[\s"''\n>]')
$script:content | should -Not -BeNullOrEmpty
$script:content | Should -Not -BeNullOrEmpty
[TimeSpan] $pathologicalTimeSpan = Measure-Command {
$regex.Match($content)
@ -3339,7 +3339,7 @@ Describe "Invoke-RestMethod tests" -Tags "Feature", "RequireAdminOnWindows" {
$response = Invoke-RestMethod -uri $resumeUri -OutFile $outFile -ResponseHeadersVariable 'Headers' -Resume
$outFileHash = Get-FileHash -Algorithm SHA256 -Path $outFile
$outFileHash.Hash | Should BeExactly $referenceFileHash.Hash
$outFileHash.Hash | Should -BeExactly $referenceFileHash.Hash
Get-Item $outFile | Select-Object -ExpandProperty Length | Should -Be $referenceFileSize
$Headers.'X-WebListener-Has-Range'[0] | Should -BeExactly 'true'
$Headers.'X-WebListener-Request-Range'[0] | Should -BeExactly "bytes=$bytes-"

View File

@ -93,7 +93,7 @@ Describe "Write-Error Tests" -Tags "CI" {
$theError = "Error: Too many input values."
write-error -message $theError -category InvalidArgument -ErrorAction SilentlyContinue
[string]$error[0]| Should -Be $theError
[string]$error[0] | Should -Be $theError
}
It "ErrorRecord should not be truncated or have inserted newlines when redirected from another process" {

View File

@ -49,7 +49,7 @@ Describe "CredSSP cmdlet tests" -Tags 'Feature','RequireAdminOnWindows' {
) {
param ($params)
$c = Enable-WSManCredSSP @params -Force
$c.CredSSP | Should -Be $true
$c.CredSSP | Should -BeTrue
$c = Get-WSManCredSSP
if ($params.Role -eq "Client")
@ -87,7 +87,7 @@ Describe "CredSSP cmdlet tests" -Tags 'Feature','RequireAdminOnWindows' {
$credssp.DelegateComputer = "foo", "bar"
$credssp.DelegateComputer -join ',' | Should -Be "foo,bar"
$credssp.Force = $true
$credssp.Force | Should -Be $true
$credssp.Force | Should -BeTrue
$credssp = [Microsoft.WSMan.Management.DisableWSManCredSSPCommand]::new()
$credssp.Role = "Server"
@ -105,6 +105,6 @@ Describe "CredSSP cmdlet error cases tests" -Tags 'Feature' {
param ($cmdline, $cmd)
$scriptBlock = [scriptblock]::Create($cmdline)
$scriptBlock | should -Throw -ErrorId "System.InvalidOperationException,Microsoft.WSMan.Management.$cmd"
$scriptBlock | Should -Throw -ErrorId "System.InvalidOperationException,Microsoft.WSMan.Management.$cmd"
}
}

View File

@ -487,7 +487,7 @@ Describe "Test PSDesiredStateConfiguration" -tags CI {
#this will fail too, but that is nat what we are testing...
}
$warnings.Count | Should -Be 1 -because "There should be 1 warning on macOS and Linux"
$warnings.Count | Should -Be 1 -Because "There should be 1 warning on macOS and Linux"
$warnings[0] | Should -Match 'embedded resources.*not support'
}
@ -533,11 +533,11 @@ Describe "Test PSDesiredStateConfiguration" -tags CI {
$result.InstallationPolicy | Should -BeOfType [string]
$result.Guid | Should -BeOfType [Guid]
$result.Ensure | Should -Be 'Present'
$result.Name | Should -be 'PsDscResources'
$result.Name | Should -Be 'PsDscResources'
$result.Description | Should -BeLike 'This*DSC*'
$result.InstalledVersion | should -BeOfType [Version]
$result.InstalledVersion | Should -BeOfType [Version]
$result.ModuleBase | Should -BeLike '*PSDscResources*'
$result.Repository | should -BeOfType [string]
$result.Repository | Should -BeOfType [string]
$result.ModuleType | Should -Be 'Manifest'
}
}

View File

@ -227,7 +227,7 @@ Describe 'Basic ThreadJob Tests' -Tags 'CI' {
It 'ThreadJob and Verbose stream output' {
$job = Start-ThreadJob -ScriptBlock { $VerbosePreference = 'Continue'; Write-Verbose "VerboseOut" } | Wait-Job
$job.Verbose | Should Match "VerboseOut"
$job.Verbose | Should -Match "VerboseOut"
}
It 'ThreadJob and Verbose stream output' {

View File

@ -49,7 +49,7 @@ Describe 'Task-based PowerShell async APIs' -Tags 'Feature' {
try {
$r = InvokeAsyncHelper -PowerShell $ps -Wait
$r.Status | Should -Be ([System.Threading.Tasks.TaskStatus]::RanToCompletion)
$r.IsCompletedSuccessfully | Should -Be $true
$r.IsCompletedSuccessfully | Should -BeTrue
} finally {
$ps.Dispose()
}
@ -72,8 +72,8 @@ try {
}
# This test is designed to gracefully fail with an error when invoked asynchronously.
{ $sb.Invoke() } | Should -Throw -ErrorId 'AggregateException'
$r.IsFaulted | Should -Be $true
$r.Exception.InnerException -is [System.Management.Automation.ParameterBindingException] | Should -Be $true
$r.IsFaulted | Should -BeTrue
$r.Exception.InnerException -is [System.Management.Automation.ParameterBindingException] | Should -BeTrue
$r.Exception.InnerException.CommandInvocation.InvocationName | Should -BeExactly 'Get-Process'
$r.Exception.InnerException.ParameterName | Should -BeExactly 'Invalid'
$r.Exception.InnerException.ErrorId | Should -BeExactly 'NamedParameterNotFound'
@ -149,9 +149,9 @@ try {
$r2 = $ps2.AddScript("@(2,4,6,8,10,12,14,16,18,20)${sbStub}").InvokeAsync()
[System.Threading.Tasks.Task]::WaitAll(@($r1, $r2))
$r1.Status | Should -Be ([System.Threading.Tasks.TaskStatus]::RanToCompletion)
$r1.IsCompletedSuccessfully | Should -Be $true
$r1.IsCompletedSuccessfully | Should -BeTrue
$r2.Status | Should -Be ([System.Threading.Tasks.TaskStatus]::RanToCompletion)
$r2.IsCompletedSuccessfully | Should -Be $true
$r2.IsCompletedSuccessfully | Should -BeTrue
$results = @($r1.Result.foreach('Value')) + @($r2.Result.foreach('Value'))
Compare-Object -ReferenceObject @(1..20) -DifferenceObject $results -SyncWindow 20 | Should -Be $null
} finally {
@ -183,9 +183,9 @@ try {
$r2 = $ps2.AddScript($script).InvokeAsync($d2)
[System.Threading.Tasks.Task]::WaitAll(@($r1, $r2))
$r1.Status | Should -Be ([System.Threading.Tasks.TaskStatus]::RanToCompletion)
$r1.IsCompletedSuccessfully | Should -Be $true
$r1.IsCompletedSuccessfully | Should -BeTrue
$r2.Status | Should -Be ([System.Threading.Tasks.TaskStatus]::RanToCompletion)
$r2.IsCompletedSuccessfully | Should -Be $true
$r2.IsCompletedSuccessfully | Should -BeTrue
$allResults = @($r1.Result) + @($r2.Result)
Compare-Object -ReferenceObject @(1..20) -DifferenceObject $allResults.Value -SyncWindow 20 | Should -Be $null
} finally {
@ -204,9 +204,9 @@ try {
[System.Threading.Tasks.Task]::WaitAll(@($r1, $r2))
$o.Complete()
$r1.Status | Should -Be ([System.Threading.Tasks.TaskStatus]::RanToCompletion)
$r1.IsCompletedSuccessfully | Should -Be $true
$r1.IsCompletedSuccessfully | Should -BeTrue
$r2.Status | Should -Be ([System.Threading.Tasks.TaskStatus]::RanToCompletion)
$r2.IsCompletedSuccessfully | Should -Be $true
$r2.IsCompletedSuccessfully | Should -BeTrue
Compare-Object -ReferenceObject @(1..20) -DifferenceObject $o.Value -SyncWindow 20 | Should -Be $null
} finally {
$ps1.Dispose()
@ -227,10 +227,10 @@ try {
[System.Threading.Tasks.Task]::WaitAll(@($sr))
$ps.Streams.Error | Should -HaveCount 0 -Because ($ps.Streams.Error | Out-String)
$ps.Commands.Commands.commandtext | Should -Be "Start-Sleep -Seconds 60"
$sr.IsCompletedSuccessfully | Should -Be $true
$ir.IsFaulted | Should -Be $true -Because ($ir | Format-List -Force * | Out-String)
$ir.Exception -is [System.AggregateException] | Should -Be $true
$ir.Exception.InnerException -is [System.Management.Automation.PipelineStoppedException] | Should -Be $true
$sr.IsCompletedSuccessfully | Should -BeTrue
$ir.IsFaulted | Should -BeTrue -Because ($ir | Format-List -Force * | Out-String)
$ir.Exception -is [System.AggregateException] | Should -BeTrue
$ir.Exception.InnerException -is [System.Management.Automation.PipelineStoppedException] | Should -BeTrue
$ps.InvocationStateInfo.State | Should -Be ([System.Management.Automation.PSInvocationState]::Stopped)
} finally {
$ps.Dispose()

View File

@ -468,7 +468,7 @@ Describe "Type inference Tests" -tags "CI" {
}}.Ast)
$res.Count | Should -Be 1
$res[0].GetType().Name | Should -Be "PSSyntheticTypeName"
$res.Members.Count | Should Be 2
$res.Members.Count | Should -Be 2
$res[0].Name | Should -Be "MyType#A:B"
$res[0].Members[0].Name | Should -Be "A"
$res[0].Members[0].PSTypeName | Should -Be "System.Int32"

View File

@ -49,21 +49,21 @@ Describe "File encoding tests" -Tag CI {
param ( $Command, $parameters, $Expected, $Operator)
& $command @parameters
$bytes = Get-FileBytes $outputFile
$bytes -join "-" | should ${Operator} ($Expected -join "-")
$bytes -join "-" | Should ${Operator} ($Expected -join "-")
}
It "Export-CSV creates file with UTF-8 encoding without BOM" {
[pscustomobject]@{ Key = $testStr } | Export-Csv $outputFile
$bytes = Get-FileBytes $outputFile
$bytes[0,1,2] -join "-" | should -Not -Be ($utf8Preamble -join "-")
$bytes -join "-" | should -Match ($utf8bytes -join "-")
$bytes[0,1,2] -join "-" | Should -Not -Be ($utf8Preamble -join "-")
$bytes -join "-" | Should -Match ($utf8bytes -join "-")
}
It "Export-CliXml creates file with UTF-8 encoding without BOM" {
[pscustomobject]@{ Key = $testStr } | Export-Clixml $outputFile
$bytes = Get-FileBytes $outputFile
$bytes[0,1,2] -join "-" | should -Not -Be ($utf8Preamble -join "-")
$bytes -join "-" | should -Match ($utf8bytes -join "-")
$bytes[0,1,2] -join "-" | Should -Not -Be ($utf8Preamble -join "-")
$bytes -join "-" | Should -Match ($utf8bytes -join "-")
}
It "Appends correctly on non-Windows systems" -Skip:$IsWindows {
@ -71,7 +71,7 @@ Describe "File encoding tests" -Tag CI {
${testStr} >> $outputFile
$bytes = Get-FileBytes $outputFile
$Expected = $( $ExpectedWithNewline; $ExpectedWithNewline )
$bytes -join "-" | should -Be ($Expected -join "-")
$bytes -join "-" | Should -Be ($Expected -join "-")
}
}

View File

@ -67,7 +67,7 @@ Describe 'Group policy settings tests' -Tag CI,RequireAdminOnWindows {
Remove-Module $ModuleToLog -ErrorAction SilentlyContinue
Import-Module $ModuleToLog
(Get-Module $ModuleToLog).LogPipelineExecutionDetails | Should -Be $False # without GP logging for the module should be OFF
(Get-Module $ModuleToLog).LogPipelineExecutionDetails | Should -BeFalse # without GP logging for the module should be OFF
# enable GP
[string]$RareCommand = Get-Random
@ -76,7 +76,7 @@ Describe 'Group policy settings tests' -Tag CI,RequireAdminOnWindows {
Remove-Module $ModuleToLog -ErrorAction SilentlyContinue
Import-Module $ModuleToLog # this will read and start using GP setting
(Get-Module $ModuleToLog).LogPipelineExecutionDetails | Should -Be $True # with GP logging for the module should be ON
(Get-Module $ModuleToLog).LogPipelineExecutionDetails | Should -BeTrue # with GP logging for the module should be ON
Get-Alias $RareCommand -ErrorAction SilentlyContinue | Out-Null
@ -120,9 +120,9 @@ Describe 'Group policy settings tests' -Tag CI,RequireAdminOnWindows {
$sbString = $script:CreatingScriptblockEvent.Message.Substring($sbStringStart, $sbStringEnd - $sbStringStart)
$StartedScriptBlockInvocationEvent = Get-WinEvent -FilterHashtable @{ ProviderName="PowerShellCore"; Id = 4105 } -MaxEvents 5 | ? {$_.Message.Contains($sbString)}
$StartedScriptBlockInvocationEvent | Should Not BeNullOrEmpty
$StartedScriptBlockInvocationEvent | Should -Not -BeNullOrEmpty
$CompletedScriptBlockInvocationEvent = Get-WinEvent -FilterHashtable @{ ProviderName="PowerShellCore"; Id = 4106 } -MaxEvents 5 | ? {$_.Message.Contains($sbString)}
$CompletedScriptBlockInvocationEvent | Should Not BeNullOrEmpty
$CompletedScriptBlockInvocationEvent | Should -Not -BeNullOrEmpty
}
$KeyPath = Join-Path $KeyRoot 'ScriptBlockLogging'
@ -159,8 +159,8 @@ Describe 'Group policy settings tests' -Tag CI,RequireAdminOnWindows {
$LogPath = (gci -Path $OutputDirectory -Filter "PowerShell_transcript*.txt" -Recurse).FullName
$Log = Get-Content $LogPath -Raw
$Log.Contains("$number") | should be $True # verifies that Transcription policy works
$Log.Contains("Command start time:") | should be $True # verifies that EnableInvocationHeader works
$Log.Contains("$number") | Should -BeTrue # verifies that Transcription policy works
$Log.Contains("Command start time:") | Should -BeTrue # verifies that EnableInvocationHeader works
Remove-Item -Path $OutputDirectory -Recurse -Force
}
@ -235,7 +235,7 @@ Describe 'Group policy settings tests' -Tag CI,RequireAdminOnWindows {
# Cannot create or open the configuration session 116337267.'
$Log = Get-Content $LogPath -Raw
$Log.Contains("$SessionName") | should be $True
$Log.Contains("$SessionName") | Should -BeTrue
Remove-Item -Path $LogPath -Force
}

View File

@ -102,7 +102,7 @@ Describe "Cdxml cmdlets are supported" -Tag CI,RequireAdminOnWindows {
Context "Module level tests" {
It "The CimTest module should have been loaded" @ItSkipOrPending {
$result = Get-Module CimTest
$result.ModuleBase | should -Be ${script:ModuleDir}
$result.ModuleBase | Should -Be ${script:ModuleDir}
}
It "The CimTest module should have the proper cmdlets" @ItSkipOrPending {
@ -115,19 +115,19 @@ Describe "Cdxml cmdlets are supported" -Tag CI,RequireAdminOnWindows {
Context "Get-CimTest cmdlet" {
It "The Get-CimTest cmdlet should return 4 objects" @ItSkipOrPending {
$result = Get-CimTest
$result.Count | should -Be 4
($result.id |sort-object) -join "," | should -Be "1,2,3,4"
$result.Count | Should -Be 4
($result.id |sort-object) -join "," | Should -Be "1,2,3,4"
}
It "The Get-CimTest cmdlet should retrieve an object via id" @ItSkipOrPending {
$result = Get-CimTest -id 1
@($result).Count | should -Be 1
@($result).Count | Should -Be 1
$result.field1 | Should -Be "instance 1"
}
It "The Get-CimTest cmdlet should retrieve an object by piped id" @ItSkipOrPending {
$result = 1,2,4 | foreach-object { [pscustomobject]@{ id = $_ } } | Get-CimTest
@($result).Count | should -Be 3
@($result).Count | Should -Be 3
( $result.id | sort-object ) -join "," | Should -Be "1,2,4"
}
@ -150,7 +150,7 @@ Describe "Cdxml cmdlets are supported" -Tag CI,RequireAdminOnWindows {
# the time can be adjusted
$null = Wait-Job -Job $job -timeout 10
$result = $job | Receive-Job
$result.Count | should -Be 4
$result.Count | Should -Be 4
( $result.id | sort-object ) -join "," | Should -Be "1,2,3,4"
}
finally {
@ -180,15 +180,15 @@ Describe "Cdxml cmdlets are supported" -Tag CI,RequireAdminOnWindows {
It "The Remote-CimTest cmdlet should remove objects by id" @ItSkipOrPending {
Remove-CimTest -id 1
$result = Get-CimTest
$result.Count | should -Be 3
($result.id |sort-object) -join "," | should -Be "2,3,4"
$result.Count | Should -Be 3
($result.id |sort-object) -join "," | Should -Be "2,3,4"
}
It "The Remove-CimTest cmdlet should remove piped objects" @ItSkipOrPending {
Get-CimTest -id 2 | Remove-CimTest
$result = Get-CimTest
@($result).Count | should -Be 3
($result.id |sort-object) -join "," | should -Be "1,3,4"
@($result).Count | Should -Be 3
($result.id |sort-object) -join "," | Should -Be "1,3,4"
}
It "The Remove-CimTest cmdlet should work as a job" @ItSkipOrPending {
@ -200,8 +200,8 @@ Describe "Cdxml cmdlets are supported" -Tag CI,RequireAdminOnWindows {
# the time can be adjusted
$null = Wait-Job -Job $job -Timeout 10
$result = Get-CimTest
@($result).Count | should -Be 3
($result.id |sort-object) -join "," | should -Be "1,2,4"
@($result).Count | Should -Be 3
($result.id |sort-object) -join "," | Should -Be "1,2,4"
}
finally {
if ( $job ) {
@ -220,7 +220,7 @@ Describe "Cdxml cmdlets are supported" -Tag CI,RequireAdminOnWindows {
}
New-CimTest @instanceArgs
$result = Get-CimInstance -namespace root/default -class PSCore_Test1 | Where-Object {$_.id -eq "telephone"}
$result.field2 | should -Be 0
$result.field2 | Should -Be 0
$result.field1 | Should -Be $instanceArgs.field1
}
@ -261,12 +261,12 @@ Describe "Cdxml cmdlets are supported" -Tag CI,RequireAdminOnWindows {
}
New-CimTest @instanceArgs
$result = Get-CimTest -id $instanceArgs.id
$result.field2 | should -Be $instanceArgs.field2
$result.field2 | Should -Be $instanceArgs.field2
$result.field1 | Should -Be $instanceArgs.field1
Set-CimTest @newValues
$result = Get-CimTest -id $newValues.id
$result.field1 | Should -Be $newValues.field1
$result.field2 | should -Be $newValues.field2
$result.field2 | Should -Be $newValues.field2
}
It "Should set properties on an instance via pipeline" @ItSkipOrPending {
@ -277,14 +277,14 @@ Describe "Cdxml cmdlets are supported" -Tag CI,RequireAdminOnWindows {
}
New-CimTest @instanceArgs
$result = Get-CimTest -id $instanceArgs.id
$result.field2 | should -Be $instanceArgs.field2
$result.field2 | Should -Be $instanceArgs.field2
$result.field1 | Should -Be $instanceArgs.field1
$result.field1 = "yet another value"
$result.field2 = 33
$result | Set-CimTest
$result = Get-CimTest -id $instanceArgs.id
$result.field1 | Should -Be "yet another value"
$result.field2 | should -Be 33
$result.field2 | Should -Be 33
}
}

View File

@ -78,25 +78,25 @@ Describe "Experimental Feature Basic Tests - Feature-Disabled" -tags "CI" {
$command.ParameterSets.Count | Should -Be 2
$command.Parameters["UserName"].ParameterSets.Count | Should -Be 1
$command.Parameters["UserName"].ParameterSets.ContainsKey("ComputerSet") | Should -Be $true
$command.Parameters["UserName"].ParameterSets.ContainsKey("ComputerSet") | Should -BeTrue
$command.Parameters["ComputerName"].ParameterSets.Count | Should -Be 1
$command.Parameters["ComputerName"].ParameterSets.ContainsKey("ComputerSet") | Should -Be $true
$command.Parameters["ComputerName"].ParameterSets.ContainsKey("ComputerSet") | Should -BeTrue
$command.Parameters["ConfigurationName"].ParameterSets.Count | Should -Be 1
$command.Parameters["ConfigurationName"].ParameterSets.ContainsKey("ComputerSet") | Should -Be $true
$command.Parameters["ConfigurationName"].ParameterSets.ContainsKey("ComputerSet") | Should -BeTrue
$command.Parameters["VMName"].ParameterSets.Count | Should -Be 1
$command.Parameters["VMName"].ParameterSets.ContainsKey("VMSet") | Should -Be $true
$command.Parameters["VMName"].ParameterSets.ContainsKey("VMSet") | Should -BeTrue
$command.Parameters["Port"].ParameterSets.Count | Should -Be 1
$command.Parameters["Port"].ParameterSets.ContainsKey("VMSet") | Should -Be $true
$command.Parameters["Port"].ParameterSets.ContainsKey("VMSet") | Should -BeTrue
$command.Parameters["ThrottleLimit"].ParameterSets.Count | Should -Be 1
$command.Parameters["ThrottleLimit"].ParameterSets.ContainsKey("__AllParameterSets") | Should -Be $true
$command.Parameters["ThrottleLimit"].ParameterSets.ContainsKey("__AllParameterSets") | Should -BeTrue
$command.Parameters["Command"].ParameterSets.Count | Should -Be 1
$command.Parameters["Command"].ParameterSets.ContainsKey("__AllParameterSets") | Should -Be $true
$command.Parameters["Command"].ParameterSets.ContainsKey("__AllParameterSets") | Should -BeTrue
## Common parameters + '-UserName', '-ComputerName', '-ConfigurationName', '-ThrottleLimit' and '-Command'
$command.ParameterSets[0].Name | Should -BeExactly "ComputerSet"
@ -120,7 +120,7 @@ Describe "Experimental Feature Basic Tests - Feature-Disabled" -tags "CI" {
## Common parameters + '-SessionName'
$command.Parameters.Count | Should -Be ($CommonParameterCount + 1)
$command.Parameters["SessionName"].ParameterType.FullName | Should -BeExactly "System.String"
$command.Parameters.ContainsKey("ComputerName") | Should -Be $false
$command.Parameters.ContainsKey("ComputerName") | Should -BeFalse
}
It "Use 'Experimental' attribute directly on parameters - '<Name>'" -TestCases @(
@ -135,19 +135,19 @@ Describe "Experimental Feature Basic Tests - Feature-Disabled" -tags "CI" {
$command.ParameterSets.Count | Should -Be 2
$command.Parameters["ByUrl"].ParameterSets.Count | Should -Be 1
$command.Parameters["ByUrl"].ParameterSets.ContainsKey("UrlSet") | Should -Be $true
$command.Parameters["ByUrl"].ParameterSets.ContainsKey("UrlSet") | Should -BeTrue
$command.Parameters["ByRadio"].ParameterSets.Count | Should -Be 1
$command.Parameters["ByRadio"].ParameterSets.ContainsKey("RadioSet") | Should -Be $true
$command.Parameters["ByRadio"].ParameterSets.ContainsKey("RadioSet") | Should -BeTrue
$command.Parameters["Configuration"].ParameterSets.Count | Should -Be 2
$command.Parameters["Configuration"].ParameterSets.ContainsKey("UrlSet") | Should -Be $true
$command.Parameters["Configuration"].ParameterSets.ContainsKey("RadioSet") | Should -Be $true
$command.Parameters["Configuration"].ParameterSets.ContainsKey("UrlSet") | Should -BeTrue
$command.Parameters["Configuration"].ParameterSets.ContainsKey("RadioSet") | Should -BeTrue
$command.Parameters["FileName"].ParameterSets.Count | Should -Be 1
$command.Parameters["FileName"].ParameterSets.ContainsKey("__AllParameterSets") | Should -Be $true
$command.Parameters["FileName"].ParameterSets.ContainsKey("__AllParameterSets") | Should -BeTrue
$command.Parameters.ContainsKey("Destination") | Should -Be $false
$command.Parameters.ContainsKey("Destination") | Should -BeFalse
}
It "Dynamic parameters - <CommandType>-<Name>" -TestCases @(
@ -170,7 +170,7 @@ Describe "Experimental Feature Basic Tests - Feature-Disabled" -tags "CI" {
$command.Parameters["ConfigName"].Attributes[0] | Should -BeOfType [parameter]
$command.Parameters["ConfigName"].Attributes[1] | Should -BeOfType [ValidateNotNullOrEmpty]
$command.Parameters.ContainsKey("ConfigFile") | Should -Be $false
$command.Parameters.ContainsKey("ConfigFile") | Should -BeFalse
}
}
@ -207,7 +207,7 @@ Describe "Experimental Feature Basic Tests - Feature-Enabled" -Tag "CI" {
It "Experimental feature 'ExpTest.FeatureOne' should be enabled" {
$EnabledExperimentalFeatures.Count | Should -Be 1
$EnabledExperimentalFeatures -contains "ExpTest.FeatureOne" | Should -Be $true
$EnabledExperimentalFeatures -contains "ExpTest.FeatureOne" | Should -BeTrue
}
It "Replace existing command <Name> - version two should be shown" -TestCases @(
@ -258,33 +258,33 @@ Describe "Experimental Feature Basic Tests - Feature-Enabled" -Tag "CI" {
$command.ParameterSets.Count | Should -Be 3
$command.Parameters["UserName"].ParameterSets.Count | Should -Be 1
$command.Parameters["UserName"].ParameterSets.ContainsKey("ComputerSet") | Should -Be $true
$command.Parameters["UserName"].ParameterSets.ContainsKey("ComputerSet") | Should -BeTrue
$command.Parameters["ComputerName"].ParameterSets.Count | Should -Be 1
$command.Parameters["ComputerName"].ParameterSets.ContainsKey("ComputerSet") | Should -Be $true
$command.Parameters["ComputerName"].ParameterSets.ContainsKey("ComputerSet") | Should -BeTrue
$command.Parameters["VMName"].ParameterSets.Count | Should -Be 1
$command.Parameters["VMName"].ParameterSets.ContainsKey("VMSet") | Should -Be $true
$command.Parameters["VMName"].ParameterSets.ContainsKey("VMSet") | Should -BeTrue
$command.Parameters["Token"].ParameterSets.Count | Should -Be 1
$command.Parameters["Token"].ParameterSets.ContainsKey("WebSocketSet") | Should -Be $true
$command.Parameters["Token"].ParameterSets.ContainsKey("WebSocketSet") | Should -BeTrue
$command.Parameters["WebSocketUrl"].ParameterSets.Count | Should -Be 1
$command.Parameters["WebSocketUrl"].ParameterSets.ContainsKey("WebSocketSet") | Should -Be $true
$command.Parameters["WebSocketUrl"].ParameterSets.ContainsKey("WebSocketSet") | Should -BeTrue
$command.Parameters["ConfigurationName"].ParameterSets.Count | Should -Be 2
$command.Parameters["ConfigurationName"].ParameterSets.ContainsKey("ComputerSet") | Should -Be $true
$command.Parameters["ConfigurationName"].ParameterSets.ContainsKey("WebSocketSet") | Should -Be $true
$command.Parameters["ConfigurationName"].ParameterSets.ContainsKey("ComputerSet") | Should -BeTrue
$command.Parameters["ConfigurationName"].ParameterSets.ContainsKey("WebSocketSet") | Should -BeTrue
$command.Parameters["Port"].ParameterSets.Count | Should -Be 2
$command.Parameters["Port"].ParameterSets.ContainsKey("VMSet") | Should -Be $true
$command.Parameters["Port"].ParameterSets.ContainsKey("WebSocketSet") | Should -Be $true
$command.Parameters["Port"].ParameterSets.ContainsKey("VMSet") | Should -BeTrue
$command.Parameters["Port"].ParameterSets.ContainsKey("WebSocketSet") | Should -BeTrue
$command.Parameters["ThrottleLimit"].ParameterSets.Count | Should -Be 1
$command.Parameters["ThrottleLimit"].ParameterSets.ContainsKey("__AllParameterSets") | Should -Be $true
$command.Parameters["ThrottleLimit"].ParameterSets.ContainsKey("__AllParameterSets") | Should -BeTrue
$command.Parameters["Command"].ParameterSets.Count | Should -Be 1
$command.Parameters["Command"].ParameterSets.ContainsKey("__AllParameterSets") | Should -Be $true
$command.Parameters["Command"].ParameterSets.ContainsKey("__AllParameterSets") | Should -BeTrue
## Common parameters + '-UserName', '-ComputerName', '-ConfigurationName', '-ThrottleLimit' and '-Command'
$command.ParameterSets[0].Name | Should -BeExactly "ComputerSet"
@ -318,7 +318,7 @@ Describe "Experimental Feature Basic Tests - Feature-Enabled" -Tag "CI" {
## Common parameters + '-ComputerName'
$command.Parameters.Count | Should -Be ($CommonParameterCount + 1)
$command.Parameters["ComputerName"].ParameterType.FullName | Should -BeExactly "System.String"
$command.Parameters.ContainsKey("SessionName") | Should -Be $false
$command.Parameters.ContainsKey("SessionName") | Should -BeFalse
}
It "Use 'Experimental' attribute directly on parameters - '<Name>'" -TestCases @(
@ -333,18 +333,18 @@ Describe "Experimental Feature Basic Tests - Feature-Enabled" -Tag "CI" {
$command.ParameterSets.Count | Should -Be 2
$command.Parameters["ByUrl"].ParameterSets.Count | Should -Be 1
$command.Parameters["ByUrl"].ParameterSets.ContainsKey("UrlSet") | Should -Be $true
$command.Parameters["ByUrl"].ParameterSets.ContainsKey("UrlSet") | Should -BeTrue
$command.Parameters["ByRadio"].ParameterSets.Count | Should -Be 1
$command.Parameters["ByRadio"].ParameterSets.ContainsKey("RadioSet") | Should -Be $true
$command.Parameters["ByRadio"].ParameterSets.ContainsKey("RadioSet") | Should -BeTrue
$command.Parameters["Destination"].ParameterSets.Count | Should -Be 1
$command.Parameters["Destination"].ParameterSets.ContainsKey("__AllParameterSets") | Should -Be $true
$command.Parameters["Destination"].ParameterSets.ContainsKey("__AllParameterSets") | Should -BeTrue
$command.Parameters["FileName"].ParameterSets.Count | Should -Be 1
$command.Parameters["FileName"].ParameterSets.ContainsKey("__AllParameterSets") | Should -Be $true
$command.Parameters["FileName"].ParameterSets.ContainsKey("__AllParameterSets") | Should -BeTrue
$command.Parameters.ContainsKey("Configuration") | Should -Be $false
$command.Parameters.ContainsKey("Configuration") | Should -BeFalse
}
It "Dynamic parameters - <CommandType>-<Name>" -TestCases @(
@ -368,7 +368,7 @@ Describe "Experimental Feature Basic Tests - Feature-Enabled" -Tag "CI" {
$command.Parameters["ConfigFile"].Attributes[0] | Should -BeOfType [parameter]
$command.Parameters["ConfigFile"].Attributes[1] | Should -BeOfType [ValidateNotNullOrEmpty]
$command.Parameters.ContainsKey("ConfigName") | Should -Be $false
$command.Parameters.ContainsKey("ConfigName") | Should -BeFalse
}
}
@ -434,10 +434,10 @@ PrivateData = @{
Import-Module $moduleFile -ErrorVariable featureNameError -ErrorAction SilentlyContinue
$featureNameError | Should -Not -BeNullOrEmpty
$featureNameError[0].FullyQualifiedErrorId | Should -Be "Modules_InvalidExperimentalFeatureName,Microsoft.PowerShell.Commands.ImportModuleCommand"
$featureNameError[0].Exception.Message.Contains(".Feature1") | Should -Be $true
$featureNameError[0].Exception.Message.Contains("Feature2.") | Should -Be $true
$featureNameError[0].Exception.Message.Contains("Feature3") | Should -Be $true
$featureNameError[0].Exception.Message.Contains("Module.Feature4") | Should -Be $true
$featureNameError[0].Exception.Message.Contains("InvalidFeatureName.Feature5") | Should -Be $false
$featureNameError[0].Exception.Message.Contains(".Feature1") | Should -BeTrue
$featureNameError[0].Exception.Message.Contains("Feature2.") | Should -BeTrue
$featureNameError[0].Exception.Message.Contains("Feature3") | Should -BeTrue
$featureNameError[0].Exception.Message.Contains("Module.Feature4") | Should -BeTrue
$featureNameError[0].Exception.Message.Contains("InvalidFeatureName.Feature5") | Should -BeFalse
}
}

View File

@ -71,7 +71,7 @@ Describe 'Get-Help -Online opens the default web browser and navigates to the cm
{
if (-not (Test-Path 'HKCR:\'))
{
New-PSDrive -PSProvider registry -Root HKEY_CLASSES_ROOT -Name HKCR | Should NotBeNullOrEmpty
New-PSDrive -PSProvider registry -Root HKEY_CLASSES_ROOT -Name HKCR | Should -Not -BeNullOrEmpty
}
$browserExe = ((Get-ItemProperty "HKCR:\$progId\shell\open\command")."(default)" -replace '"', '') -split " "
if ($browserExe.count -ge 1)

View File

@ -92,8 +92,8 @@ Describe "Validate that get-help works for CurrentUserScope" -Tags @('CI') {
It "Validate -Description and -Examples sections in help content. Run 'Get-help -name <cmdletName>" -TestCases $testCases {
param($cmdletName)
$help = get-help -name $cmdletName
$help.Description | Out-String | Should Match $cmdletName
$help.Examples | Out-String | Should Match $cmdletName
$help.Description | Out-String | Should -Match $cmdletName
$help.Examples | Out-String | Should -Match $cmdletName
}
}
}
@ -136,8 +136,8 @@ Describe "Validate that get-help works for AllUsers Scope" -Tags @('Feature', 'R
It "Validate -Description and -Examples sections in help content. Run 'Get-help -name <cmdletName>" -TestCases $testCases -Skip:(!(Test-CanWriteToPsHome)) {
param($cmdletName)
$help = get-help -name $cmdletName
$help.Description | Out-String | Should Match $cmdletName
$help.Examples | Out-String | Should Match $cmdletName
$help.Description | Out-String | Should -Match $cmdletName
$help.Examples | Out-String | Should -Match $cmdletName
}
}
}
@ -273,7 +273,7 @@ Describe "About help files can be found in AllUsers scope" -Tags @('Feature', 'R
It "Get-Help for about_Variable should return only one help object" -Skip:(!(Test-CanWriteToPsHome)) {
$help = Get-Help about_Variables
$help.count | Should Be 1
$help.count | Should -Be 1
}
}

View File

@ -27,7 +27,7 @@ Describe "BooleanParameterDCR Tests" -tags "CI" {
param ( $inputTest, $expected )
[bool]$switchTestParam = $inputTest
$result = ParserTestSwitchCmdlet -switchParam:$switchTestParam
$result | should -Be $expected
$result | Should -Be $expected
}
$tests = @(
@ -39,16 +39,16 @@ Describe "BooleanParameterDCR Tests" -tags "CI" {
param ( $inputTest, $expected )
[bool]$switchTestParam = $inputTest
$result = ParserTestSwitchCmdlet -switchParam:$switchTestParam
$result | should -Be $expected
$result | Should -Be $expected
}
It "Test that a nullable boolean is accepted for a boolean parameter." {
[System.Nullable[System.Int32]] $nullBoolVar = $false
$result = ParserTestBoolCmdlet2 $nullBoolVar
$result | should -BeFalse
$result | Should -BeFalse
$result = ParserTestBoolCmdlet2 -First:$nullBoolVar
$result | should -BeFalse
$result | Should -BeFalse
$result = ParserTestBoolCmdlet2 -First $nullBoolVar
$result | should -BeFalse
$result | Should -BeFalse
}
}

View File

@ -131,7 +131,7 @@ Describe "Parameter Binding Tests" -Tags "CI" {
Should -Throw -ErrorId "ParameterArgumentTransformationError,test-singleintparameter" -PassThru
$e.CategoryInfo | Should -Match "ParameterBindingArgumentTransformationException"
$e.Exception.Message | Should -Match "Input string was not in a correct format"
$e.Exception.Message | should -Match "Parameter1"
$e.Exception.Message | Should -Match "Parameter1"
}
It "Verify that WhatIf is available when SupportShouldProcess is true" {
@ -241,8 +241,8 @@ Describe "Parameter Binding Tests" -Tags "CI" {
$e = { test-nameconflicts6 -Parameter2 1 } | Should -Throw -ErrorId "ParameterNameConflictsWithAlias" -PassThru
$e.CategoryInfo | Should -Match "MetadataException"
$e.Exception.Message | should -Match "Parameter1"
$e.Exception.Message | should -Match "Parameter2"
$e.Exception.Message | Should -Match "Parameter1"
$e.Exception.Message | Should -Match "Parameter2"
}
It "PipelineVariable shouldn't cause a NullRef exception when 'DynamicParam' block is present" {

View File

@ -163,6 +163,6 @@ Describe "TestImplicitRemotingBatching hook should correctly batch simple remote
$psInvoke.Commands.AddScript('param ($cmdLine, $runspace) [System.Management.Automation.Internal.InternalTestHooks]::TestImplicitRemotingBatching($cmdLine, $runspace)').AddArgument($CommandLine).AddArgument($localRunspace)
$result = $psInvoke.Invoke()
$result | Should Be $ExpectedOutput
$result | Should -Be $ExpectedOutput
}
}

View File

@ -10,20 +10,20 @@ try {
}
It "The SessionOption type can be created" {
$result = [Microsoft.WSMan.Management.SessionOption]::new()
$result | should -BeOfType "Microsoft.WSMan.Management.SessionOption"
$result | Should -BeOfType "Microsoft.WSMan.Management.SessionOption"
}
It "The SessionOption type has the proper properties when created with the default constructor" {
$result = [Microsoft.WSMan.Management.SessionOption]::new()
$result.SkipCACheck | should -BeFalse
$result.SkipCNCheck | should -BeFalse
$result.SkipRevocationCheck | should -BeFalse
$result.UseEncryption | should -BeTrue
$result.UseUtf16 | should -BeFalse
$result.ProxyAuthentication | should -Be 0
$result.SPNPort | should -Be 0
$result.OperationTimeout | should -Be 0
$result.ProxyCredential | should -BeNullOrEmpty
$result.ProxyAccessType | should -Be ProxyIEConfig
$result.SkipCACheck | Should -BeFalse
$result.SkipCNCheck | Should -BeFalse
$result.SkipRevocationCheck | Should -BeFalse
$result.UseEncryption | Should -BeTrue
$result.UseUtf16 | Should -BeFalse
$result.ProxyAuthentication | Should -Be 0
$result.SPNPort | Should -Be 0
$result.OperationTimeout | Should -Be 0
$result.ProxyCredential | Should -BeNullOrEmpty
$result.ProxyAccessType | Should -Be ProxyIEConfig
}
It "The values of SessionOption may be set" {
$result = [Microsoft.WSMan.Management.SessionOption]::new()
@ -38,16 +38,16 @@ try {
$result.ProxyAccessType = "ProxyAutoDetect"
$result.ProxyCredential = [System.Net.NetworkCredential]::new("user","pass")
$result.SkipCACheck | should -BeTrue
$result.SkipCNCheck | should -BeTrue
$result.SkipRevocationCheck | should -BeTrue
$result.UseEncryption | should -BeFalse
$result.UseUtf16 | should -BeTrue
$result.ProxyAuthentication | should -Be "Negotiate"
$result.SPNPort | should -Be 10
$result.OperationTimeout | should -Be 10
$result.ProxyCredential | should -Not -BeNullOrEmpty
$result.ProxyAccessType | should -Be "ProxyAutoDetect"
$result.SkipCACheck | Should -BeTrue
$result.SkipCNCheck | Should -BeTrue
$result.SkipRevocationCheck | Should -BeTrue
$result.UseEncryption | Should -BeFalse
$result.UseUtf16 | Should -BeTrue
$result.ProxyAuthentication | Should -Be "Negotiate"
$result.SPNPort | Should -Be 10
$result.OperationTimeout | Should -Be 10
$result.ProxyCredential | Should -Not -BeNullOrEmpty
$result.ProxyAccessType | Should -Be "ProxyAutoDetect"
}
}
}

View File

@ -120,19 +120,19 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
It "verify the initial state of the test module 'UntrustedDataModeTest'" {
$result = Execute-Script -Script "Test-WithScriptVar"
$result | Should Be 15
$result | Should -Be 15
$result = Execute-Script -Script "Test-WithGlobalVar"
$result | Should Be "Hello"
$result | Should -Be "Hello"
$result = Execute-Script -Script "Get-ScriptVar"
$result | Should Be 15
$result | Should -Be 15
$result = Execute-Script -Script "Get-GlobalVar"
$result | Should Be "Hello"
$result | Should -Be "Hello"
$result = Execute-Script -Script '$ExecutionContext.SessionState.LanguageMode'
$result | Should Be "ConstrainedLanguage"
$result | Should -Be "ConstrainedLanguage"
}
Context "Set global variable value in top-level session state" {
@ -286,7 +286,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
Execute-Script -Script $SetupScript > $null
$result = Execute-Script -Script $testScript
$result -join ";" | Should Be $ExpectedOutput
$result -join ";" | Should -Be $ExpectedOutput
}
It "Enable 'data global:var' test if the syntax is supported" {
@ -298,7 +298,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
## Syntax 'data global:var { }' is not supported at the time writting the tests here
## If this test fail, then maybe this syntax is supported now, and in that case, please
## enable the test 'Data Section - "data global:var"' in $testCases above
$_.FullyQualifiedErrorId | Should Be "ParseException"
$_.FullyQualifiedErrorId | Should -Be "ParseException"
}
}
}
@ -318,7 +318,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
Execute-Script -Script "Import-LocalizedData -BindingVariable globalVar -BaseDirectory $TestDrive -FileName local.psd1"
$result = Execute-Script -Script $testScript
$result -join ";" | Should Be "Localized-Data;ParameterArgumentValidationError,Test-Untrusted"
$result -join ";" | Should -Be "Localized-Data;ParameterArgumentValidationError,Test-Untrusted"
}
}
@ -354,7 +354,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
Execute-Script -Script "Import-Module $VarModule"
$result = Execute-Script -Script $testScript
$result -join ";" | Should Be "global-from-module;ParameterArgumentValidationError,Test-Untrusted;Trusted-Script;Trusted-Script"
$result -join ";" | Should -Be "global-from-module;ParameterArgumentValidationError,Test-Untrusted;Trusted-Script;Trusted-Script"
} finally {
Execute-Script -Script "Remove-Module Var -Force"
}
@ -370,7 +370,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
Execute-Script -Script '$globalVar = @{ Argument = "global-splatting" }'
$result = Execute-Script -Script $testScript
$result -join ";" | Should Be "System.Collections.Hashtable;ParameterArgumentValidationError,Test-Untrusted"
$result -join ";" | Should -Be "System.Collections.Hashtable;ParameterArgumentValidationError,Test-Untrusted"
}
}
@ -387,7 +387,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$_.FullyQualifiedErrorId
}
'@
$result | Should Be "CannotDefineNewType,Microsoft.PowerShell.Commands.AddTypeCommand"
$result | Should -Be "CannotDefineNewType,Microsoft.PowerShell.Commands.AddTypeCommand"
}
It "test 'ValidateTrustedDataAttribute' NOT take effect in non-FullLanguage [Invoke-Expression]" {
@ -396,7 +396,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$globalVar = "Get-Process -id $PID"
Invoke-Expression -Command $globalVar | ForEach-Object Id
'@
$result | Should Be $PID
$result | Should -Be $PID
}
It "test 'ValidateTrustedDataAttribute' NOT take effect in non-FullLanguage [New-Object]" {
@ -405,7 +405,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$globalVar = "uri"
New-Object -TypeName $globalVar -ArgumentList 'https://www.bing.com'
'@
$result | Should Not BeNullOrEmpty
$result | Should -Not -BeNullOrEmpty
}
It "test 'ValidateTrustedDataAttribute' NOT take effect in non-FullLanguage [Foreach-Object]" {
@ -414,7 +414,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$globalVar = "Year"
Get-Date | Foreach-Object -MemberName $globalVar
'@
$result | Should Not BeNullOrEmpty
$result | Should -Not -BeNullOrEmpty
}
It "test 'ValidateTrustedDataAttribute' NOT take effect in non-FullLanguage [Import-Module]" {
@ -423,8 +423,8 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$globalVar = "NonExistModule"
Import-Module -Name $globalVar -ErrorAction SilentlyContinue -ErrorVariable ev; $ev
'@
$result | Should Not BeNullOrEmpty
$result.FullyQualifiedErrorId | Should Be "Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand"
$result | Should -Not -BeNullOrEmpty
$result.FullyQualifiedErrorId | Should -Be "Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand"
}
It "test 'ValidateTrustedDataAttribute' NOT take effect in non-FullLanguage [Start-Job]" {
@ -438,7 +438,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$_.FullyQualifiedErrorId
}
'@
$result | Should Be "CannotStartJobInconsistentLanguageMode,Microsoft.PowerShell.Commands.StartJobCommand"
$result | Should -Be "CannotStartJobInconsistentLanguageMode,Microsoft.PowerShell.Commands.StartJobCommand"
}
}
@ -455,7 +455,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$_.FullyQualifiedErrorId
}
'@
$result | Should Be "ParameterArgumentValidationError,Test-Untrusted"
$result | Should -Be "ParameterArgumentValidationError,Test-Untrusted"
}
It "test 'ValidateTrustedDataAttribute' take effect when calling from 'Constrained' to 'Full' [Simple function]" {
@ -469,7 +469,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$_.FullyQualifiedErrorId
}
'@
$result | Should Be "ParameterArgumentValidationError,Test-SimpleUntrusted"
$result | Should -Be "ParameterArgumentValidationError,Test-SimpleUntrusted"
}
It "test 'ValidateTrustedDataAttribute' with param type conversion [string -> string[]]" {
@ -483,7 +483,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$_.FullyQualifiedErrorId
}
'@
$result | Should Be "ParameterArgumentValidationError,Test-OtherParameterType"
$result | Should -Be "ParameterArgumentValidationError,Test-OtherParameterType"
}
It "test 'ValidateTrustedDataAttribute' with value type param [DateTime]" {
@ -497,7 +497,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$_.FullyQualifiedErrorId
}
'@
$result | Should Be "ParameterArgumentValidationError,Test-OtherParameterType"
$result | Should -Be "ParameterArgumentValidationError,Test-OtherParameterType"
}
It "test 'ValidateTrustedDataAttribute' with param type conversion [string -> FileInfo]" {
@ -511,7 +511,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$_.FullyQualifiedErrorId
}
'@
$result | Should Be "ParameterArgumentValidationError,Test-OtherParameterType"
$result | Should -Be "ParameterArgumentValidationError,Test-OtherParameterType"
}
It "test type property conversion to [ProcessStartInfo] should fail during Lang-Mode transition" {
@ -524,7 +524,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
$_.FullyQualifiedErrorId
}
'@
$result | Should Be "ParameterArgumentTransformationError,Test-OtherParameterType"
$result | Should -Be "ParameterArgumentTransformationError,Test-OtherParameterType"
}
}
@ -554,7 +554,7 @@ Describe "UntrustedDataMode tests for variable assignments" -Tags 'CI' {
## Run this in the global scope, so value of $globalVar will be marked as untrusted
$testScript = $ScriptTemplate -f $Argument
$result = Execute-Script -Script $testScript
$result | Should Be $ExpectedErrorId
$result | Should -Be $ExpectedErrorId
}
}
}

View File

@ -71,7 +71,7 @@ function ShouldBeParseError
Context "Parse error expected: <<$src>>" {
# Test case error if this fails
$expectedErrors.Count | Should Be $expectedOffsets.Count
$expectedErrors.Count | Should -Be $expectedOffsets.Count
if ($SkipAndCheckRuntimeError)
{
@ -86,7 +86,7 @@ function ShouldBeParseError
$errors = Get-ParseResults -Src $src
}
It "Error count" { $errors.Count | Should Be $expectedErrors.Count }
It "Error count" { $errors.Count | Should -Be $expectedErrors.Count }
for ($i = 0; $i -lt $errors.Count; ++$i)
{
$err = $errors[$i]
@ -99,10 +99,10 @@ function ShouldBeParseError
{
$errorId = $err.ErrorId
}
It "Error Id (iteration:$i)" { $errorId | Should Be $expectedErrors[$i] }
It "Error Id (iteration:$i)" { $errorId | Should -Be $expectedErrors[$i] }
$acutalPostion = $err.Extent.StartScriptPosition.Offset
if ( $CheckColumnNumber ) { $acutalPostion = $err.Extent.StartScriptPosition.ColumnNumber }
It "Error position (iteration:$i)" -Pending:$SkipAndCheckRuntimeError { $acutalPostion | Should Be $expectedOffsets[$i] }
It "Error position (iteration:$i)" -Pending:$SkipAndCheckRuntimeError { $acutalPostion | Should -Be $expectedOffsets[$i] }
}
}
}
@ -127,11 +127,11 @@ function Test-ErrorStmt
$asts = @(Flatten-Ast $ast.EndBlock.Statements[0])
It 'Type is ErrorStatementAst' { $asts[0] | Should BeOfType System.Management.Automation.Language.ErrorStatementAst }
It "`$asts.count" { $asts.Count | Should Be ($a.Count + 1) }
It "`$asts[0].Extent.Text" { $asts[0].Extent.Text | Should Be $errorStmtExtent }
It "`$asts.count" { $asts.Count | Should -Be ($a.Count + 1) }
It "`$asts[0].Extent.Text" { $asts[0].Extent.Text | Should -Be $errorStmtExtent }
for ($i = 0; $i -lt $a.Count; ++$i)
{
It "`$asts[$($i + 1)].Extent.Text" { $asts[$i + 1].Extent.Text | Should Be $a[$i] }
It "`$asts[$($i + 1)].Extent.Text" { $asts[$i + 1].Extent.Text | Should -Be $a[$i] }
}
}
}
@ -143,10 +143,10 @@ function Test-Ast
$ast = Get-ParseResults $src -Ast
$asts = @(Flatten-Ast $ast)
Context "Ast Validation: <<$src>>" {
It "`$asts.count" { $asts.Count | Should Be $a.Count }
It "`$asts.count" { $asts.Count | Should -Be $a.Count }
for ($i = 0; $i -lt $a.Count; ++$i)
{
It "`$asts[$i].Extent.Text" { $asts[$i].Extent.Text | Should Be $a[$i] }
It "`$asts[$i].Extent.Text" { $asts[$i].Extent.Text | Should -Be $a[$i] }
}
}
}
@ -160,14 +160,14 @@ function Test-Ast
$ast = $ast.EndBlock.Statements[0]
Context "Ast Validation: <<$src>>" {
$ast | Should BeOfType System.Management.Automation.Language.ErrorStatementAst
$ast.Flags.ContainsKey($flagName) | Should be $true
$ast.Flags.ContainsKey($flagName) | Should -BeTrue
$asts = @(Flatten-Ast $ast.Flags[$flagName].Item2)
$asts.Count | Should Be $a.Count
$asts.Count | Should -Be $a.Count
for ($i = 0; $i -lt $a.Count; ++$i)
{
$asts[$i].Extent.Text | Should Be $a[$i]
$asts[$i].Extent.Text | Should -Be $a[$i]
}
}
}

View File

@ -2,6 +2,6 @@
# Licensed under the MIT License.
Describe "Failing test used to test CI Scripts" -Tags 'CI' {
It "Should fail" {
1 | should be 2
1 | Should -Be 2
}
}