You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.7 KiB
69 lines
1.7 KiB
var common = require('../common'); |
|
var assert = common.assert; |
|
var retry = require(common.dir.lib + '/retry'); |
|
|
|
(function testDefaultValues() { |
|
var timeouts = retry.timeouts(); |
|
|
|
assert.equal(timeouts.length, 10); |
|
assert.equal(timeouts[0], 1000); |
|
assert.equal(timeouts[1], 2000); |
|
assert.equal(timeouts[2], 4000); |
|
})(); |
|
|
|
(function testDefaultValuesWithRandomize() { |
|
var minTimeout = 5000; |
|
var timeouts = retry.timeouts({ |
|
minTimeout: minTimeout, |
|
randomize: true |
|
}); |
|
|
|
assert.equal(timeouts.length, 10); |
|
assert.ok(timeouts[0] > minTimeout); |
|
assert.ok(timeouts[1] > timeouts[0]); |
|
assert.ok(timeouts[2] > timeouts[1]); |
|
})(); |
|
|
|
(function testPassedTimeoutsAreUsed() { |
|
var timeoutsArray = [1000, 2000, 3000]; |
|
var timeouts = retry.timeouts(timeoutsArray); |
|
assert.deepEqual(timeouts, timeoutsArray); |
|
assert.notStrictEqual(timeouts, timeoutsArray); |
|
})(); |
|
|
|
(function testTimeoutsAreWithinBoundaries() { |
|
var minTimeout = 1000; |
|
var maxTimeout = 10000; |
|
var timeouts = retry.timeouts({ |
|
minTimeout: minTimeout, |
|
maxTimeout: maxTimeout |
|
}); |
|
for (var i = 0; i < timeouts; i++) { |
|
assert.ok(timeouts[i] >= minTimeout); |
|
assert.ok(timeouts[i] <= maxTimeout); |
|
} |
|
})(); |
|
|
|
(function testTimeoutsAreIncremental() { |
|
var timeouts = retry.timeouts(); |
|
var lastTimeout = timeouts[0]; |
|
for (var i = 0; i < timeouts; i++) { |
|
assert.ok(timeouts[i] > lastTimeout); |
|
lastTimeout = timeouts[i]; |
|
} |
|
})(); |
|
|
|
(function testTimeoutsAreIncrementalForFactorsLessThanOne() { |
|
var timeouts = retry.timeouts({ |
|
retries: 3, |
|
factor: 0.5 |
|
}); |
|
|
|
var expected = [250, 500, 1000]; |
|
assert.deepEqual(expected, timeouts); |
|
})(); |
|
|
|
(function testRetries() { |
|
var timeouts = retry.timeouts({retries: 2}); |
|
assert.strictEqual(timeouts.length, 2); |
|
})();
|
|
|