master
go 38 lines 1.11 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package nagios
4
5 import (
6 "testing"
7
8 "github.com/stretchr/testify/assert"
9 )
10
11 func TestProjectJobExecutionState(t *testing.T) {
12 t.Run("paused suppresses retry", func(t *testing.T) {
13 point := projectJobExecutionState(jobStatePaused, true)
14 assert.True(t, point.States[metricJobStatePaused])
15 assert.False(t, point.States[metricStateRetry])
16 })
17
18 t.Run("warning keeps retry", func(t *testing.T) {
19 point := projectJobExecutionState(nagiosStateWarning, true)
20 assert.True(t, point.States[metricJobStateWarning])
21 assert.True(t, point.States[metricStateRetry])
22 })
23 }
24
25 func TestProjectPerfThresholdAlertState(t *testing.T) {
26 t.Run("empty state clears everything", func(t *testing.T) {
27 point := projectPerfThresholdAlertState("", true)
28 for _, state := range perfThresholdAlertStateNames {
29 assert.False(t, point.States[state])
30 }
31 })
32
33 t.Run("warning keeps retry", func(t *testing.T) {
34 point := projectPerfThresholdAlertState(perfThresholdStateWarning, true)
35 assert.True(t, point.States[perfThresholdStateWarning])
36 assert.True(t, point.States[perfThresholdStateRetry])
37 })
38 }