diff --git a/lib/cli.js b/lib/cli.js index 0c058de79..e89a82d6b 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -75,8 +75,6 @@ function afterConfigLoad() { if (!config.user_agent) config.user_agent = 'Sinopia/'+pkg.version if (!config.self_path) config.self_path = Path.resolve(config_path) - logger.setup(config.logs) - var hostport = get_hostport() server(config) .listen(hostport[1], hostport[0]) diff --git a/lib/index.js b/lib/index.js index 587bbad15..f92164f67 100644 --- a/lib/index.js +++ b/lib/index.js @@ -10,6 +10,8 @@ var Cats = require('./status-cats') var Storage = require('./storage') module.exports = function(config_hash) { + Logger.setup(config_hash.logs) + var config = Config(config_hash) var storage = Storage(config) var auth = Auth(config) diff --git a/test/unit/toplevel.js b/test/unit/toplevel.js new file mode 100644 index 000000000..9a1d1beb0 --- /dev/null +++ b/test/unit/toplevel.js @@ -0,0 +1,54 @@ +var assert = require('assert') +var express = require('express') +var request = require('request') +var rimraf = require('rimraf') +var sinopia = require('../../') + +var config = { + storage: './test-storage', + packages: { + '*': { + allow_access: '$all', + }, + }, + logs: [ + {type: 'stdout', format: 'pretty', level: 'fatal'} + ], +} + +describe('toplevel', function() { + var port + + before(function(done) { + rimraf(__dirname + '/test-storage', done) + }) + + before(function(done) { + var app = express() + app.use(sinopia(config)) + + var server = require('http').createServer(app) + server.listen(0, function() { + port = server.address().port + done() + }) + }) + + it('should respond on /', function(done) { + request({ + url: 'http://localhost:' + port + '/', + }, function(err, res, body) { + assert(body.match(/