Skip to content

Commit

Permalink
try to test new logic
Browse files Browse the repository at this point in the history
  • Loading branch information
icebob committed May 3, 2017
1 parent e685052 commit 89dcee0
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 7 deletions.
2 changes: 1 addition & 1 deletion benchmark/perf-runner.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ let [b1, b2] = createBrokers(Transporters.Fake);
let count = 0;
function doRequest() {
count++;
return b2.call("echo.reply", { a: count }).then(res => {
return b1.call("echo.reply", { a: count }).then(res => {
//return b2.call("echo.get", { id: 5 }).then(res => {
if (count % 10000) {
// Fast cycle
Expand Down
2 changes: 1 addition & 1 deletion examples/multi-server/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ let chalk = require("chalk");

let { STRATEGY_ROUND_ROBIN, STRATEGY_RANDOM } = require("../../src/constants");
let ServiceBroker = require("../../src/service-broker");
let NatsTransporter = require("../../src/transporters/mqtt");
let NatsTransporter = require("../../src/transporters/nats");

// Create broker
let broker = new ServiceBroker({
Expand Down
2 changes: 1 addition & 1 deletion examples/multi-server/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
let _ = require("lodash");
let ServiceBroker = require("../../src/service-broker");
let { CustomError } = require("../../src/errors");
let NatsTransporter = require("../../src/transporters/mqtt");
let NatsTransporter = require("../../src/transporters/nats");

// Create broker
let broker = new ServiceBroker({
Expand Down
6 changes: 5 additions & 1 deletion src/transit.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,22 @@ class Transit {
this.heartbeatTimer = null;
this.checkNodesTimer = null;

this.tx.init(this, this.messageHandler.bind(this));
if (this.tx)
this.tx.init(this, this.messageHandler.bind(this));

this.__connectResolve = null;
}

afterConnect(wasReconnect) {
return Promise.resolve()

.then(() => {
if (!wasReconnect)
this.makeSubscriptions();
})

.then(() => this.discoverNodes())

.then(() => {
if (this.__connectResolve) {
this.__connectResolve();
Expand Down
1 change: 1 addition & 0 deletions src/transporters/mqtt.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ class MqttTransporter extends Transporter {
return new Promise((resolve, reject) => {
const mqtt = require("mqtt");
const client = mqtt.connect(this.opts.mqtt);
this._client = client; // For tests

client.on("connect", () => {
this.client = client;
Expand Down
26 changes: 25 additions & 1 deletion test/unit/transporters/base.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const ServiceBroker = require("../../../src/service-broker");
const Transit = require("../../../src/transit");
const BaseTransporter = require("../../../src/transporters/base");


Expand All @@ -13,6 +14,7 @@ describe("Test BaseTransporter", () => {

expect(trans.init).toBeDefined();
expect(trans.connect).toBeDefined();
expect(trans.onConnected).toBeDefined();
expect(trans.disconnect).toBeDefined();
expect(trans.subscribe).toBeDefined();
expect(trans.publish).toBeDefined();
Expand All @@ -29,12 +31,34 @@ describe("Test BaseTransporter", () => {
it("check init", () => {
let broker = new ServiceBroker({ nodeID: "server1" });
let trans = new BaseTransporter();
let transit = new Transit(broker, trans);
let handler = jest.fn();

trans.init(broker, handler);
trans.init(transit, handler);
expect(trans.transit).toBe(transit);
expect(trans.broker).toBe(broker);
expect(trans.nodeID).toBe("server1");
expect(trans.logger).toBeDefined();
expect(trans.messageHandler).toBe(handler);
});

it("check onConnected", () => {
let broker = new ServiceBroker({ nodeID: "server1" });
let trans = new BaseTransporter();
let transit = new Transit(broker, trans);
transit.afterConnect = jest.fn();

expect(trans.connected).toBe(false);

trans.init(transit);

trans.onConnected();
expect(trans.connected).toBe(true);
expect(transit.afterConnect).toHaveBeenCalledTimes(1);

transit.afterConnect.mockClear();
trans.onConnected(true);
expect(transit.afterConnect).toHaveBeenCalledTimes(1);
expect(transit.afterConnect).toHaveBeenCalledWith(true);
});
});
6 changes: 4 additions & 2 deletions test/unit/transporters/mqtt.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const ServiceBroker = require("../../../src/service-broker");
const Transit = require("../../../src/transit");
const MqttTransporter = require("../../../src/transporters/mqtt");
const { PacketInfo } = require("../../../src/packets");

Expand Down Expand Up @@ -42,12 +43,13 @@ describe("Test NatsTransporter constructor", () => {

describe("Test MqttTransporter connect & disconnect", () => {
let broker = new ServiceBroker();
let transit = new Transit(broker);
let msgHandler = jest.fn();
let trans;

beforeEach(() => {
trans = new MqttTransporter();
trans.init(broker, msgHandler);
trans.init(transit, msgHandler);
});

it("check connect", () => {
Expand All @@ -61,7 +63,7 @@ describe("Test MqttTransporter connect & disconnect", () => {
expect(trans.client.on).toHaveBeenCalledWith("message", jasmine.any(Function));
});

trans.client.onCallbacks.connect(); // Trigger the `resolve`
trans._client.onCallbacks.connect(); // Trigger the `resolve`

return p;
});
Expand Down

0 comments on commit 89dcee0

Please sign in to comment.