UNPKG

@unito/integration-sdk

Version:

Integration SDK

56 lines (42 loc) 1.67 kB
import express from 'express'; import assert from 'node:assert/strict'; import { describe, it } from 'node:test'; import injectLogger from '../../src/middlewares/logger.js'; describe('logger middleware', () => { it('initializes', () => { const request = { header: (_key: string) => undefined } as express.Request; const response = { locals: {} } as express.Response; injectLogger(request, response, () => {}); assert.deepEqual(response.locals.logger.getMetadata(), { correlation_id: undefined, }); }); it('correlation id', () => { const request = { header: (_key: string) => undefined } as express.Request; const response = { locals: { correlationId: '123' } } as express.Response; injectLogger(request, response, () => {}); assert.deepEqual(response.locals.logger.getMetadata(), { correlation_id: '123', }); }); it('additional context', () => { const additional = JSON.stringify({ foo: 'bar', }); const request = { header: (_key: string) => additional } as express.Request; const response = { locals: { correlationId: '123' } } as express.Response; injectLogger(request, response, () => {}); assert.deepEqual(response.locals.logger.getMetadata(), { correlation_id: '123', foo: 'bar', }); }); it('malformed additional context', () => { const request = { header: (_key: string) => 'nope' } as express.Request; const response = { locals: { correlationId: '123' } } as express.Response; injectLogger(request, response, () => {}); assert.deepEqual(response.locals.logger.getMetadata(), { correlation_id: '123', }); }); });