mirror of
https://github.com/Unitech/pm2.git
synced 2025-12-08 20:35:53 +00:00
87 lines
2.2 KiB
JavaScript
87 lines
2.2 KiB
JavaScript
|
|
var PM2 = require('../..');
|
|
var should = require('should');
|
|
|
|
describe('Call PM2 inside PM2', function() {
|
|
var pm2 = new PM2.custom({
|
|
independent : true,
|
|
cwd : __dirname + '/../fixtures/inside'
|
|
});
|
|
|
|
after(function(done) {
|
|
pm2.destroy(function(){
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should start script that starts a script', function(done) {
|
|
pm2.start('start_inside.js', function(err) {
|
|
should(err).be.null();
|
|
setTimeout(done, 1500);
|
|
});
|
|
});
|
|
|
|
it('should list 2 processes and apps stabilized', function(done) {
|
|
pm2.list(function(err, list) {
|
|
should(err).be.null();
|
|
should(list.length).eql(2);
|
|
list.forEach(function(proc) {
|
|
should(proc.pm2_env.restart_time).eql(0);
|
|
should(proc.pm2_env.status).eql('online');
|
|
});
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should start script that restart script', function(done) {
|
|
pm2.start('restart_inside.js', function(err) {
|
|
should(err).be.null();
|
|
setTimeout(done, 1500);
|
|
});
|
|
});
|
|
|
|
it('should list 3 processes and apps stabilized', function(done) {
|
|
pm2.list(function(err, list) {
|
|
should(err).be.null();
|
|
should(list.length).eql(3);
|
|
list.forEach(function(proc) {
|
|
if (proc.name == 'echo') {
|
|
should(proc.pm2_env.restart_time).eql(1);
|
|
should(proc.pm2_env.status).eql('online');
|
|
}
|
|
else {
|
|
should(proc.pm2_env.restart_time).eql(0);
|
|
should(proc.pm2_env.status).eql('online');
|
|
}
|
|
});
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should start script that reload script', function(done) {
|
|
pm2.start('reload_inside.js', function(err) {
|
|
should(err).be.null();
|
|
setTimeout(done, 1500);
|
|
});
|
|
});
|
|
|
|
it('should list 4 processes and apps stabilized', function(done) {
|
|
pm2.list(function(err, list) {
|
|
should(err).be.null();
|
|
should(list.length).eql(4);
|
|
list.forEach(function(proc) {
|
|
if (proc.name == 'echo') {
|
|
should(proc.pm2_env.restart_time).eql(2);
|
|
should(proc.pm2_env.status).eql('online');
|
|
}
|
|
else {
|
|
should(proc.pm2_env.restart_time).eql(0);
|
|
should(proc.pm2_env.status).eql('online');
|
|
}
|
|
});
|
|
done();
|
|
});
|
|
});
|
|
|
|
});
|