mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-27 23:55:49 +00:00
BREAKING CHANGE: removed 'timeout' method of Request
added default timeout to Request - will emit 'timeout' event
and RippleError('tejTimeout') to callback
This commit is contained in:
@@ -65,6 +65,38 @@ describe('Request', function() {
|
||||
|
||||
});
|
||||
|
||||
it('Send request - reconnect', function(done) {
|
||||
const server = makeServer('wss://localhost:5006');
|
||||
let emitted = 0;
|
||||
|
||||
const remote = new Remote();
|
||||
remote._connected = true;
|
||||
remote._servers = [server];
|
||||
|
||||
server._request = function(req) {
|
||||
assert(req instanceof Request);
|
||||
assert.strictEqual(typeof req.message, 'object');
|
||||
assert.strictEqual(req.message.command, 'server_info');
|
||||
if (++emitted === 1) {
|
||||
setTimeout(function() {
|
||||
remote.emit('connected');
|
||||
}, 2);
|
||||
} if (emitted === 2) {
|
||||
setTimeout(function() {
|
||||
req.emit('success', SERVER_INFO);
|
||||
req.emit('response', SERVER_INFO);
|
||||
}, 2);
|
||||
}
|
||||
};
|
||||
|
||||
const request = new Request(remote, 'server_info');
|
||||
|
||||
request.callback(function() {
|
||||
assert.strictEqual(emitted, 2);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('Send request -- filterRequest', function(done) {
|
||||
const servers = [
|
||||
makeServer('wss://localhost:5006'),
|
||||
@@ -538,6 +570,7 @@ describe('Request', function() {
|
||||
setTimeout(function() {
|
||||
successEmitted = true;
|
||||
req.emit('success', SERVER_INFO);
|
||||
req.emit('response', SERVER_INFO);
|
||||
}, 200);
|
||||
};
|
||||
|
||||
@@ -546,8 +579,9 @@ describe('Request', function() {
|
||||
remote._servers = [server];
|
||||
|
||||
const request = new Request(remote, 'server_info');
|
||||
request.setTimeout(10);
|
||||
|
||||
request.timeout(10, function() {
|
||||
request.on('timeout', function() {
|
||||
setTimeout(function() {
|
||||
assert(successEmitted);
|
||||
done();
|
||||
@@ -568,7 +602,8 @@ describe('Request', function() {
|
||||
assert.strictEqual(req.message.command, 'server_info');
|
||||
setTimeout(function() {
|
||||
req.emit('success', SERVER_INFO);
|
||||
}, 200);
|
||||
req.emit('response', SERVER_INFO);
|
||||
}, 20);
|
||||
};
|
||||
|
||||
const remote = new Remote();
|
||||
@@ -583,13 +618,15 @@ describe('Request', function() {
|
||||
timedOut = true;
|
||||
});
|
||||
|
||||
request.timeout(1000);
|
||||
request.setTimeout(100);
|
||||
|
||||
request.callback(function(err, res) {
|
||||
assert(!timedOut);
|
||||
assert.ifError(err);
|
||||
assert.deepEqual(res, SERVER_INFO);
|
||||
done();
|
||||
setTimeout(function() {
|
||||
assert(!timedOut, 'must not timeout');
|
||||
assert.ifError(err);
|
||||
assert.deepEqual(res, SERVER_INFO);
|
||||
done();
|
||||
}, 100);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user