Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix the output of partial result due to changed state logic and fix t… #86

Merged
merged 1 commit into from Jun 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion result/overall.go
Expand Up @@ -39,7 +39,7 @@ type PartialResult struct {
}

func (s *PartialResult) String() string {
return fmt.Sprintf("[%s] %s", check.StatusText(s.state), s.Output)
return fmt.Sprintf("[%s] %s", check.StatusText(s.GetStatus()), s.Output)
}

// Deprecated: Will be removed in a future version, use Add() instead
Expand Down
60 changes: 40 additions & 20 deletions result/overall_test.go
Expand Up @@ -144,11 +144,12 @@ func ExampleOverall_withSubchecks() {
pd_list.Add(&example_perfdata)

subcheck := PartialResult{
state: check.OK,
Output: "Subcheck1 Test",
Perfdata: pd_list,
}

subcheck.SetState(check.OK)

overall.AddSubcheck(subcheck)
overall.AddOK("bla")

Expand Down Expand Up @@ -184,18 +185,19 @@ func TestOverall_withEnhancedSubchecks(t *testing.T) {
pd_list2.Add(&example_perfdata4)

subcheck := PartialResult{
state: check.OK,
stateSetExplicitely: true,
Output: "Subcheck1 Test",
Perfdata: pd_list,
Output: "Subcheck1 Test",
Perfdata: pd_list,
}

subcheck.SetState(check.OK)

subcheck2 := PartialResult{
state: check.Warning,
stateSetExplicitely: true,
Output: "Subcheck2 Test",
Perfdata: pd_list2,
Output: "Subcheck2 Test",
Perfdata: pd_list2,
}

subcheck2.SetState(check.Warning)

overall.AddSubcheck(subcheck)
overall.AddSubcheck(subcheck2)

Expand All @@ -215,13 +217,17 @@ func TestOverall_withSubchecks_Simple_Output(t *testing.T) {
var overall Overall

subcheck2 := PartialResult{
state: check.OK,
Output: "SubSubcheck",
}

subcheck2.SetState(check.OK)

subcheck := PartialResult{
state: check.OK,
Output: "PartialResult",
}

subcheck.SetState(check.OK)

subcheck.PartialResults = append(subcheck.PartialResults, subcheck2)

overall.AddSubcheck(subcheck)
Expand All @@ -240,14 +246,17 @@ func TestOverall_withSubchecks_Perfdata(t *testing.T) {
var overall Overall

subcheck2 := PartialResult{
state: check.OK,
Output: "SubSubcheck",
}

subcheck2.SetState(check.OK)

subcheck := PartialResult{
state: check.OK,
Output: "PartialResult",
}

subcheck.SetState(check.OK)

perf1 := perfdata.Perfdata{
Label: "foo",
Value: 3,
Expand Down Expand Up @@ -278,12 +287,15 @@ func TestOverall_withSubchecks_PartialResult(t *testing.T) {
var overall Overall

subcheck3 := PartialResult{
state: check.Critical,
Output: "SubSubSubcheck",
}

subcheck3.SetState(check.Critical)

subcheck2 := PartialResult{
Output: "SubSubcheck",
}

subcheck := PartialResult{
Output: "PartialResult",
}
Expand Down Expand Up @@ -313,7 +325,7 @@ func TestOverall_withSubchecks_PartialResult(t *testing.T) {

res := `states: ok=1
\_ [OK] PartialResult
\_ [OK] SubSubcheck
\_ [CRITICAL] SubSubcheck
\_ [CRITICAL] SubSubSubcheck
|foo=3 bar=300% baz=23B
`
Expand All @@ -326,21 +338,26 @@ func TestOverall_withSubchecks_PartialResultStatus(t *testing.T) {
var overall Overall

subcheck := PartialResult{
state: check.OK,
stateSetExplicitely: true,
Output: "Subcheck",
}

subcheck.SetState(check.OK)

subsubcheck := PartialResult{
state: check.Warning,
stateSetExplicitely: true,
Output: "SubSubcheck",
}

subsubcheck.SetState(check.Warning)

subsubsubcheck := PartialResult{
state: check.Critical,
stateSetExplicitely: true,
Output: "SubSubSubcheck",
}

subsubsubcheck.SetState(check.Critical)

subsubcheck.AddSubcheck(subsubsubcheck)
subcheck.AddSubcheck(subsubcheck)
overall.AddSubcheck(subcheck)
Expand All @@ -358,7 +375,6 @@ func TestSubchecksPerfdata(t *testing.T) {
var overall Overall

check1 := PartialResult{
state: check.OK,
Output: "Check1",
Perfdata: perfdata.PerfdataList{
&perfdata.Perfdata{
Expand All @@ -371,8 +387,10 @@ func TestSubchecksPerfdata(t *testing.T) {
},
},
}

check1.SetState(check.OK)

check2 := PartialResult{
state: check.Warning,
Output: "Check2",
Perfdata: perfdata.PerfdataList{
&perfdata.Perfdata{
Expand All @@ -382,6 +400,8 @@ func TestSubchecksPerfdata(t *testing.T) {
},
}

check2.SetState(check.Warning)

overall.AddSubcheck(check1)
overall.AddSubcheck(check2)

Expand Down