Skip to content

Commit

Permalink
Add unit test coverage for _setZookeeper
Browse files Browse the repository at this point in the history
Issue : BB-542
  • Loading branch information
benzekrimaha committed Oct 18, 2024
1 parent a866be4 commit 1c59b2c
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions tests/unit/api/BackbeatAPI.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
const assert = require('assert');
const redis = require('ioredis');
const sinon = require('sinon');

const BackbeatAPI = require('../../../lib/api/BackbeatAPI');
const BackbeatRequest = require('../../../lib/api/BackbeatRequest');
Expand All @@ -19,6 +21,14 @@ describe('BackbeatAPI', () => {
before(() => {
setupIngestionSiteMock();
bbapi = new BackbeatAPI(config, fakeLogger, { timer: true });

sinon.stub(redis.prototype, 'connect').returns(Promise.resolve());
sinon.stub(redis.prototype, 'on').returnsThis();
sinon.stub(redis.prototype, 'quit').returns(Promise.resolve());
});

after(() => {
sinon.restore();
});

// valid routes
Expand Down Expand Up @@ -210,4 +220,40 @@ describe('BackbeatAPI', () => {
assert.deepStrictEqual(sites, params.expected);
});
});

describe('_setZookeeper', () => {
let zkManagerArgs;
class MockZookeeperManager {
constructor(url, options, logger) {
zkManagerArgs = { url, options, logger };
this.once = sinon.stub().callsFake((event, callback) => {
if (event === 'connected') {
callback();
}
});
this.removeAllListeners = sinon.stub();
}
}

after(() => {
sinon.restore();
});

it('should use connectionString directly if this._queuePopulator.mongo exists', done => {
bbapi._setZookeeper(() => {
assert(zkManagerArgs);
assert.strictEqual(zkManagerArgs.url, '127.0.0.1:2181');
done();
}, MockZookeeperManager);
});

it('should append zookeeperPath to connectionString if this._queuePopulator.mongo does not exist', done => {
delete bbapi._queuePopulator.mongo;
bbapi._setZookeeper(() => {
assert(zkManagerArgs);
assert.strictEqual(zkManagerArgs.url, '127.0.0.1:2181/backbeat/test/queue-populator');
done();
}, MockZookeeperManager);
});
});
});

0 comments on commit 1c59b2c

Please sign in to comment.