system: add disk usage task
This commit is contained in:
@@ -14,7 +14,6 @@ const apps = require('../apps.js'),
|
||||
mailServer = require('../mailserver.js'),
|
||||
nock = require('nock'),
|
||||
path = require('path'),
|
||||
paths = require('../paths.js'),
|
||||
settings = require('../settings.js'),
|
||||
tasks = require('../tasks.js'),
|
||||
timers = require('timers/promises'),
|
||||
@@ -229,7 +228,6 @@ async function domainSetup() {
|
||||
}
|
||||
|
||||
async function setup() {
|
||||
await fs.promises.rm(paths.DISK_USAGE_CACHE_FILE, { force: true });
|
||||
await domainSetup();
|
||||
const ownerId = await users.createOwner(admin.email, admin.username, admin.password, admin.displayName, auditSource);
|
||||
admin.id = ownerId;
|
||||
|
||||
@@ -24,9 +24,9 @@ describe('System', function () {
|
||||
// does not work on archlinux 8!
|
||||
if (require('child_process').execSync('uname -a').toString().indexOf('-arch') !== -1) return;
|
||||
|
||||
const disks = await system.getFilesystems();
|
||||
expect(disks).to.be.ok();
|
||||
expect(Object.keys(disks).some(fs => disks[fs].mountpoint === '/')).to.be.ok();
|
||||
const filesystems = await system.getFilesystems();
|
||||
expect(filesystems).to.be.ok();
|
||||
expect(Object.keys(filesystems).some(fs => filesystems[fs].mountpoint === '/')).to.be.ok();
|
||||
});
|
||||
|
||||
it('can get swaps', async function () {
|
||||
@@ -57,6 +57,16 @@ describe('System', function () {
|
||||
expect(cpus[0].model).to.be.a('string');
|
||||
});
|
||||
|
||||
it('can get ubuntu version', async function () {
|
||||
const v = await system.getUbuntuVersion();
|
||||
expect(v).to.be.ok();
|
||||
});
|
||||
|
||||
it('can get kernel version', async function () {
|
||||
const v = await system.getKernelVersion();
|
||||
expect(v).to.be.ok();
|
||||
});
|
||||
|
||||
it('can get info', async function () {
|
||||
const info = await system.getInfo();
|
||||
|
||||
@@ -66,19 +76,20 @@ describe('System', function () {
|
||||
expect(info.rebootRequired).to.be.a('boolean');
|
||||
});
|
||||
|
||||
it('can get diskUsage', async function () {
|
||||
const usage = await system.getDiskUsage();
|
||||
expect(usage).to.be(null); // nothing cached
|
||||
});
|
||||
it('can get filesystemUsage', async function () {
|
||||
const filesystems = await system.getFilesystems();
|
||||
const rootFs = Object.values(filesystems).find(v => v.mountpoint === '/');
|
||||
expect(rootFs.filesystem).to.be.ok();
|
||||
|
||||
it('can updateDiskUsage', async function () {
|
||||
const usage = await system.updateDiskUsage(function () {});
|
||||
const tmp = usage[Object.keys(usage)[0]];
|
||||
const usageTask = await system.getFilesystemUsage(rootFs.filesystem);
|
||||
|
||||
expect(tmp.size).to.be.greaterThan(0);
|
||||
expect(tmp.used).to.be.greaterThan(0);
|
||||
expect(tmp.available).to.be.greaterThan(0);
|
||||
expect(tmp.capacity).to.be.greaterThan(0);
|
||||
expect(tmp.speed).to.be.a('number');
|
||||
return new Promise((resolve, reject) => {
|
||||
usageTask.on('data', (type, data) => console.log(type, data));
|
||||
usageTask.on('done', (error) => {
|
||||
if (error.errorMessage) reject(new Error(error.errorMessage)); else resolve();
|
||||
});
|
||||
|
||||
usageTask.start();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user