Fix failing test on blockchain

This commit is contained in:
Andre Medeiros 2018-07-11 11:38:58 -04:00
parent 6abbcad243
commit 21da13ab69
4 changed files with 21 additions and 7 deletions

View File

@ -88,12 +88,21 @@ Blockchain.prototype.setupProxy = function() {
let ipcObject = new Ipc({ipcRole: 'client'});
proxy.serve(ipcObject, this.config.rpcHost, this.config.rpcPort, false);
proxy.serve(ipcObject, this.config.wsHost, this.config.wsPort, true);
this.rpcProxy = proxy.serve(ipcObject, this.config.rpcHost, this.config.rpcPort, false);
this.wsProxy = proxy.serve(ipcObject, this.config.wsHost, this.config.wsPort, true);
this.config.rpcPort += constants.blockchain.servicePortOnProxy;
this.config.wsPort += constants.blockchain.servicePortOnProxy;
};
Blockchain.prototype.shutdownProxy = function() {
if (!this.config.proxy) {
return;
}
this.rpcProxy.close();
this.wsProxy.close();
}
Blockchain.prototype.runCommand = function(cmd, options, callback) {
console.log(__("running: %s", cmd.underline).green);
if (this.blockchainConfig.silent) {
@ -204,6 +213,8 @@ Blockchain.prototype.readyCallback = function() {
};
Blockchain.prototype.kill = function() {
this.shutdownProxy();
if (this.child) {
this.child.kill();
}

View File

@ -3,7 +3,7 @@ const http = require('http');
const constants = require('../constants.json');
let commList = {};
let transactions = {};
let transactions = {};
let receipts = {};
const parseRequest = function(reqBody){
@ -42,7 +42,7 @@ const parseResponse = function(ipc, resBody){
commList[receipts[jsonO.id]].blockNumber = jsonO.result.blockNumber;
commList[receipts[jsonO.id]].gasUsed = jsonO.result.gasUsed;
commList[receipts[jsonO.id]].status = jsonO.result.status;
if(ipc.connected && !ipc.connecting){
ipc.request('log', commList[receipts[jsonO.id]]);
} else {
@ -109,16 +109,17 @@ exports.serve = function(ipc, host, port, ws){
parseResponse(ipc, data.toString().substr(data.indexOf("{")));
});
});
proxy.on('proxyReqWs', (proxyReq, req, socket) => {
var parser = new WsParser(0, false);
socket.pipe(parser);
parser.on('frame', function (frame) {
parseRequest(frame.data);
});
});
}
server.listen(port);
return server;
};

View File

@ -50,6 +50,7 @@ describe('embark.Blockchain', function () {
config.rpcPort += constants.blockchain.servicePortOnProxy;
}
assert.deepEqual(blockchain.config, config);
blockchain.kill();
done();
});
});
@ -94,6 +95,7 @@ describe('embark.Blockchain', function () {
}
assert.deepEqual(blockchain.config, config);
blockchain.kill();
done();
});
});

View File

@ -1,7 +1,7 @@
/*global describe, it, before, beforeEach*/
const assert = require('assert');
const sinon = require('sinon');
const TestLogger = require('../lib/tests/test_logger.js');
const TestLogger = require('../lib/tests/test_logger');
const ProcessLauncher = require('../lib/process/processLauncher');
describe('ProcessWrapper', () => {