Skip to content

Instantly share code, notes, and snippets.

@simenbrekken
Created August 24, 2011 16:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save simenbrekken/1168440 to your computer and use it in GitHub Desktop.
Save simenbrekken/1168440 to your computer and use it in GitHub Desktop.
Testing made easy
var routes = require('./routes');
var configure = exports.configure = function(app, callback) {
app.use(express.bodyParser());
app.use(app.router);
app.use(function(err, req, res, next) {
res.json({error: err.message}, 500);
});
routes.configure(app);
return app;
};
if (!module.parent) {
var options = {
key: fs.readFileSync(__dirname + '/certs/server.key'),
cert: fs.readFileSync(__dirname + '/certs/server.crt'),
ca: [fs.readFileSync(__dirname + '/certs/ca.crt')],
requestCert: true,
rejectUnauthorized: true
};
var app = configure(express.createServer(options), function() {
app.listen(3000);
});
}
exports.configure = function(app) {
['user', 'post'].forEach(function(name) {
require('./' + name).configure(app);
});
};
var api = require('../app.js');
var walks;
buster.testCase('Walk', {
setUp: function(done) {
process.env.NODE_ENV = 'test';
app = api.configure(express.createServer(), function() {
walks = app.db.bind('walks');
app.listen(0, function() {
done();
});
});
},
tearDown: function(done) {
walks.drop(function(err) {
app.on('close', function() {
app.db.close(done);
});
app.close();
});
},
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment