mirror of
https://github.com/Unitech/pm2.git
synced 2025-12-08 20:35:53 +00:00
70 lines
1.8 KiB
JavaScript
70 lines
1.8 KiB
JavaScript
|
|
const PM2 = require('../..');
|
|
const should = require('should');
|
|
const exec = require('child_process').exec
|
|
const path = require('path')
|
|
const fs = require('fs')
|
|
|
|
describe('Modules programmatic testing', function() {
|
|
var pm2
|
|
var pkg_path = path.join(__dirname, 'fixtures/version-test/package.json')
|
|
|
|
after(function(done) {
|
|
pm2.delete('all', function() {
|
|
pm2.kill(done);
|
|
})
|
|
});
|
|
|
|
before(function(done) {
|
|
pm2 = new PM2.custom({
|
|
cwd : path.join(__dirname, 'fixtures')
|
|
});
|
|
|
|
var pkg = JSON.parse(fs.readFileSync(pkg_path))
|
|
pkg.version = '1.0.0'
|
|
fs.writeFileSync(pkg_path, JSON.stringify(pkg))
|
|
|
|
pm2.delete('all', () => done())
|
|
})
|
|
|
|
it('should start app and find version', function(done) {
|
|
pm2.start('./version-test/index.js', (err) => {
|
|
pm2.list(function(err, apps) {
|
|
should(err).be.null()
|
|
var real_version = JSON.parse(fs.readFileSync(path.join(__dirname, 'fixtures/version-test/package.json'))).version
|
|
should(apps[0].pm2_env.version).equal(real_version)
|
|
done()
|
|
})
|
|
})
|
|
})
|
|
|
|
var origin_version
|
|
it('should update version', function(done) {
|
|
var old = JSON.parse(fs.readFileSync(pkg_path))
|
|
origin_version = old.version
|
|
old.version = '2.0.0'
|
|
fs.writeFileSync(pkg_path, JSON.stringify(old))
|
|
pm2.restart('all', function() {
|
|
setTimeout(() => {
|
|
pm2.list((err, list) => {
|
|
should(list[0].pm2_env.version).equal('2.0.0')
|
|
done()
|
|
})
|
|
}, 400)
|
|
})
|
|
})
|
|
|
|
it('should restore version', function(done) {
|
|
var old = JSON.parse(fs.readFileSync(pkg_path))
|
|
old.version = origin_version
|
|
fs.writeFileSync(pkg_path, JSON.stringify(old))
|
|
|
|
pm2.restart('all', function() {
|
|
pm2.list((err, list) => {
|
|
should(list[0].pm2_env.version).equal(origin_version)
|
|
done()
|
|
})
|
|
})
|
|
})
|
|
})
|