ffd39b2853
- Fix PSScriptAnalyzer warnings of type PSAvoidUsingCmdletAliases for 'ForEach-Object' (alias is '%' or 'foreach') - Fix PSScriptAnalyzer warnings of type PSAvoidUsingCmdletAliases for 'Where-Object' (alias is '?' or 'where') - Fix PSScriptAnalyzer warnings of type PSAvoidUsingCmdletAliases for 'Select-Object' (alias is 'select') - Fix PSScriptAnalyzer warnings of type PSPossibleIncorrectComparisonWithNull. Essentially, $null has to be on the left-hand side when using it for comparison. - A Test in ParameterBinding.Tests.ps1 needed adapting as this test used to rely on the wrong null comparison - Replace a subset of tests of kind '($object -eq $null) | Should Be $true' with '$object | Should Be $null'
48 lines
2.9 KiB
PowerShell
48 lines
2.9 KiB
PowerShell
Describe "Get-EventLog cmdlet tests" -Tags @('CI', 'RequireAdminOnWindows') {
|
|
|
|
BeforeAll {
|
|
$defaultParamValues = $PSdefaultParameterValues.Clone()
|
|
$PSDefaultParameterValues["it:skip"] = !$IsWindows -or $IsCoreCLR
|
|
}
|
|
|
|
AfterAll {
|
|
$global:PSDefaultParameterValues = $defaultParamValues
|
|
}
|
|
|
|
#CmdLets are not yet implemented, so these cases are -Pending:($True) for now...
|
|
It "should return an array of eventlogs objects when called with -AsString parameter" -Pending:($True) {
|
|
{$result=Get-EventLog -AsString -ea stop} | Should Not Throw
|
|
$result | Should Not BeNullOrEmpty
|
|
,$result | Should BeOfType "System.Array"
|
|
$result -eq "Application" | Should Be "Application"
|
|
$result.Count -ge 3 | Should Be $true
|
|
}
|
|
It "should return a list of eventlog objects when called with -List parameter" -Pending:($True) {
|
|
{$result=Get-EventLog -List -ea stop} | Should Not Throw
|
|
$result | Should Not BeNullOrEmpty
|
|
,$result | Should BeOfType "System.Array"
|
|
{$logs=$result | Select-Object -ExpandProperty Log} | Should Not Throw
|
|
$logs -eq "System" | Should Be "System"
|
|
$logs.Count -ge 3 | Should Be $true
|
|
}
|
|
It "should be able to Get-EventLog -LogName Application -Newest 100" -Pending:($True) {
|
|
{$result=get-eventlog -LogName Application -Newest 100 -ea stop} | Should Not Throw
|
|
$result | Should Not BeNullOrEmpty
|
|
$result.Length -le 100 | Should Be $true
|
|
$result[0] | Should BeOfType "EventLogEntry"
|
|
}
|
|
It "should throw 'AmbiguousParameterSetException' when called with both -LogName and -List parameters" -Pending:($True) {
|
|
try {Get-EventLog -LogName System -List -ea stop; Throw "Previous statement unexpectedly succeeded..."
|
|
} catch {echo $_.FullyQualifiedErrorId | Should Be "AmbiguousParameterSet,Microsoft.PowerShell.Commands.GetEventLogCommand"}
|
|
}
|
|
It "should be able to Get-EventLog -LogName * with multiple matches" -Pending:($True) {
|
|
{$result=get-eventlog -LogName * -ea stop} | Should Not Throw
|
|
$result | Should Not BeNullOrEmpty
|
|
$result -eq "Security" | Should Be "Security"
|
|
$result.Count -ge 3 | Should Be $true
|
|
}
|
|
It "should throw 'InvalidOperationException' when asked to get a log that does not exist" -Pending:($True) {
|
|
try {Get-EventLog -LogName MissingTestLog -ea stop; Throw "Previous statement unexpectedly succeeded..."
|
|
} catch {echo $_.FullyQualifiedErrorId | Should Be "System.InvalidOperationException,Microsoft.PowerShell.Commands.GetEventLogCommand"}
|
|
}
|
|
}
|