feature(rest) add memory info

This commit is contained in:
coderaiser 2018-06-01 16:28:43 +03:00
parent 9da17585e8
commit e5d2f75606
4 changed files with 44 additions and 5 deletions

View file

@ -49,7 +49,7 @@
"build:start:dev": "redrun build:client:dev start:dev",
"lint": "redrun lint:*",
"lintjs": "redrun lint:client lint:server lint:test",
"lint:server": "eslint -c .eslintrc.server $npm_package_config_dirs",
"lint:server": "eslint -c .eslintrc.server $npm_package_config_dirs --ignore-pattern *.spec.js",
"lint:test": "eslint $npm_package_config_dirs_test",
"lint:client": "eslint --env browser client",
"lint:css": "stylelint css/*.css",
@ -57,8 +57,9 @@
"fix:lint:client": "redrun lint:client -- --fix",
"fix:lint:test": "redrun lint:test -- --fix",
"fix:lint:server": "redrun lint:server -- --fix",
"test": "tape 'test/**/*.js' 'client/**/*.spec.js'",
"test": "tape 'test/**/*.js' '{client,server}/**/*.spec.js'",
"test:client": "tape 'test/client/**/*.js'",
"test:server": "tape 'test/**/*.js' 'server/**/*.spec.js'",
"wisdom": "redrun build",
"prewisdom": "redrun lint test",
"wisdom:type": "bin/release.js",

View file

@ -10,6 +10,7 @@ const root = require(DIR + 'root');
const config = require(DIR + 'config');
const CloudFunc = require(DIR_COMMON + 'cloudfunc');
const markdown = require(DIR + 'markdown');
const info = require('./info');
const jaguar = require('jaguar');
const onezip = require('onezip');
@ -116,9 +117,7 @@ function onGET(params, callback) {
switch(cmd) {
case '':
p.data = json.stringify({
info: 'Cloud Commander API v1'
});
p.data = json.stringify(info());
callback(null, {name: 'api.json'}, p.data);
break;

15
server/rest/info.js Normal file
View file

@ -0,0 +1,15 @@
'use strict';
const version = require('../../package').version;
const format = require('format-io');
const getMemory = () => {
const rss = process.memoryUsage().rss;
return format.size(rss);
};
module.exports = () => ({
version,
memory: getMemory(),
});

24
server/rest/info.spec.js Normal file
View file

@ -0,0 +1,24 @@
'use strict';
const test = require('tape');
const info = require('./info');
const sinon = require('sinon');
test('cloudcmd: rest: info', (t) => {
const {memoryUsage} = process;
const _memoryUsage = sinon
.stub()
.returns({});
process.memoryUsage = _memoryUsage;
info();
process.memoryUsage = memoryUsage;
t.ok(_memoryUsage.calledWith(), 'should call memoryUsage');
t.end();
});