Merge pull request #2105 from strongloop/fix/err-msg-on-connector-error
Improve error message on connector init error
This commit is contained in:
commit
913dd3a188
|
@ -219,11 +219,19 @@ app.models = function() {
|
||||||
* @param {Object} config The data source config
|
* @param {Object} config The data source config
|
||||||
*/
|
*/
|
||||||
app.dataSource = function(name, config) {
|
app.dataSource = function(name, config) {
|
||||||
var ds = dataSourcesFromConfig(name, config, this.connectors, this.registry);
|
try {
|
||||||
this.dataSources[name] =
|
var ds = dataSourcesFromConfig(name, config, this.connectors, this.registry);
|
||||||
this.dataSources[classify(name)] =
|
this.dataSources[name] =
|
||||||
this.dataSources[camelize(name)] = ds;
|
this.dataSources[classify(name)] =
|
||||||
return ds;
|
this.dataSources[camelize(name)] = ds;
|
||||||
|
return ds;
|
||||||
|
} catch (err) {
|
||||||
|
if (err.message) {
|
||||||
|
err.message = 'Cannot create data source ' + JSON.stringify(name) +
|
||||||
|
': ' + err.message;
|
||||||
|
}
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -410,6 +418,8 @@ function dataSourcesFromConfig(name, config, connectorRegistry, registry) {
|
||||||
config.connector = require(connectorPath);
|
config.connector = require(connectorPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!config.connector.name)
|
||||||
|
config.connector.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
return registry.createDataSource(config);
|
return registry.createDataSource(config);
|
||||||
|
|
|
@ -732,6 +732,16 @@ describe('app', function() {
|
||||||
app.dataSource('custom', { connector: 'custom' });
|
app.dataSource('custom', { connector: 'custom' });
|
||||||
expect(app.dataSources.custom.name).to.equal(loopback.Memory.name);
|
expect(app.dataSources.custom.name).to.equal(loopback.Memory.name);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('adds data source name to error messages', function() {
|
||||||
|
app.connector('throwing', {
|
||||||
|
initialize: function() { throw new Error('expected test error'); },
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(function() {
|
||||||
|
app.dataSource('bad-ds', { connector: 'throwing' });
|
||||||
|
}).to.throw(/bad-ds.*throwing/);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe.onServer('listen()', function() {
|
describe.onServer('listen()', function() {
|
||||||
|
|
Loading…
Reference in New Issue