From 2ebb83938a5ad82e1af504bacffb9f87c240d007 Mon Sep 17 00:00:00 2001 From: Mikael Lindahl Date: Thu, 4 Jan 2018 03:01:31 +0100 Subject: [PATCH] udapted for hapi 17 --- .gitignore | 3 +++ .travis.yml | 2 +- lib/index.js | 40 +++++++------------------------ lib/test/index.js | 53 ++++++++++++++++++----------------------- lib/test/test_server.js | 10 +++----- package.json | 11 ++++----- 6 files changed, 43 insertions(+), 76 deletions(-) diff --git a/.gitignore b/.gitignore index 83cf05e..454ec8b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ node_modules # Ignore Idea stuff .idea +# No npm +package-lock.json + diff --git a/.travis.yml b/.travis.yml index 9b72b78..73f2c24 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: node_js node_js: - - "6" + - "8" - "node" diff --git a/lib/index.js b/lib/index.js index 2aa5233..be8d8c9 100644 --- a/lib/index.js +++ b/lib/index.js @@ -6,6 +6,7 @@ 'use strict'; let _server; +let debug = require('debug')('hapi-log:lib:index') /** * - `server` Hapi server object @@ -17,38 +18,13 @@ let _server; * @param {object} options * @api public */ -exports.register = function (server, options, next) { +exports.plugin={ + register : async function (server, options) { - _server = server; // Keep a handle to server object - let _fatal=false; - _server.app.log=options.logger; //make available safely + _server = server; // Keep a handle to server object + let _fatal=false; + _server.app.log=options.logger; //make available safely - // log error as fatal at creash - process.on('uncaughtException', function (err) { - - console.log('ooops'); - - if(_fatal){ - return process.exit(1); - } - - _fatal=true; //tricggers process.exit(1); when email have been sent - _server.app.log.fatal(err) - - }); - - options.email.stream.on('sent', (msg)=>{ - - if(_fatal){ - process.exit(1); - } - - }); - - next(); + }, + pkg:require('../package.json') }; - -exports.register.attributes = { - name: 'hapi-log', - version: '1.0.0' -}; \ No newline at end of file diff --git a/lib/test/index.js b/lib/test/index.js index 5a0d857..019472b 100644 --- a/lib/test/index.js +++ b/lib/test/index.js @@ -6,7 +6,7 @@ const code = require( "code" ); -const debug = require( 'debug' )( 'hapi_handlers:lib/test/index' ); +const debug = require( 'debug' )( 'hapi-log:lib:test:index' ); const Lab = require( "lab" ); const serverPromise = require( './test_server.js' ); let lab = exports.lab = Lab.script(); @@ -60,50 +60,43 @@ function mockMailgun( server ) { }; } +let exit = process.exit + // The order of tests matters!!! lab.experiment( "hapi handlers", ()=> { + lab.afterEach(async ()=>{ + + process.exit = exit; + + }) + lab.test( 'Test log', - done=> { - serverPromise( options ).then( server=> { + async ()=> { + await serverPromise( options ).then( server=> { mockMailgun( server ); server.app.log.error( 'test' ) - setTimeout( - ()=> { - done() - } - , 1000 - ); - - } ) + return new Promise(resolve=>{ - } ) + setTimeout( + ()=> { + resolve() + } + , 1000 + ); + }) - lab.test( 'Test log throw uncaughtException', - done=> { - serverPromise( options ).then( server=> { - mockMailgun( server ); - let exit=process.exit; - process.exit=()=>{ - server.app.log.info('exit called') - }; + } ).catch(err=>{ - process.emit( 'uncaughtException', { error: 'the error' } ); + console.error(err) - setTimeout( - ()=> { - process.exit = exit; - done() - } - , 1000 - ); + }) - } ) + } ); - } ) } ); \ No newline at end of file diff --git a/lib/test/test_server.js b/lib/test/test_server.js index 1760b16..75667e2 100644 --- a/lib/test/test_server.js +++ b/lib/test/test_server.js @@ -5,20 +5,16 @@ 'use strict'; const hapiLog = require( "../index.js" ); -const Hapi = require( 'hapi' ); -const Promise = require( 'bluebird' ); -const debug = require( 'debug' )( 'hapi_account:test_server' ); +const Hapi = require( 'hapi' );; function getServerPromise( options ) { - let server = new Hapi.Server(); - - server.connection( { host: '0.0.0.0', port: 3000 } ); + let server = new Hapi.Server({ host: '0.0.0.0', port: 3000 }); return new Promise( resolve=> { server.register( [ { - register: hapiLog, + plugin: hapiLog, options: options } diff --git a/package.json b/package.json index 922eac4..cd69211 100644 --- a/package.json +++ b/package.json @@ -24,14 +24,13 @@ }, "homepage": "https://github.com/mickelindahl/hapi_log#readme", "devDependencies": { - "bluebird": "^3.4.7", "bunyan": "^1.8.5", "bunyan-mailgun": "0.0.1", "bunyan-prettystream": "^0.1.3", - "code": "^4.0.0", - "coveralls": "^2.11.15", - "debug": "^2.5.2", - "hapi": "^16.0.2", - "lab": "^11.2.1" + "code": "^5.1.2", + "coveralls": "^3.0.0", + "debug": "^3.1.0", + "hapi": "^17.2.0", + "lab": "^15.1.2" } }