nsmockup
Version:
Test your Suitescripts before deploying to NetSuite
55 lines (47 loc) • 1.45 kB
JavaScript
;
var glob = require('glob'),
path = require('path'),
express = require('express'),
bodyParser = require('body-parser'),
morgan = require('morgan'),
srvconf = require('./server-config'),
server;
process.env.$NS_SERVER = true;
let app = express(),
nsmockup = require('../../');
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended: false}));
// parse application/json
app.use(bodyParser.json());
// configure log
app.use(morgan('dev'));
// Import Routes
let routes = glob.sync(__dirname + '/routes/*-route.js');
for (let i = 0; i < routes.length; i++) {
let route = require(path.resolve(routes[i]));
route(app);
}
process.on('message', function (m) {
//console.log('NSFAKE SERVER', m);
if (m.step === 'start') {
server = app.listen(srvconf.port, function () {
console.log('nsmockup server started', srvconf.port);
if (!global.$db) {
let opts = m.opts;
nsmockup.init(opts, () => {
return process.send('started');
});
} else {
return process.send('started');
}
});
} else {
server.close(function () {
console.log('nsmockup server stopped', srvconf.port);
return process.send('closed') & process.exit(0);
});
}
});
setTimeout(() => {
process.exit(0);
}, 20000);