diff --git a/app.js b/app.js index 40c85964..2034e96b 100644 --- a/app.js +++ b/app.js @@ -1,10 +1,7 @@ var app = require('express')(); -var peliasConfig = require( 'pelias-config' ).generate(); - -// validate the configuration before attempting to load the app -require('./src/configValidation').validate(peliasConfig); +var peliasConfig = require( 'pelias-config' ).generate(require('./schema')); if( peliasConfig.api.accessLog ){ app.use( require( './middleware/access_log' ).createAccessLogger( peliasConfig.api.accessLog ) ); diff --git a/test/unit/app.js b/test/unit/app.js index 58ac8cdb..479e2af0 100644 --- a/test/unit/app.js +++ b/test/unit/app.js @@ -4,12 +4,16 @@ const proxyquire = require('proxyquire').noCallThru(); module.exports.tests = {}; -module.exports.tests.invalid_configuration = function(test, common) { - test('configuration validation throwing error should rethrow', function(t) { - t.throws(function() { +module.exports.tests.invalid_configuration = (test, common) => { + test('configuration validation throwing error should rethrow', (t) => { + t.throws(() => { proxyquire('../../app', { - './src/configValidation': { - validate: () => { + './schema': 'this is the schema', + 'pelias-config': { + generate: (schema) => { + // the schema passed to generate should be the require'd schema + t.equals(schema, 'this is the schema'); + throw Error('config is not valid'); } } @@ -23,7 +27,7 @@ module.exports.tests.invalid_configuration = function(test, common) { }; -module.exports.all = function (tape, common) { +module.exports.all = (tape, common) => { function test(name, testFunction) { return tape('app: ' + name, testFunction);