@nebulae/backend-node-tools
Version:
Tools collection for NebulaE Microservices Node Backends
50 lines (40 loc) • 1.47 kB
JavaScript
// TEST LIBS
const assert = require('assert');
const should = require('chai').should();
const expect = require('chai').expect;
const { of } = require('rxjs');
const { map, concatAll, mergeMap, concatMap, take, toArray, reduce } = require('rxjs/operators');
//LIBS FOR TESTING
const { brokerFactory } = require('../../lib/broker');
describe('BROKER', function () {
describe('BrokerFactory', function () {
it('Invalid broker type', function () {
const broker = brokerFactory();
expect(broker).to.be.undefined;
});
it('mqtt', function () {
const broker = brokerFactory('MQTT');
expect(broker).to.not.be.undefined;
expect(broker.send$).to.not.be.undefined;
});
it('pubsub', function () {
const broker = brokerFactory('PUBSUB');
expect(broker).to.not.be.undefined;
expect(broker.send$).to.not.be.undefined;
});
it('multiton test', function () {
const broker1 = brokerFactory('MQTT');
const broker2 = brokerFactory('MQTT');
const broker3 = brokerFactory('PUBSUB');
expect(broker1).to.not.be.undefined;
expect(broker1.send$).to.not.be.undefined;
expect(broker2).to.not.be.undefined;
expect(broker2.send$).to.not.be.undefined;
expect(broker3).to.not.be.undefined;
expect(broker3.send$).to.not.be.undefined;
expect(broker1 === broker2).to.be.true;
expect(broker1 === broker3).to.be.false;
});
});
});