diff --git a/config/demo.js b/config/demo.js index 3dc88d8..ebc8038 100644 --- a/config/demo.js +++ b/config/demo.js @@ -5,11 +5,11 @@ const fs = require('fs') const path = require('path') const debug = require('debug')('tracman-demo') -module.exports = (io) => { +module.exports = (io, filename='demo.txt') => { return new Promise( (resolve, reject) => { // File is space-seperated: delay, lat, lon, dir, spd - fs.readFile(path.join(__dirname, '/demo.txt'), (err, data) => { + fs.readFile(path.join(__dirname, filename), (err, data) => { if (err) { console.error(err.message) reject() @@ -38,7 +38,7 @@ module.exports = (io) => { } })(5667) - console.log(' Demo running') + console.log(` Demo running from ./${filename}`) resolve() } diff --git a/config/mail.js b/config/mail.js index 7f6e1bf..eaa24c2 100644 --- a/config/mail.js +++ b/config/mail.js @@ -22,7 +22,12 @@ module.exports = { return new Promise( (resolve, reject) => { transporter.verify() .then( (success) => { - console.log(` SMTP${(success)?'':' not'} ready`) + if (success) { + console.log(` Nodemailer connected to ${env.mailserver}:${env.mailport} as ${env.mailauth.user}`) + resolve() + } else reject(new Error( + `Nodemailer failed to connect to SMTP server at smtp:/\/${env.mailauth.user}:${env.mailauth.pass}@${env.mailserver}:${env.mailport}` + )) resolve() }).catch( (err) => { console.log(err.stack) diff --git a/server.js b/server.js index 01d55b9..9840021 100755 --- a/server.js +++ b/server.js @@ -36,7 +36,7 @@ let ready_promise_list = [] keepAlive: true }) .then( (db) => { - console.log(` Mongoose connected to ${db.name} database`) + console.log(` Mongoose connected to ${env.mongoSetup}`) resolve() } ) .catch( (err) => { @@ -170,7 +170,7 @@ let ready_promise_list = [] } /* RUNTIME */ -console.log(`Starting Tracman server in ${env.mode} mode...`) +console.log(`Starting ${env.mode} server at ${__dirname}...`) // Test SMTP server ready_promise_list.push(mail.verify()) @@ -179,7 +179,7 @@ ready_promise_list.push(mail.verify()) ready_promise_list.push( new Promise( (resolve, reject) => { http.listen(env.port, () => { - console.log(` Listening on port ${env.port}`) + console.log(` Express listening on ${env.url}`) resolve() // Check for clients for each user @@ -201,7 +201,11 @@ ready_promise_list.push( new Promise( (resolve, reject) => { ready_promise_list.push( demo(io) ) // Mark everything when working correctly - Promise.all(ready_promise_list).then( () => { + Promise.all(ready_promise_list.map( + // Also wait for rejected promises + // https://stackoverflow.com/a/36115549/3006854 + p => p.catch(e => e) + )).then( () => { console.log('Tracman server is running properly\n') app.emit('ready') // Used for tests }).catch( (err) => {