Skip to content

Commit

Permalink
Add test for NODE_ENV reverting.
Browse files Browse the repository at this point in the history
  • Loading branch information
mikermcneil committed Feb 10, 2016
1 parent f9db888 commit 357b30d
Showing 1 changed file with 79 additions and 10 deletions.
89 changes: 79 additions & 10 deletions test/integration/lift.lower.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var async = require('async');

describe('sails being lifted and lowered (e.g in a test framework)', function() {

it('should clean up event listeners', function (done) {
it('should clean up event listeners', function(done) {

// Get a list of all the current listeners on the process.
// Note that Mocha adds some listeners, so these might not all be empty arrays!
Expand All @@ -22,36 +22,105 @@ describe('sails being lifted and lowered (e.g in a test framework)', function()
port: 1342,
environment: process.env.TEST_ENV,
log: {
level: 'error'
level: 'error'
},
globals: false,
hooks: {
grunt: false,
grunt: false,
}
}, function(err, sails) {
if (err) {
return cb(err);
}
}, function (err, sails) {
if (err) {return cb(err);}
setTimeout(function() {
sails.lower(cb);
});

});

}, function(err) {
if (err) {return done(err);}
if (err) {
return done(err);
}
// Check that we have the same # of listeners as before--that is,
// that all listeners that were added when the apps were initialized
// were subsequently removed when they were lowered.
assert.equal(beforeListeners.sigusr2.length,
process.listeners('SIGUSR2').length);
process.listeners('SIGUSR2').length);
assert.equal(beforeListeners.sigterm.length,
process.listeners('SIGTERM').length);
process.listeners('SIGTERM').length);
assert.equal(beforeListeners.exit.length,
process.listeners('exit').length);
process.listeners('exit').length);
assert.equal(beforeListeners.sigint.length,
process.listeners('SIGINT').length);
process.listeners('SIGINT').length);
return done();
});

}); //</should clean up event listeners>







it('should revert NODE_ENV env variable if it was set automatically on load/lift', function(done) {

// Save reference to original NODE_ENV.
var originalNodeEnv = process.env.NODE_ENV;

// Load `app0` deep in the `'cenote'`
Sails().load({
environment: 'cenote',
log: {
level: 'error'
},
globals: false,
hooks: {
grunt: false,
}
}, function(err, app0) {
if (err) { return done(err); }

// Assert that NODE_ENV was set automatically.
assert.equal('cenote', process.env.NODE_ENV);

// Lower `app0`
app0.lower(function (){

// Assert that NODE_ENV has been reverted.
assert.equal(originalNodeEnv, process.env.NODE_ENV);

// Load `app1` in the `'savanna'`
Sails().load({
environment: 'savanna',
log: {
level: 'error'
},
globals: false,
hooks: {
grunt: false,
}
}, function(err, app1) {
if (err) { return done(err); }

// Assert that NODE_ENV was set automatically.
assert.equal('savanna', process.env.NODE_ENV);

// Lower `app1`
app1.lower(function (){

// Assert that NODE_ENV has been reverted again.
assert.equal(originalNodeEnv, process.env.NODE_ENV);

return done();
});//</app1.lower()>
});//</app1.load()>
});//</app0.lower()>
});//</app0.load()>

});



});

0 comments on commit 357b30d

Please sign in to comment.