UNPKG

piglow-system

Version:

several visualisation utilities for your system

123 lines (102 loc) 3.14 kB
var sinon = require('sinon'); function createFSMock(error, results) { var pointer = 0; return { readFile: function(path, callback) { if(error) { callback(error, null); } else { callback(null, results[pointer]); } pointer = ++pointer % results.length; } } } function createModuleMock(name) { return { start: sinon.spy(), stop: sinon.spy(), name: function() { return name; } }; } function createSystemMock() { return { cpu: createModuleMock(), load: createModuleMock() }; } function createCPUMock(samples) { var e = { _handler: null, on: function(type, handler) { this._handler = handler; }, start: function() {} }; return function(o) { var interval = o.interval; var samplePointer = 0; function runner() { if(e._handler) { e._handler({ percentageBusy: function() { return samples[samplePointer++ % samples.length]; } }); } var duate = interval - ((new Date()).getMilliseconds() % interval); setTimeout(runner, duate); } runner(); return e; }; } function createCreateInterface(error, mock) { var ret = function(callback) { if(error) { callback(error, null); } else { callback(null, mock); } }; ret.processValue = function(value) { return value; }; return ret; } function createPiGlowMock() { return { "startTransaction": function() {}, "commitTransaction": function() {}, "l_0_0": 0, "l_0_1": 0, "l_0_2": 0, "l_0_3": 0, "l_0_4": 0, "l_0_5": 0, "l_1_0": 0, "l_1_1": 0, "l_1_2": 0, "l_1_3": 0, "l_1_4": 0, "l_1_5": 0, "l_2_0": 0, "l_2_1": 0, "l_2_2": 0, "l_2_3": 0, "l_2_4": 0, "l_2_5": 0, "data": function() { return JSON.parse(JSON.stringify(this)); } }; } function createOsMock(loadValues, totalmem, freeMemValues) { var loadIndex = 0; var memIndex = 0; return { loadavg: function() { var res = loadValues[loadIndex]; loadIndex = (++loadIndex) % loadValues.length; return res; }, totalmem: function() { return totalmem; }, freemem: function() { var res = freeMemValues[memIndex]; memIndex = (++memIndex) % freeMemValues.length; return res; } }; } module.exports.createCreateInterface = createCreateInterface; module.exports.createPiGlowMock = createPiGlowMock; module.exports.createOsMock = createOsMock; module.exports.createCPUMock = createCPUMock; module.exports.createModuleMock = createModuleMock; module.exports.createSystemMock = createSystemMock; module.exports.createFSMock = createFSMock;