Upgraded feedkit's handling of stream sources
This commit is contained in:
52
sources/stream_errors_test.go
Normal file
52
sources/stream_errors_test.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package sources
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestStreamRetryableWrapsThroughErrorChains(t *testing.T) {
|
||||
base := errors.New("retry me")
|
||||
err := fmt.Errorf("outer: %w", StreamRetryable(base))
|
||||
|
||||
if !IsStreamRetryable(err) {
|
||||
t.Fatalf("IsStreamRetryable() = false, want true")
|
||||
}
|
||||
if IsStreamFatal(err) {
|
||||
t.Fatalf("IsStreamFatal() = true, want false")
|
||||
}
|
||||
if !errors.Is(err, base) {
|
||||
t.Fatalf("errors.Is(err, base) = false, want true")
|
||||
}
|
||||
}
|
||||
|
||||
func TestStreamFatalWrapsThroughErrorChains(t *testing.T) {
|
||||
base := errors.New("fatal")
|
||||
err := fmt.Errorf("outer: %w", StreamFatal(base))
|
||||
|
||||
if !IsStreamFatal(err) {
|
||||
t.Fatalf("IsStreamFatal() = false, want true")
|
||||
}
|
||||
if IsStreamRetryable(err) {
|
||||
t.Fatalf("IsStreamRetryable() = true, want false")
|
||||
}
|
||||
if !errors.Is(err, base) {
|
||||
t.Fatalf("errors.Is(err, base) = false, want true")
|
||||
}
|
||||
}
|
||||
|
||||
func TestStreamErrorHelpersNil(t *testing.T) {
|
||||
if StreamRetryable(nil) != nil {
|
||||
t.Fatalf("StreamRetryable(nil) != nil")
|
||||
}
|
||||
if StreamFatal(nil) != nil {
|
||||
t.Fatalf("StreamFatal(nil) != nil")
|
||||
}
|
||||
if IsStreamRetryable(nil) {
|
||||
t.Fatalf("IsStreamRetryable(nil) = true")
|
||||
}
|
||||
if IsStreamFatal(nil) {
|
||||
t.Fatalf("IsStreamFatal(nil) = true")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user