mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Support Unwrap for QueryError in expr package (#41743)
This commit is contained in:
parent
2319c52c85
commit
708bdc80cb
@ -28,6 +28,10 @@ func (e QueryError) Error() string {
|
||||
return fmt.Sprintf("failed to execute query %s: %s", e.RefID, e.Err)
|
||||
}
|
||||
|
||||
func (e QueryError) Unwrap() error {
|
||||
return e.Err
|
||||
}
|
||||
|
||||
// baseNode includes common properties used across DPNodes.
|
||||
type baseNode struct {
|
||||
id int64
|
||||
|
@ -7,10 +7,36 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestQueryError(t *testing.T) {
|
||||
type expectedError struct{}
|
||||
|
||||
func (e expectedError) Error() string {
|
||||
return "expected"
|
||||
}
|
||||
|
||||
func TestQueryError_Error(t *testing.T) {
|
||||
e := QueryError{
|
||||
RefID: "A",
|
||||
Err: errors.New("this is an error message"),
|
||||
}
|
||||
assert.EqualError(t, e, "failed to execute query A: this is an error message")
|
||||
}
|
||||
|
||||
func TestQueryError_Unwrap(t *testing.T) {
|
||||
t.Run("errors.Is", func(t *testing.T) {
|
||||
expectedIsErr := errors.New("expected")
|
||||
e := QueryError{
|
||||
RefID: "A",
|
||||
Err: expectedIsErr,
|
||||
}
|
||||
assert.True(t, errors.Is(e, expectedIsErr))
|
||||
})
|
||||
|
||||
t.Run("errors.As", func(t *testing.T) {
|
||||
e := QueryError{
|
||||
RefID: "A",
|
||||
Err: expectedError{},
|
||||
}
|
||||
var expectedAsError expectedError
|
||||
assert.True(t, errors.As(e, &expectedAsError))
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user