CartoDB-SQL-API/test/unit/batch/job_publisher.js

38 lines
1.1 KiB
JavaScript
Raw Normal View History

2016-10-13 00:44:46 +08:00
var Channel = require('../../../batch/pubsub/channel');
2016-10-12 00:28:46 +08:00
var JobPublisher = require('../../../batch/pubsub/job-publisher');
2016-01-23 02:31:25 +08:00
var assert = require('assert');
describe('batch API job publisher', function () {
beforeEach(function () {
var self = this;
this.host = 'irrelevantHost';
this.redis = {
createClient: function () {
return this;
},
publish: function () {
2016-10-13 00:44:46 +08:00
var isValidFirstArg = arguments[0] === Channel.NAME;
2016-01-23 02:31:25 +08:00
var isValidSecondArg = arguments[1] === self.host;
self.redis.publishIsCalledWithValidArgs = isValidFirstArg && isValidSecondArg;
},
on: function () {},
ping: function (cb) {
cb();
2016-01-23 02:31:25 +08:00
}
};
this.pool = {
acquire: function (db, cb) {
cb(null, self.redis);
}
};
2016-01-23 02:31:25 +08:00
this.jobPublisher = new JobPublisher(this.pool);
2016-01-23 02:31:25 +08:00
});
it('.publish() should publish new messages', function () {
this.jobPublisher.publish(this.host);
assert.ok(this.redis.publishIsCalledWithValidArgs);
});
});