mock-node-nats
This is a small mocking library aimed at facilitating tests of our NATS-connected services.
It exposes a NATS
class based on the API provided by node-nats
. It maintains an in-memory "bus" shared accross the class' instances.
NB: This is very much a work in progress that fits our particular current needs. Additional development is needed to mock the node-nats
API more faithfully, e.g. supporting options, completing the signatures of existing methods, etc.
Installation
npm install @sensorfactdev/mock-node-nats
Usage
const NATS = require(@sensorfactdev/mock-node-nats);
const nats = NATS.connect();
nats.publish('subject', 'message!');
nats.subscribe('subject', msg => {
console.log(`Received a message: ${msg}`);
});
const sid = nats.subscribe('subject', msg => {});
nats.unsubscribe(sid);
const sid = nats.request('request', res => {
console.log(`Received a message: ${res}`););
});
const subs = nats.subs;
nats.close();