diff --git a/api/src/middleware/authorization.js b/api/src/middleware/authorization.js index 346218c7564..1d578cffd97 100644 --- a/api/src/middleware/authorization.js +++ b/api/src/middleware/authorization.js @@ -16,7 +16,10 @@ const getUserSettings = (req) => { .then(userCtx => { req.userCtx = userCtx; }) - .catch(err => err); + .catch(err => { + logger.error('Failed to get user settings: %o', err); + return err; + }); }; module.exports = { diff --git a/api/tests/mocha/middleware/authorization.spec.js b/api/tests/mocha/middleware/authorization.spec.js index 328d497c79b..1a310807760 100644 --- a/api/tests/mocha/middleware/authorization.spec.js +++ b/api/tests/mocha/middleware/authorization.spec.js @@ -206,7 +206,8 @@ describe('Authorization middleware', () => { }); }); - it('catches user_settings errors', () => { + it('catches user_settings errors and logs them', () => { + sinon.stub(logger, 'error'); testReq.userCtx = { name: 'user' }; auth.getUserCtx.resolves({ name: 'user' }); auth.isOnlineOnly.withArgs({ name: 'user' }).returns(false); @@ -222,6 +223,10 @@ describe('Authorization middleware', () => { testReq.userCtx.should.deep.equal({ name: 'user' }); auth.isOnlineOnly.args[0][0].should.deep.equal({ name: 'user'}); auth.getUserSettings.args[0][0].should.deep.equal({ name: 'user'}); + logger.error.callCount.should.equal(1); + logger.error.args[0][0].should.equal('Failed to get user settings: %o'); + logger.error.args[0][1].should.deep.equal({ some: 'error' }); + logger.error.restore(); }); }); }); @@ -258,7 +263,8 @@ describe('Authorization middleware', () => { }); }); - it('catches user_settings errors', () => { + it('catches user_settings errors and logs them', () => { + sinon.stub(logger, 'error'); testReq.userCtx = { name: 'user' }; auth.isOnlineOnly.withArgs({ name: 'user' }).returns(false); auth.getUserSettings.withArgs({ name: 'user' }).rejects({ some: 'error' }); @@ -272,6 +278,10 @@ describe('Authorization middleware', () => { testReq.userCtx.should.deep.equal({ name: 'user' }); auth.isOnlineOnly.args[0][0].should.deep.equal({ name: 'user'}); auth.getUserSettings.args[0][0].should.deep.equal({ name: 'user'}); + logger.error.callCount.should.equal(1); + logger.error.args[0][0].should.equal('Failed to get user settings: %o'); + logger.error.args[0][1].should.deep.equal({ some: 'error' }); + logger.error.restore(); }); }); });