[6a3a178] | 1 | var common = require('../common');
|
---|
| 2 | var assert = common.assert;
|
---|
| 3 | var retry = require(common.dir.lib + '/retry');
|
---|
| 4 |
|
---|
| 5 | (function testDefaultValues() {
|
---|
| 6 | var timeouts = retry.timeouts();
|
---|
| 7 |
|
---|
| 8 | assert.equal(timeouts.length, 10);
|
---|
| 9 | assert.equal(timeouts[0], 1000);
|
---|
| 10 | assert.equal(timeouts[1], 2000);
|
---|
| 11 | assert.equal(timeouts[2], 4000);
|
---|
| 12 | })();
|
---|
| 13 |
|
---|
| 14 | (function testDefaultValuesWithRandomize() {
|
---|
| 15 | var minTimeout = 5000;
|
---|
| 16 | var timeouts = retry.timeouts({
|
---|
| 17 | minTimeout: minTimeout,
|
---|
| 18 | randomize: true
|
---|
| 19 | });
|
---|
| 20 |
|
---|
| 21 | assert.equal(timeouts.length, 10);
|
---|
| 22 | assert.ok(timeouts[0] > minTimeout);
|
---|
| 23 | assert.ok(timeouts[1] > timeouts[0]);
|
---|
| 24 | assert.ok(timeouts[2] > timeouts[1]);
|
---|
| 25 | })();
|
---|
| 26 |
|
---|
| 27 | (function testPassedTimeoutsAreUsed() {
|
---|
| 28 | var timeoutsArray = [1000, 2000, 3000];
|
---|
| 29 | var timeouts = retry.timeouts(timeoutsArray);
|
---|
| 30 | assert.deepEqual(timeouts, timeoutsArray);
|
---|
| 31 | assert.notStrictEqual(timeouts, timeoutsArray);
|
---|
| 32 | })();
|
---|
| 33 |
|
---|
| 34 | (function testTimeoutsAreWithinBoundaries() {
|
---|
| 35 | var minTimeout = 1000;
|
---|
| 36 | var maxTimeout = 10000;
|
---|
| 37 | var timeouts = retry.timeouts({
|
---|
| 38 | minTimeout: minTimeout,
|
---|
| 39 | maxTimeout: maxTimeout
|
---|
| 40 | });
|
---|
| 41 | for (var i = 0; i < timeouts; i++) {
|
---|
| 42 | assert.ok(timeouts[i] >= minTimeout);
|
---|
| 43 | assert.ok(timeouts[i] <= maxTimeout);
|
---|
| 44 | }
|
---|
| 45 | })();
|
---|
| 46 |
|
---|
| 47 | (function testTimeoutsAreIncremental() {
|
---|
| 48 | var timeouts = retry.timeouts();
|
---|
| 49 | var lastTimeout = timeouts[0];
|
---|
| 50 | for (var i = 0; i < timeouts; i++) {
|
---|
| 51 | assert.ok(timeouts[i] > lastTimeout);
|
---|
| 52 | lastTimeout = timeouts[i];
|
---|
| 53 | }
|
---|
| 54 | })();
|
---|
| 55 |
|
---|
| 56 | (function testTimeoutsAreIncrementalForFactorsLessThanOne() {
|
---|
| 57 | var timeouts = retry.timeouts({
|
---|
| 58 | retries: 3,
|
---|
| 59 | factor: 0.5
|
---|
| 60 | });
|
---|
| 61 |
|
---|
| 62 | var expected = [250, 500, 1000];
|
---|
| 63 | assert.deepEqual(expected, timeouts);
|
---|
| 64 | })();
|
---|
| 65 |
|
---|
| 66 | (function testRetries() {
|
---|
| 67 | var timeouts = retry.timeouts({retries: 2});
|
---|
| 68 | assert.strictEqual(timeouts.length, 2);
|
---|
| 69 | })();
|
---|