Code coverage report for lib/checkers/mongodb.js

Statements: 100% (12 / 12)      Branches: 100% (4 / 4)      Functions: 100% (2 / 2)      Lines: 100% (12 / 12)      Ignored: none     

All files » lib/checkers/ » mongodb.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 341                     1 3 3             3 3 3 1   2   3 3       1  
var mongodb = require('mongodb'),
  Result = require('../result');
 
/**
 * Health check a mongodb resource.
 *
 * @param {Object} setup: http check setup with fields:
 * - uri: a resource URI to check
 * - timeout: MongoDB connect timeout in milliseconds
 * @param {Function} cb: standard cb(err, result) callback
 */
function check(setup, cb) {
  const TIMEOUT = 2000;
  var opts = {
      server: {
        socketOptions: {
          connectTimeoutMS: setup.timeout || TIMEOUT
        }
      }
    };
  mongodb.MongoClient.connect(setup.uri , opts, function(err, conn) {
    var result = new Result();
    if (err) {
      result.addError(err.message);
    } else {
      conn.close();
    }
    result.setStatusByStats();
    cb(null, result);
  });
}
 
exports.check = check;