Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
before(function (done)
{
// Hook will timeout in 10 seconds
this.timeout(11000);
// Attempt to lift sails
Sails().lift({
hooks : {
// Load the hook
"sails-hook-schedule" : require('../'), // Skip grunt (unless your hook uses it)
"grunt" : false
}, log : {level : "error"}
}, function (err, _sails)
{
if (err)
{
return done(err);
}
sails = _sails;
return done();
});
});
before(function (done) {
// Hook will timeout in 10 seconds
this.timeout(13000);
// Attempt to lift sails
Sails().lift({
hooks: {
// Load the hook
"sails-hook-jsonwebtoken": require('../'),
// Skip grunt (unless your hook uses it)
"grunt": false
},
log: { level: "info" }
}, function (err, _sails) {
if (err) return done(err);
sails = _sails;
return done();
});
});
before(function (done) {
// Hook will timeout in 10 seconds
this.timeout(30000);
// change the working dir to test so we load test app
process.chdir('./test/fixtures/app');
// Attempt to lift sails
Sails().load({
port: 1300,
log: {
// level: 'debug',
level: 'verbose',
custom: console,
inspect: false,
},
hooks: {
// load this hook before sails ORM
"beforeORM": require('../fixtures/sails-hook-before-orm'),
// load the ORM
"orm": require('sails-hook-orm'),
// Load this hook after sails ORM
"afterORM": require('../fixtures/sails-hook-after-orm'),
},
BeforeAll(function(done) {
// Tests expect to run with NODE_ENV=development
process.env.NODE_ENV = 'development';
sails.lift({
// Your sails app's configuration files will be loaded automatically,
// but you can also specify any other special overrides here for testing purposes.
// For example, we might want to skip the Grunt hook,
// and disable all logs except errors:
hooks: { grunt: false },
log: { level: 'info' },
}, done);
});
var _ = require('@sailshq/lodash');
var SocketIOClient = require('socket.io-client');
delete require.cache[require.resolve('socket.io-client')];
var SailsIOClient = require('sails.io.js');
var Sails = require('../../../lib/app');
// Build a Sails socket client instance.
//
// (Of course, this runs as soon as this file is first required.
// But it's OK because we don't actually connect except in the
// functions below.)
var io = SailsIOClient(SocketIOClient);
io.sails.environment = 'production';
io.sails.autoConnect = false;
// Make existsSync not crash on older versions of Node
fs.existsSync = fs.existsSync || path.existsSync;
// ^ probably not necessary anymore, this is only relevant for pre-Node-0.8
// (or maybe it was Node 0.8, can't remember). Anyways, it was back when
// `existsSync()` lived in the `path` lib.
args,
{cwd : path.join(__dirname,".."), stdio: "inherit"});
cmd.on('exit', function(code){
console.log("Exiting",code);
});
}
else if(argv._[0] === 'prepare') {
// Validate node version
const Utils = require('../api/services/Utils');
if(!Utils.isRuntimeVersionSupported()) {
console.error("Incompatible Node.js version. Please make sure that you have Node.js >= 8 installed.")
process.exit(1);
}
Sails.log("Preparing database...")
if(!process.env.DB_ADAPTER && !argv.adapter) {
Sails.log.error("No db adapter defined. Set --adapter {mongo || mysql || postgres || sql-srv}")
return process.exit(1);
}
if(!process.env.DB_URI && !argv.uri) {
Sails.log.error("No db connection string is defined. Set --uri {db_connection_string}")
return process.exit(1);
}
process.env.DB_ADAPTER = process.env.DB_ADAPTER || argv.adapter;
process.env.DB_URI = process.env.DB_URI || argv.uri;
process.env.PORT = _.isString(argv.port) || _.isNumber(argv.port) ? argv.port : 1339;
require("../makedb")(function(err) {
rc = require('rc');
} catch (e0) {
try {
rc = require('sails/node_modules/rc');
} catch (e1) {
console.error('Could not find dependency: `rc`.');
console.error('Your `.sailsrc` file(s) will be ignored.');
console.error('To resolve this, run:');
console.error('npm install rc --save');
rc = function () { return {}; };
}
}
appInsights.start();
// Start server
sails.lift(rc('sails'));
// Look up the model
let Model = actionUtil.parseModel(req);
let countInResponse = sails.config.blueprints.countInResponse;
if (!Model.mapping) {
return fallback(req, res);
}
if (actionUtil.parsePk(req)) {
return require('./findOne')(req, res);
}
let populate = actionUtil.populateRequest(null, req);
let repository = req.getRepository(Model.Entity);
let criteria = actionUtil.parseCriteria(req);
let options = {
limit : actionUtil.parseLimit(req),
offset : actionUtil.parseSkip(req),
orderBy: actionUtil.parseSort(req)
};
if (populate && populate.length && populate[0] !== undefined) {
options.populate = populate;
}
let promises = [repository.find(criteria, options)];
if (countInResponse) {
promises.push(count(repository, criteria, options));
}
console.log('-');
console.log('--');
console.log('--- Database drop!!! DANGER!!! ----');
console.log('--');
console.log('-');
var confirm = process.argv[2];
if (!confirm) {
// alows user set new user data
confirm = sget('Are you sure you want to reset the database??. \n y or n?');
confirm = confirm.replace('\n','');
}
if (confirm === 'y') {
Sails.load({
port: 1930,
hooks: {
grunt: false,
socket: false,
pubsub: false
},
models: {
migrate: 'drop'
},
orm: {
_hookTimeout: 50000
},
environment: 'development'
},function loadSailsToDropDB(err, sails) {
if (err) {
return doneAll(err);
delayedLog(50)('Synchronizing app with Treeline mothership...'.grey);
delayedLog(450)('Calibrating machines...'.grey);
delayedLog(2500)('Hold tight, this can take a moment...'.grey);
// Give up after 30 seconds
delayedLog.timers.push(setTimeout(function () {
log.error('The preview server isn\'t starting...');
log.error('Please try again later. If the problem persists, check @treelineHQ for updates.');
for (var i in delayedLog.timers) {
clearTimeout(delayedLog.timers[i]);
}
return;
}, 30000));
var sails = new Sails();
var watch = watcher(sails);
var treelineCliConfig = {
src: {
secret: conf.credentials.secret,
baseURL: conf.config.treelineURL,
url: conf.config.treelineURL + '/' + conf.targetProject.id + '/modules',
projectId: conf.targetProject.id,
protocol: 'https://',
host: 'api.treeline.io',
port: 443,
prefix: '',
endpoint: '/modules'
}
};
var options = conf.targetProject.options || {};