diff --git a/app/server/src/db/mongo.js b/app/server/src/db/mongo.js index caab34da5c1bcc1d5d53ec797759560da827bc77..16c52841639c4d74751284dcfc9538cf6eb8ed81 100644 --- a/app/server/src/db/mongo.js +++ b/app/server/src/db/mongo.js @@ -1,15 +1,30 @@ const mongoose = require('mongoose'); -const mongooseInstance_ = mongoose.connect(process.env.MONGODB_URL, { - useNewUrlParser: true, - useCreateIndex: true, - useFindAndModify: false, - useUnifiedTopology: true, +const mongooseInstance_ = mongoose.connect( + process.env.MONGODB_URL, + { + useNewUrlParser: true, + useCreateIndex: true, + useFindAndModify: false, + useUnifiedTopology: true, - // NOTE: as of the docs `connectTimeoutMS` should be used when `useUnifiedTopology: true`, - // but apparently it has no impact what so ever. Instead, the following works ¯\_(ツ)_/¯ - serverSelectionTimeoutMS: 7000 // 7 sec + // NOTE: as of the docs `connectTimeoutMS` should be used when `useUnifiedTopology: true`, + // but apparently it has no impact what so ever. Instead, the following works ¯\_(ツ)_/¯ + serverSelectionTimeoutMS: 10000 // 10 sec + }, + function( err ){ + if( typeof err !== 'undefined' && err !== null ){ + console.error( new Error( `Cannot connect to database: ${ process.env.MONGODB_URL }` ) ); + }else{ + console.log( `Connect established to database: ${ process.env.MONGODB_URL }` ); + } + } +); + +process.on( 'exit', async ()=>{ + const dbClient = await mongooseInstance_; + dbClient.disconnect(); }); diff --git a/app/server/src/index.js b/app/server/src/index.js index 63432c5959dbd077af710ce193e3129bd49dce17..10c725662c7f5ffa1ea6ce481eeed8ff31d18859 100644 --- a/app/server/src/index.js +++ b/app/server/src/index.js @@ -39,19 +39,14 @@ app.use(errorRoutes); (async function main(){ try{ - const dbClient = await dbClientInstance_; - process.on( 'exit', ()=>{ - dbClient.disconnect(); - }); - await new Promise( (__ful, rej__ )=>{ app.listen(port, function(){ console.log( `ToDo server is up on port ${ port }`); __ful(); }).on( 'error', rej__); }); - }catch(e){ - console.error( new Error( `Cannot connect to database ${ process.env.MONGODB_URL }` ) ); + }catch( err ){ + console.error( err ); process.exit( 1 ); } })(); diff --git a/app/server/src/models/Uers.test.js b/app/server/src/models/Uers.test.js index 5852d0fe29812327968dac873bb00a97a3a8e6d2..28356ae6aa73d2a0ea82995627b5c2f4f67edfe7 100644 --- a/app/server/src/models/Uers.test.js +++ b/app/server/src/models/Uers.test.js @@ -5,16 +5,15 @@ const { model: Users } = require( './Users.js' ); describe( 'Model: Users', ()=>{ beforeAll( async ()=>{ - await dbClientInstance_; + try{ + await dbClientInstance_; + }catch( err ){ + console.error( new Error( `Cannot connect to database: ${ process.env.MONGODB_URL }` ) ); + process.exit( 1 ); + } }); - const userData = { - name: 'myname', - email: 'myname@example.com', - password: 'mypassword' - }; - test( 'creating a user', async ()=>{ const userData = { name: 'myname',