pm2/test/programmatic/user_management.mocha.js

61 lines
1.4 KiB
JavaScript

process.env.NODE_ENV = 'test'
process.chdir(__dirname);
var PM2 = require('../..');
var should = require('should');
describe('User management', function() {
before(function(done) {
PM2.delete('all', function() { done() });
});
after(function(done) {
PM2.kill(done);
});
it('should fail with unknown user', function(done) {
PM2.start('./../fixtures/child.js', {
user: 'toto'
},function(err) {
should(err.message).match(/cannot be found/)
PM2.list(function(err, list) {
should(err).be.null();
should(list.length).eql(0);
done();
});
});
})
it('should succeed with known user', function(done) {
PM2.start('./../fixtures/child.js', {
user: process.env.USER
},function(err) {
should(err).be.null();
PM2.list(function(err, list) {
should(err).be.null();
should(list.length).eql(1);
should.exist(list[0].pm2_env.uid)
should.exist(list[0].pm2_env.gid)
PM2.delete('all', done)
});
});
})
it('should succeed with known user via uid field', function(done) {
PM2.start('./../fixtures/child.js', {
uid: process.env.USER
},function(err) {
should(err).be.null();
PM2.list(function(err, list) {
should(err).be.null();
should.exist(list[0].pm2_env.uid)
should.exist(list[0].pm2_env.gid)
should(list.length).eql(1);
PM2.delete('all', done)
});
});
})
})