Make tasks indexed by id instead of type

The caas migrate logic is broken at this point until it uses new
task framework
This commit is contained in:
Girish Ramakrishnan
2018-12-08 18:50:06 -08:00
parent cfb68a0511
commit d8225ad653
12 changed files with 174 additions and 107 deletions

View File

@@ -21,6 +21,7 @@ var appdb = require('../appdb.js'),
mailboxdb = require('../mailboxdb.js'),
maildb = require('../maildb.js'),
settingsdb = require('../settingsdb.js'),
taskdb = require('../taskdb.js'),
tokendb = require('../tokendb.js'),
userdb = require('../userdb.js'),
_ = require('underscore');
@@ -1098,6 +1099,56 @@ describe('database', function () {
});
});
describe('tasks', function () {
let taskId;
let TASK = {
type: 'tasktype',
args: { x: 1 },
percent: 0,
message: 'starting task'
};
it('add succeeds', function (done) {
taskdb.add(TASK, function (error, id) {
expect(error).to.be(null);
expect(id).to.be.ok();
taskId = id;
done();
});
});
it('get succeeds', function (done) {
taskdb.get(taskId, function (error, task) {
expect(error).to.be(null);
expect(_.pick(task, Object.keys(TASK))).to.eql(TASK);
done();
});
});
it('update succeeds', function (done) {
TASK.percent = 34;
TASK.message = 'almost ther';
taskdb.update(taskId, { percent: TASK.percent, message: TASK.message }, function (error) {
expect(error).to.be(null);
taskdb.get(taskId, function (error, task) {
expect(_.pick(task, Object.keys(TASK))).to.eql(TASK);
done();
});
});
});
it('del succeeds', function (done) {
taskdb.del(taskId, function (error) {
expect(error).to.be(null);
taskdb.get(taskId, function (error) {
expect(error.reason).to.be(DatabaseError.NOT_FOUND);
done();
});
});
});
});
describe('client', function () {
var CLIENT_0 = {
id: 'cid-0',