diff options
author | Christopher Speller <crspeller@gmail.com> | 2018-04-16 05:37:14 -0700 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2018-04-16 08:37:14 -0400 |
commit | 6e2cb00008cbf09e556b00f87603797fcaa47e09 (patch) | |
tree | 3c0eb55ff4226a3f024aad373140d1fb860a6404 /vendor/gopkg.in/olivere/elastic.v5/retrier_test.go | |
parent | bf24f51c4e1cc6286885460672f7f449e8c6f5ef (diff) | |
download | chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.gz chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.bz2 chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.zip |
Depenancy upgrades and movign to dep. (#8630)
Diffstat (limited to 'vendor/gopkg.in/olivere/elastic.v5/retrier_test.go')
-rw-r--r-- | vendor/gopkg.in/olivere/elastic.v5/retrier_test.go | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/vendor/gopkg.in/olivere/elastic.v5/retrier_test.go b/vendor/gopkg.in/olivere/elastic.v5/retrier_test.go deleted file mode 100644 index c1c5ff524..000000000 --- a/vendor/gopkg.in/olivere/elastic.v5/retrier_test.go +++ /dev/null @@ -1,174 +0,0 @@ -// Copyright 2012-present Oliver Eilhard. All rights reserved. -// Use of this source code is governed by a MIT-license. -// See http://olivere.mit-license.org/license.txt for details. - -package elastic - -import ( - "context" - "errors" - "net/http" - "sync/atomic" - "testing" - "time" -) - -type testRetrier struct { - Retrier - N int64 - Err error -} - -func (r *testRetrier) Retry(ctx context.Context, retry int, req *http.Request, resp *http.Response, err error) (time.Duration, bool, error) { - atomic.AddInt64(&r.N, 1) - if r.Err != nil { - return 0, false, r.Err - } - return r.Retrier.Retry(ctx, retry, req, resp, err) -} - -func TestStopRetrier(t *testing.T) { - r := NewStopRetrier() - wait, ok, err := r.Retry(context.TODO(), 1, nil, nil, nil) - if want, got := 0*time.Second, wait; want != got { - t.Fatalf("expected %v, got %v", want, got) - } - if want, got := false, ok; want != got { - t.Fatalf("expected %v, got %v", want, got) - } - if err != nil { - t.Fatalf("expected nil, got %v", err) - } -} - -func TestRetrier(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} - - retrier := &testRetrier{ - Retrier: NewBackoffRetrier(NewSimpleBackoff(100, 100, 100, 100, 100)), - } - - client, err := NewClient( - SetHttpClient(httpClient), - SetMaxRetries(5), - SetHealthcheck(false), - SetRetrier(retrier)) - if err != nil { - t.Fatal(err) - } - - res, err := client.PerformRequest(context.TODO(), PerformRequestOptions{ - Method: "GET", - Path: "/fail", - }) - if err == nil { - t.Fatal("expected error") - } - if res != nil { - t.Fatal("expected no response") - } - // Connection should be marked as dead after it failed - if numFailedReqs != 5 { - t.Errorf("expected %d failed requests; got: %d", 5, numFailedReqs) - } - if retrier.N != 5 { - t.Errorf("expected %d Retrier calls; got: %d", 5, retrier.N) - } -} - -func TestRetrierWithError(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} - - kaboom := errors.New("kaboom") - retrier := &testRetrier{ - Err: kaboom, - Retrier: NewBackoffRetrier(NewSimpleBackoff(100, 100, 100, 100, 100)), - } - - client, err := NewClient( - SetHttpClient(httpClient), - SetMaxRetries(5), - SetHealthcheck(false), - SetRetrier(retrier)) - if err != nil { - t.Fatal(err) - } - - res, err := client.PerformRequest(context.TODO(), PerformRequestOptions{ - Method: "GET", - Path: "/fail", - }) - if err != kaboom { - t.Fatalf("expected %v, got %v", kaboom, err) - } - if res != nil { - t.Fatal("expected no response") - } - if numFailedReqs != 1 { - t.Errorf("expected %d failed requests; got: %d", 1, numFailedReqs) - } - if retrier.N != 1 { - 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) - } -} |