@ekristoffe/node-disk-info
Version:
Node module to get disk information in Windows, Linux & Mac. It works with Electron.
106 lines (79 loc) • 4.93 kB
text/typescript
import {getDiskInfo, getDiskInfoSync} from '../src';
import {Utils} from '../src/utils/utils';
import * as os from 'os';
describe('node-disk-info-macos', () => {
const DARWIN_COMMAND_RESPONSE: Buffer = Buffer.from('/dev/sdb 15728640 2088556 11919636 15% / \n' +
'none 492 4 488 1% /dev \n' +
'udev 6144744 0 6144744 0% /dev/tty \n' +
'tmpfs 100 0 100 0% /dev/lxd \n' +
'tmpfs 100 0 100 0% /dev/.lxd-mounts \n' +
'tmpfs 6151516 0 6151516 0% /dev/shm \n' +
'tmpfs 6151516 4 6151512 1% /run \n' +
'tmpfs xx 0 5120 0% /run/lock \n' +
'tmpfs 6151516 0 6151516 0% /sys/fs/cgroup \n' +
'tmpfs 100 x 100 0% /var/lib/lxd/shmounts \n' +
'tmpfs 100 0 xx 0% /var/lib/lxd/devlxd \n' +
'/dev/sdb 15728640 2088556 11919636 15% /var/lib/lxd/storage-pools/default', 'utf8');
beforeAll(() => {
if (os.platform() !== 'darwin') {
spyOn(Utils, 'detectPlatform').and.callFake(() => 'darwin');
spyOn(Utils, 'execute').and.callFake((command: string) => DARWIN_COMMAND_RESPONSE.toString());
}
});
it('should generate disks list info for Mac OS', (done) => {
getDiskInfo()
.then(values => {
expect(values).toBeDefined();
expect(values.length).toBeGreaterThanOrEqual(0);
done();
})
.catch(reason => {
done.fail(reason);
});
});
it('should generate disk info for Mac OS', (done) => {
getDiskInfo()
.then(values => {
expect(values.length).toBeGreaterThan(0);
const disk = values[0];
expect(disk.filesystem).toBeDefined();
expect(typeof disk.filesystem).toEqual('string');
expect(disk.blocks).toBeDefined();
expect(typeof disk.blocks).toEqual('number');
expect(disk.used).toBeDefined();
expect(typeof disk.used).toEqual('number');
expect(disk.available).toBeDefined();
expect(typeof disk.available).toEqual('number');
expect(disk.capacity).toBeDefined();
expect(typeof disk.capacity).toEqual('string');
expect(disk.mounted).toBeDefined();
expect(typeof disk.mounted).toEqual('string');
done();
})
.catch(reason => {
done.fail(reason);
});
});
it('should generate disks list info sync for Mac OS', () => {
const values = getDiskInfoSync();
expect(values).toBeDefined();
expect(values.length).toBeGreaterThanOrEqual(0);
});
it('should generate disk info sync for Mac OS', () => {
const values = getDiskInfoSync();
expect(values.length).toBeGreaterThan(0);
const disk = values[0];
expect(disk.filesystem).toBeDefined();
expect(typeof disk.filesystem).toEqual('string');
expect(disk.blocks).toBeDefined();
expect(typeof disk.blocks).toEqual('number');
expect(disk.used).toBeDefined();
expect(typeof disk.used).toEqual('number');
expect(disk.available).toBeDefined();
expect(typeof disk.available).toEqual('number');
expect(disk.capacity).toBeDefined();
expect(typeof disk.capacity).toEqual('string');
expect(disk.mounted).toBeDefined();
expect(typeof disk.mounted).toEqual('string');
});
});