|
@@ -2,9 +2,10 @@ import { expect } from 'chai';
|
|
|
import { Client } from '../../../src/models/client';
|
|
|
import { Realm } from '../../../src/models/realm';
|
|
|
import { CheckBrokenConnections } from '../../../src/services/checkBrokenConnections';
|
|
|
+import { wait } from '../../utils';
|
|
|
|
|
|
describe('checkBrokenConnections service', () => {
|
|
|
- it('should remove client after 2 checks', (done) => {
|
|
|
+ it('should remove client after 2 checks', async () => {
|
|
|
const realm = new Realm();
|
|
|
const doubleCheckTime = 55;//~ equals to checkBrokenConnections.checkInterval * 2
|
|
|
const checkBrokenConnections = new CheckBrokenConnections({ realm, config: { alive_timeout: doubleCheckTime }, checkInterval: 30 });
|
|
@@ -13,14 +14,14 @@ describe('checkBrokenConnections service', () => {
|
|
|
|
|
|
checkBrokenConnections.start();
|
|
|
|
|
|
- setTimeout(() => {
|
|
|
- expect(realm.getClientById('id')).to.be.undefined;
|
|
|
- checkBrokenConnections.stop();
|
|
|
- done();
|
|
|
- }, checkBrokenConnections.checkInterval * 2 + 30);
|
|
|
+ await wait(checkBrokenConnections.checkInterval * 2 + 30);
|
|
|
+
|
|
|
+ expect(realm.getClientById('id')).to.be.undefined;
|
|
|
+
|
|
|
+ checkBrokenConnections.stop();
|
|
|
});
|
|
|
|
|
|
- it('should remove client after 1 ping', (done) => {
|
|
|
+ it('should remove client after 1 ping', async () => {
|
|
|
const realm = new Realm();
|
|
|
const doubleCheckTime = 55;//~ equals to checkBrokenConnections.checkInterval * 2
|
|
|
const checkBrokenConnections = new CheckBrokenConnections({ realm, config: { alive_timeout: doubleCheckTime }, checkInterval: 30 });
|
|
@@ -30,14 +31,14 @@ describe('checkBrokenConnections service', () => {
|
|
|
checkBrokenConnections.start();
|
|
|
|
|
|
//set ping after first check
|
|
|
- setTimeout(() => {
|
|
|
- client.setLastPing(new Date().getTime());
|
|
|
-
|
|
|
- setTimeout(() => {
|
|
|
- expect(realm.getClientById('id')).to.be.undefined;
|
|
|
- checkBrokenConnections.stop();
|
|
|
- done();
|
|
|
- }, checkBrokenConnections.checkInterval * 2 + 10);
|
|
|
- }, checkBrokenConnections.checkInterval);
|
|
|
+ await wait(checkBrokenConnections.checkInterval);
|
|
|
+
|
|
|
+ client.setLastPing(new Date().getTime());
|
|
|
+
|
|
|
+ await wait(checkBrokenConnections.checkInterval * 2 + 10);
|
|
|
+
|
|
|
+ expect(realm.getClientById('id')).to.be.undefined;
|
|
|
+
|
|
|
+ checkBrokenConnections.stop();
|
|
|
});
|
|
|
});
|