add timeout parameter to client socket

This commit is contained in:
nitowa
2021-07-28 02:07:21 +02:00
parent 9f53abe0e3
commit bf96f9007f
8 changed files with 54 additions and 22 deletions
+14 -2
View File
@@ -9,8 +9,12 @@ import * as fetch from 'node-fetch';
import { PromiseIO } from "../src/PromiseIO/Server";
import { PromiseIOClient } from "../src/PromiseIO/Client";
import { assert, expect } from 'chai';
import { USER_DEFINED_TIMEOUT } from "../src/Strings";
var should = require('chai').should();
var chai = require("chai");
var chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);
const noop = (...args) => { }
const add = (...args: number[]) => { return args.reduce((a, b) => a + b, 0) }
@@ -311,6 +315,7 @@ describe('can attach multiple RPCServers to same http server', () => {
],
}
]
const callTimeout = 100;
let client: RPCSocket, client2: RPCSocket, server: RPCServer, server2: RPCServer
@@ -334,7 +339,7 @@ describe('can attach multiple RPCServers to same http server', () => {
new RPCSocket(8080, 'localhost').connect().then(sock => {
client = sock
new RPCSocket(8080, 'localhost', { path: "test" }).connect().then(sock2 => {
new RPCSocket(8080, 'localhost', { path: "test", callTimeoutMs: callTimeout }).connect().then(sock2 => {
client2 = sock2
done()
})
@@ -356,6 +361,13 @@ describe('can attach multiple RPCServers to same http server', () => {
const res2 = await client2['Grp2'].test()
expect(res2).to.equal('/test')
})
it('server1 should answer after server2 is closed', async () => {
server2.close()
const res = await client['HelloWorldRPCGroup'].echo("test")
expect(res).to.equal('test')
return client2['Grp2'].test().should.eventually.be.rejectedWith(USER_DEFINED_TIMEOUT(callTimeout))
})
})
describe("can attach second RPCServer if first is already running", () => {