Describe "Remove-Event" { BeforeEach { New-Event -sourceidentifier PesterTimer -sender Windows.timer -messagedata "PesterTestMessage" } AfterEach { Remove-Event -sourceidentifier PesterTimer -ErrorAction SilentlyContinue } Context "Check Remove-Event can validly remove events" { It "Should remove an event given a sourceidentifier" { { Remove-Event -sourceidentifier PesterTimer } { Get-Event -ErrorAction SilentlyContinue | Should Not Contain PesterTimer } } It "Should remove an event given an event identifier" { { $events = Get-Event -sourceidentifier PesterTimer } { $events = $events.EventIdentifier } { Remove-Event -EventIdentifier $events } { $events = Get-Event -ErrorAction SilentlyContinue} { $events.SourceIdentifier | Should Not Contain "PesterTimer" } } It "Should be able to remove an event given a pipe from Get-Event" { { Get-Event -sourceidentifier PesterTimer | Remove-Event } { Get-Event -ErrorAction SilentlyContinue | Should Not Contain "PesterTimer" } } It "Should NOT remove an event given the whatif flag" { { Remove-Event -sourceidentifier PesterTimer -whatif } { $events = Get-Event } { $events.SourceIdentifier | Should Contain "PesterTimer" } } } }