system: add tests for fs usage route
This commit is contained in:
@@ -6,12 +6,10 @@ const apps = require('../../apps.js'),
|
||||
constants = require('../../constants.js'),
|
||||
database = require('../../database.js'),
|
||||
expect = require('expect.js'),
|
||||
fs = require('fs'),
|
||||
mailer = require('../../mailer.js'),
|
||||
nock = require('nock'),
|
||||
oidcClients = require('../../oidcclients.js'),
|
||||
oidcServer = require('../../oidcserver.js'),
|
||||
safe = require('safetydance'),
|
||||
server = require('../../server.js'),
|
||||
settings = require('../../settings.js'),
|
||||
superagent = require('@cloudron/superagent'),
|
||||
@@ -54,6 +52,7 @@ exports = module.exports = {
|
||||
clearMailQueue,
|
||||
checkMails,
|
||||
waitForTask,
|
||||
waitForAsyncTask,
|
||||
|
||||
owner: {
|
||||
id: null,
|
||||
@@ -179,6 +178,7 @@ async function cleanup() {
|
||||
debug('Cleaning up');
|
||||
await server.stop();
|
||||
await oidcServer.stop();
|
||||
if (!nock.isActive()) nock.activate();
|
||||
debug('Cleaned up');
|
||||
}
|
||||
|
||||
@@ -207,3 +207,25 @@ async function waitForTask(taskId) {
|
||||
}
|
||||
throw new Error(`Task ${taskId} never finished`);
|
||||
}
|
||||
|
||||
async function waitForAsyncTask(es) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const messages = [];
|
||||
es.addEventListener('message', function (message) {
|
||||
debug(`waitForAsyncTask: ${message.data}`);
|
||||
messages.push(JSON.parse(message.data));
|
||||
if (messages[messages.length-1].type === 'done') {
|
||||
debug('waitForAsyncTask: finished');
|
||||
es.close();
|
||||
resolve(messages);
|
||||
}
|
||||
});
|
||||
es.addEventListener('error', function (error) {
|
||||
debug('waitForAsyncTask: errored', error);
|
||||
es.close();
|
||||
const e = new Error(error.message);
|
||||
e.code = error.code;
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user