diff options
Diffstat (limited to 'vendor/gopkg.in/olivere/elastic.v5/retrier_test.go')
-rw-r--r-- | vendor/gopkg.in/olivere/elastic.v5/retrier_test.go | 55 |
1 files changed, 53 insertions, 2 deletions
diff --git a/vendor/gopkg.in/olivere/elastic.v5/retrier_test.go b/vendor/gopkg.in/olivere/elastic.v5/retrier_test.go index 100a17838..c1c5ff524 100644 --- a/vendor/gopkg.in/olivere/elastic.v5/retrier_test.go +++ b/vendor/gopkg.in/olivere/elastic.v5/retrier_test.go @@ -65,7 +65,10 @@ func TestRetrier(t *testing.T) { t.Fatal(err) } - res, err := client.PerformRequest(context.TODO(), "GET", "/fail", nil, nil) + res, err := client.PerformRequest(context.TODO(), PerformRequestOptions{ + Method: "GET", + Path: "/fail", + }) if err == nil { t.Fatal("expected error") } @@ -107,7 +110,10 @@ func TestRetrierWithError(t *testing.T) { t.Fatal(err) } - res, err := client.PerformRequest(context.TODO(), "GET", "/fail", nil, nil) + res, err := client.PerformRequest(context.TODO(), PerformRequestOptions{ + Method: "GET", + Path: "/fail", + }) if err != kaboom { t.Fatalf("expected %v, got %v", kaboom, err) } @@ -121,3 +127,48 @@ func TestRetrierWithError(t *testing.T) { t.Errorf("expected %d Retrier calls; got: %d", 1, retrier.N) } } + +func TestRetrierOnPerformRequest(t *testing.T) { + var numFailedReqs int + fail := func(r *http.Request) (*http.Response, error) { + numFailedReqs += 1 + //return &http.Response{Request: r, StatusCode: 400}, nil + return nil, errors.New("request failed") + } + + tr := &failingTransport{path: "/fail", fail: fail} + httpClient := &http.Client{Transport: tr} + + defaultRetrier := &testRetrier{ + Retrier: NewStopRetrier(), + } + requestRetrier := &testRetrier{ + Retrier: NewStopRetrier(), + } + + client, err := NewClient( + SetHttpClient(httpClient), + SetHealthcheck(false), + SetRetrier(defaultRetrier)) + if err != nil { + t.Fatal(err) + } + + res, err := client.PerformRequest(context.TODO(), PerformRequestOptions{ + Method: "GET", + Path: "/fail", + Retrier: requestRetrier, + }) + if err == nil { + t.Fatal("expected error") + } + if res != nil { + t.Fatal("expected no response") + } + if want, have := int64(0), defaultRetrier.N; want != have { + t.Errorf("defaultRetrier: expected %d calls; got: %d", want, have) + } + if want, have := int64(1), requestRetrier.N; want != have { + t.Errorf("requestRetrier: expected %d calls; got: %d", want, have) + } +} |