summaryrefslogtreecommitdiffstats
path: root/vendor/gopkg.in/olivere/elastic.v5/retry_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gopkg.in/olivere/elastic.v5/retry_test.go')
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/retry_test.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/gopkg.in/olivere/elastic.v5/retry_test.go b/vendor/gopkg.in/olivere/elastic.v5/retry_test.go
new file mode 100644
index 000000000..14ebbb835
--- /dev/null
+++ b/vendor/gopkg.in/olivere/elastic.v5/retry_test.go
@@ -0,0 +1,44 @@
+// 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.
+
+// This file is based on code that is (c) 2014 Cenk Altı and governed
+// by the MIT license.
+// See https://github.com/cenkalti/backoff for original source.
+
+package elastic
+
+import (
+ "errors"
+ "testing"
+ "time"
+)
+
+func TestRetry(t *testing.T) {
+ const successOn = 3
+ var i = 0
+
+ // This function is successfull on "successOn" calls.
+ f := func() error {
+ i++
+ t.Logf("function is called %d. time\n", i)
+
+ if i == successOn {
+ t.Log("OK")
+ return nil
+ }
+
+ t.Log("error")
+ return errors.New("error")
+ }
+
+ min := time.Duration(8) * time.Millisecond
+ max := time.Duration(256) * time.Millisecond
+ err := Retry(f, NewExponentialBackoff(min, max))
+ if err != nil {
+ t.Errorf("unexpected error: %s", err.Error())
+ }
+ if i != successOn {
+ t.Errorf("invalid number of retries: %d", i)
+ }
+}