Skip to content

Commit

Permalink
Test ContainsError
Browse files Browse the repository at this point in the history
  • Loading branch information
dhaidashenko committed Dec 11, 2024
1 parent 6adad2c commit 77373fd
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions pkg/services/health_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package services

import (
"errors"
"fmt"
"testing"

"github.com/stretchr/testify/assert"
)

func TestContainsError(t *testing.T) {
anError := errors.New("an error")
anotherError := errors.New("another error")
testCases := []struct {
Name string
Report map[string]error
Target error
ExpectedResult bool
}{
{
Name: "nil map",
Report: nil,
Target: anError,
ExpectedResult: false,
},
{
Name: "report contains service, but it's healthy",
Report: map[string]error{"service": nil},
Target: anError,
ExpectedResult: false,
},
{
Name: "service is not healthy, but it's not caused by target error",
Report: map[string]error{"service": anotherError},
Target: anError,
ExpectedResult: false,
},
{
Name: "service is not healthy and contains wrapper target",
Report: map[string]error{"service": fmt.Errorf("wrapped error: %w", anError)},
Target: anError,
ExpectedResult: true,
},
{
Name: "service is not healthy due to multiple errors including target",
Report: map[string]error{"service": errors.Join(anError, anotherError)},
Target: anError,
ExpectedResult: true,
},
}

for _, tc := range testCases {
t.Run(tc.Name, func(t *testing.T) {
actualResult := ContainsError(tc.Report, tc.Target)
assert.Equal(t, tc.ExpectedResult, actualResult)
})
}
}

0 comments on commit 77373fd

Please sign in to comment.