pomerium/internal/retry/error_test.go
2023-11-15 09:21:56 -08:00

29 lines
623 B
Go

package retry_test
import (
"fmt"
"testing"
"github.com/stretchr/testify/require"
"github.com/pomerium/pomerium/internal/retry"
)
type testError string
func (e testError) Error() string {
return string(e)
}
func (e testError) IsTerminal() {}
func TestError(t *testing.T) {
t.Run("local terminal error", func(t *testing.T) {
err := fmt.Errorf("wrap: %w", retry.NewTerminalError(fmt.Errorf("inner")))
require.True(t, retry.IsTerminalError(err))
})
t.Run("external terminal error", func(t *testing.T) {
err := fmt.Errorf("wrap: %w", testError("inner"))
require.True(t, retry.IsTerminalError(err))
})
}