Skip to content

Commit

Permalink
Modificado manejador de errores
Browse files Browse the repository at this point in the history
  • Loading branch information
germaaan committed Nov 8, 2015
1 parent aa06bd2 commit 6c61cc0
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 45 deletions.
53 changes: 9 additions & 44 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ var http = require('http');
var logger = require('morgan');
var path = require('path');

var voltdb = require('./lib/volt');
var volt = require('./lib/volt');

// Rutas
var index = require('./routes/index');
Expand Down Expand Up @@ -70,64 +70,29 @@ app.use('/informes', informes);

// Captura errores 404 y los reenvia al manejador de errores
app.use(function(req, res, next) {
var err = new Error('Not Found');
var err = new Error('No encontrado.');
err.status = 404;
next(err);
});

// (PENDIENTE DE TESTEAR PARCIALMENTE)
// Manejador de errores:
// - Modo desarrollo -> imprime mensajes en la pila de errores
// - Modo producción -> no imprime los mensajes de error
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
app.use(function(err, req, res, next) {
res.status(err.status);
res.render('error', {
message: err.message,
error: err
});
} else {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
}
});

// Creación del servidor
var server = http.createServer(app);
server.listen(app.get('port'));
// server.on('error', onError);
server.on('listening', onListening);

// (PENDIENTE DE TESTEAR)
// Escuchador de eventos para eventos de error en el servidor HTTP
function onError(error) {
if (error.syscall !== 'listen') {
throw error;
}

switch (error.code) {
case 'EACCES':
console.error('El puerto ' + port + ' requiere privilegios de administrador.');
process.exit(1);
break;
case 'EADDRINUSE':
console.error('El puerto ' + port + ' ya está en uso.');
process.exit(1);
break;
default:
throw error;
}
}

// Escuchador de eventos de peticiones al servidor HTTP
function onListening() {
debug('Servidor Express escuchando localmente en el puerto ' + server.address().port);
voltdb.ejecutar();
volt.ejecutar();
}

module.exports = app;
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
"mocha": "^2.3.3",
"react": "^0.14.2",
"should": "^7.1.1",
"sinon": "^1.17.2",
"supertest": "^1.1.0"
},
"engines": {
Expand Down
17 changes: 16 additions & 1 deletion test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ var should = require("should");

// Módulo de la aplicación
var app = require(__dirname + "/../app");
var voltdb = require(__dirname + "/../lib/volt");
var volt = require(__dirname + "/../lib/volt");

// Método para parsear archivos JSON a objetos JS
var cargar = function(archivo) {
Expand All @@ -46,6 +46,21 @@ var cargar = function(archivo) {

var enlaces = cargar(__dirname + "/../test/enlaces.json");

// Enlaces a comprobar
describe('Archivo de enlaces', function(){
it('Cargado', function(){
enlaces.should.not.be.null;
});
it('Correcto', function() {
_.each(enlaces, function(valor) {
var size = _.size(valor);
size.should.be.exactly(2);
valor.should.have.property("nombre");
valor.should.have.property("ruta");
});
});
});

// Prueba de acceso
describe('Prueba de acceso', function() {
_.each(enlaces, function(valor) {
Expand Down

0 comments on commit 6c61cc0

Please sign in to comment.