text: // Copyright IBM Corp. 2016. All Rights Reserved.
  // Node module: loopback-datasource-juggler
  // This file is licensed under the MIT License.
  // License text available at https://opensource.org/licenses/MIT
  
  'use strict';
  
  var should = require('./init.js');
  var DataSource = require('../lib/datasource.js').DataSource;
  
  describe('DataSource', function() {
    it('reports helpful error when connector init throws', function() {
      var throwingConnector = {
        name: 'loopback-connector-throwing',
        initialize: function(ds, cb) {
          throw new Error('expected test error');
        },
      };
  
      (function() {
        // this is what LoopBack does
        return new DataSource({
          name: 'dsname',
          connector: throwingConnector,
        });
      }).should.throw(/loopback-connector-throwing/);
    });
  
    it('reports helpful error when connector init via short name throws', function() {
      (function() {
        // this is what LoopBack does
        return new DataSource({
          name: 'dsname',
          connector: 'throwing',
        });
      }).should.throw(/expected test error/);
    });
  
    it('reports helpful error when connector init via long name throws', function() {
      (function() {
        // this is what LoopBack does
        return new DataSource({
          name: 'dsname',
          connector: 'loopback-connector-throwing',
        });
      }).should.throw(/expected test error/);
    });
  });
  