Code coverage report for lib/services/model/dbConn.js

Statements: 92.31% (12 / 13)      Branches: 100% (0 / 0)      Functions: 66.67% (2 / 3)      Lines: 92.31% (12 / 13)     

All files » lib/services/model/ » dbConn.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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56                                            1             1     1 4             1     4 4 4       4   4   1 1  
/*
 * Copyright 2014 Telefonica Investigación y Desarrollo, S.A.U
 *
 * This file is part of fiware-iotagent-lib
 *
 * fiware-iotagent-lib is free software: you can redistribute it and/or
 * modify it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the License,
 * or (at your option) any later version.
 *
 * fiware-iotagent-lib is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public
 * License along with fiware-iotagent-lib.
 * If not, seehttp://www.gnu.org/licenses/.
 *
 * For those usages not covered by the GNU Affero General Public License
 * please contact with::daniel.moranjimenez@telefonica.com
 */
'use strict';
 
/**
 * This module sets up the connection with the mongodb through mongoose. This connection will be used
 * in mongoose schemas to persist objects.
 */
 
var mongoose = require('mongoose'),
    defaultDb;
 
function loadModels() {
    require('./Device').load(defaultDb);
}
 
/**
 * Creates a new connection to the Mongo DB.
 *
 */
function init(host, db, callback) {
    /*jshint camelcase:false */
 
    defaultDb = mongoose.createConnection(host, db);
    defaultDb.db.serverConfig.options.auto_reconnect = true;
    defaultDb.on('error', function mongodbErrorHandler(error) {
        throw new Error(error);
    });
 
    loadModels();
 
    callback(null);
}
exports.init = init;
exports.db = defaultDb;