CartoDB-SQL-API/test/unit/batch/job_queue.js
2016-01-22 19:31:25 +01:00

42 lines
1.3 KiB
JavaScript

var JobQueue = require('../../../batch/job_queue');
var assert = require('assert');
describe('batch API job queue', function () {
beforeEach(function () {
this.metadataBackend = {
redisCmd: function () {
var callback = arguments[arguments.length -1];
process.nextTick(function () {
callback(null, 'irrelevantJob');
});
}
};
this.jobQueue = new JobQueue(this.metadataBackend);
});
it('.enqueue() should enqueue the provided job', function (done) {
this.jobQueue.enqueue('irrelevantJob', 'irrelevantHost', function (err, username) {
assert.ok(!err);
assert.equal(username, 'irrelevantJob');
done();
});
});
it('.dequeue() should dequeue the next job', function (done) {
this.jobQueue.dequeue('irrelevantHost', function (err, username) {
assert.ok(!err);
assert.equal(username, 'irrelevantJob');
done();
});
});
it('.enqueueFirst() should dequeue the next job', function (done) {
this.jobQueue.enqueueFirst('irrelevantJob', 'irrelevantHost', function (err, username) {
assert.ok(!err);
assert.equal(username, 'irrelevantJob');
done();
});
});
});