From e6a0af7ffdcb4884b0ea8c9d2b1ca80f9cb335fa Mon Sep 17 00:00:00 2001 From: dan Date: Wed, 6 May 2015 09:18:15 -0700 Subject: [PATCH] move aws backoff to its own file, and use it for redshift basic emitter --- pipeline_test.go => awsbackoff_test.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) rename pipeline_test.go => awsbackoff_test.go (82%) diff --git a/pipeline_test.go b/awsbackoff_test.go similarity index 82% rename from pipeline_test.go rename to awsbackoff_test.go index 3629f05..d2c7cbd 100644 --- a/pipeline_test.go +++ b/awsbackoff_test.go @@ -6,6 +6,7 @@ import ( "testing" "github.com/ezoic/go-kinesis" + "github.com/lib/pq" ) func Test_isRecoverableError(t *testing.T) { @@ -21,6 +22,8 @@ func Test_isRecoverableError(t *testing.T) { {err: &net.OpError{Err: fmt.Errorf("connection reset by peer")}, isRecoverable: true}, {err: &net.OpError{Err: fmt.Errorf("unexpected error")}, isRecoverable: false}, {err: fmt.Errorf("an arbitrary error"), isRecoverable: false}, + {err: pq.Error{Message: "The specified S3 prefix 'somefilethatismissing' does not exist"}, isRecoverable: true}, + {err: pq.Error{Message: "Some other pq error"}, isRecoverable: false}, //"InternalFailure": true, //"Throttling": true, @@ -31,8 +34,7 @@ func Test_isRecoverableError(t *testing.T) { for idx, tc := range testCases { - p := Pipeline{} - isRecoverable := p.isRecoverableError(tc.err) + isRecoverable := isRecoverableError(tc.err) if isRecoverable != tc.isRecoverable { t.Errorf("test case %d: isRecoverable expected %t, actual %t, for error %+v", idx, tc.isRecoverable, isRecoverable, tc.err) }