I have some tests - namely Supertest - that load my Express app. This app creates a Mongoose connection. I would like to know how to check the status of that connection from within my test.
In app.js
mongoose.connect(...)
In test.js
console.log(mongoose.connection.readyState);
How to access the app.js connection? If I connect using the same parameters in test.js will that create a new connection or look for existing one?
You should close a mongoose connection when a Node POSIX signal is happening. SIGINT process is triggered when Ctrl-C has been pressed on terminal or a server shutdown. Another possible scenario is to close a connection when a data streaming is done.
But generally speaking, Mongoose is keeping several socket connections open to the server/replica-set/mongos instances rather than one to allow concurrent processing of requests.
isConnected runs getDbObject . getDbObject connects to mongoDB and returns an object: connected (true/false), db (dbObject or error). Then, isConnected resolve/reject by connected property.
Since the mongoose module exports a singleton object, you don't have to connect in your test.js
to check the state of the connection:
// test.js require('./app.js'); // which executes 'mongoose.connect()' var mongoose = require('mongoose'); console.log(mongoose.connection.readyState);
ready states being:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With