Skip to content

Commit

Permalink
Merge 0fb4555 into b995b9e
Browse files Browse the repository at this point in the history
  • Loading branch information
luu-alex committed Jan 30, 2023
2 parents b995b9e + 0fb4555 commit c60b376
Showing 1 changed file with 22 additions and 21 deletions.
43 changes: 22 additions & 21 deletions test/websocket.ganache.js
Original file line number Diff line number Diff line change
Expand Up @@ -458,8 +458,7 @@ describe('WebsocketProvider (ganache)', function () {
})
})

// This test fails - the logic running in reconnect timeout doesn't know about the disconnect?
it.skip('allows disconnection on lost connection, when reconnect is enabled', function () {
it('allows disconnection on lost connection, when reconnect is enabled', function () {
this.timeout(6000)
let stage = 0

Expand All @@ -479,14 +478,13 @@ describe('WebsocketProvider (ganache)', function () {
// Stay isolated, just in case
if (stage === 0){
await server.close()
web3.currentProvider.disconnect()
stage = 1
web3.currentProvider.disconnect(1012, 'close')
}
})

web3.currentProvider.on('error', function (error) {
assert(error.message.includes('Maximum number of reconnect attempts reached!'))
reject(new Error('Could not disconnect...'))
web3.currentProvider.on('close', function (err) {
assert(err.code, 1012)
resolve()
})
})
})
Expand Down Expand Up @@ -535,7 +533,7 @@ describe('WebsocketProvider (ganache)', function () {
web3.currentProvider.once('reconnect', async function () {
try {
await web3.eth.getBlockNumber()
assert.fail()
assert.fail();
} catch (err) {
assert(err.message.includes('Maximum number of reconnect attempts'))
resolve()
Expand All @@ -544,15 +542,13 @@ describe('WebsocketProvider (ganache)', function () {
})
})

//this fails, deferred promise is executed
//todo investigate
it.skip('queues requests made while connection is lost / executes on reconnect', function () {
it('queues requests made while connection is lost / executes on reconnect', function () {
this.timeout(10000);
let stage = 0;

return new Promise(async function (resolve) {
return new Promise(async function (resolve, reject) {
server = ganache.server(ganacheOptions);
server.listen(port);
await server.listen(port);

web3 = new Web3(
new Web3.providers.WebsocketProvider(
Expand All @@ -570,18 +566,23 @@ describe('WebsocketProvider (ganache)', function () {

setTimeout(async function(){
assert(stage === 1);

let blockNumber;
const deferred = web3.eth.getBlockNumber();

server = ganache.server(ganacheOptions);
await server.listen(port);

const blockNumber = await deferred;
assert(blockNumber === 0);

web3.currentProvider.removeAllListeners();
resolve();
},2500);
try {
blockNumber = await deferred;
} catch (error) {
reject();
}
if (blockNumber === undefined) {
reject();
}
},1000);
await server.close();
web3.currentProvider.removeAllListeners();
resolve();
});
});

Expand Down

0 comments on commit c60b376

Please sign in to comment.