diff options
Diffstat (limited to 'vendor/gopkg.in/olivere/elastic.v5/retry_test.go')
-rw-r--r-- | vendor/gopkg.in/olivere/elastic.v5/retry_test.go | 44 |
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) + } +} |