Skip to content

Commit b558063

Browse files
SQL Agent Failed Jobs "improve?"
1 parent 24401bb commit b558063

File tree

1 file changed

+9
-16
lines changed

1 file changed

+9
-16
lines changed

source/checks/Agentv5.Tests.ps1

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -164,25 +164,18 @@ Describe "SQL Agent Failed Jobs" -Tag FailedJob, Agent -ForEach $InstancesToTest
164164
$skipAgentFailedJobs = ($__dbcconfig | Where-Object { $_.Name -eq 'skip.agent.failedjobs' }).Value
165165
$excludecancelled = ($__dbcconfig | Where-Object { $_.Name -eq 'agent.failedjob.excludecancelled' }).Value
166166

167-
Context "Checking for failed enabled jobs since $startdate on <_.Name>" {
168-
($PSItem.JobsFailed).ForEach{
169-
Write-PSFMessage -Message "LastRunOutcome = $($PSItem)" -Level Verbose
170-
if ($PSItem.LastRunOutcome -eq "Unknown") {
171-
It "We chose to skip this as $($PSItem.JobName)'s last run outcome is unknown on $($PSItem.InstanceName)" -Skip {
172-
$PSItem.LastRunOutcome | Should -Be $PSItem.ExpectedOutcome -Because 'All Agent Jobs should have succeed this one is unknown - you need to investigate the failed jobs'
173-
}
167+
Context "Checking for failed enabled jobs since on <_.Name>" {
168+
if (-not $skipAgentFailedJobs) {
169+
It "We chose to skip this as <_.JobName>'s last run outcome is unknown on <_.InstanceName>" -Skip -ForEach ($PSItem.JobsFailed | Where-Object { $_.LastRunOutcome -eq "Unknown" }) {
170+
$PSItem.LastRunOutcome | Should -Be $PSItem.ExpectedOutcome -Because 'All Agent Jobs should have succeed this one is unknown - you need to investigate the failed jobs'
174171
}
175-
elseif (($PSItem.LastRunOutcome -eq "Cancelled") -and ($excludecancelled -eq $true)) {
176-
It "You chose to skip this as $($PSItem.JobName)'s last run outcome is cancelled on $($PSItem.InstanceName)" -Skip {
177-
$PSItem.LastRunOutcome | Should -Be $PSItem.ExpectedOutcome -Because 'All Agent Jobs should have succeed this one is Cancelled - you need to investigate the failed jobs'
178-
}
179-
}
180-
else {
181-
It "Job $($PSItem.JobName) last run outcome is $($PSItem.LastRunOutcome) on $($PSItem.InstanceName)" -Skip:$skipAgentFailedJobs {
182-
$PSItem.LastRunOutcome | Should -Be $PSItem.ExpectedOutcome -Because "All Agent Jobs should have succeed - you need to investigate the failed jobs"
183-
}
172+
It "You chose to skip this as <_.JobName>'s last run outcome is cancelled on <_.InstanceName>" -Skip -ForEach ($PSItem.JobsFailed | Where-Object { $_.LastRunOutcome -eq "Cancelled" -and ($excludecancelled -eq $true) }) {
173+
$PSItem.LastRunOutcome | Should -Be $PSItem.ExpectedOutcome -Because 'All Agent Jobs should have succeed this one is Cancelled - you need to investigate the failed jobs'
184174
}
185175
}
176+
It "Job <_.JobName> last run outcome is <_.LastRunOutcome> on <_.InstanceName>" -Skip:$skipAgentFailedJobs -ForEach ($PSItem.JobsFailed | Where-Object { $_.LastRunOutcome -notin ("Cancelled", "Unknown") }) {
177+
$PSItem.LastRunOutcome | Should -Be $PSItem.ExpectedOutcome -Because "All Agent Jobs should have succeed - you need to investigate the failed jobs"
178+
}
186179
}
187180
}
188181

0 commit comments

Comments
 (0)