UNPKG

@sorrir/sorrir-logging

Version:

Logging repository for SORRIR projects.

334 lines 15.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const app_1 = require("./app"); //import { ApplicationContext, SystemContext, LogEntry, getLogger, Stakeholder, context } from "./app"; const App = require("./app"); const os = require("os"); // These tests can be used to test both output to the console and // to Elasticsearch. Testing the latter can be achieved by setting // the appropriate environment variables (documented in README.md), // running the test-suite and manually observing whether the logs // correctly reach the specified Elasticsearch instance. describe("some tests", () => { const sysContext = { file: "app.test.ts", function: "Object.asyncJestTest", area: "execution", }; const appContext = { unit: "pod1", component: "DSB", degradationMode: "Manual", }; const host1 = "production-pi1"; const dataApp = { degradationReason: "DSB not reachable" }; const dataSys = { communication: "REST" }; test("Test with log entry, app", () => { const logger_ = App.getLogger(); const logEntryApp = { context: { stakeholder: App.Stakeholder.USER, contextFields: appContext }, host: host1, data: dataApp, stakeholder: App.Stakeholder.USER, contextFields: appContext, }; const cb = function (logEntryRecUser) { expect(logEntryRecUser.metadata.context).toMatchObject(logEntryApp.context); //expect(logEntryApp.contextFields).toBe(logEntryRecUser.contextFields); expect(logEntryRecUser.metadata.data).toMatchObject(logEntryApp.data); expect(logEntryRecUser.metadata.host).toBe(logEntryApp.host); }; App.sorrirLogger.addListener("data", cb); logger_.log("info", "Do we really need the data field?", { context: logEntryApp.context, host: logEntryApp.host, data: logEntryApp.data, }); App.sorrirLogger.removeListener("data", cb); }); test("Test with log entry, system", () => { const logger_ = App.getLogger(); const logEntrySys = { context: { stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }, host: host1, data: dataSys, stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }; const cb = function (logEntryRecSys) { expect(logEntryRecSys.metadata.context).toMatchObject(logEntrySys.context); //expect(logEntrySys.contextFields).toBe(logEntryRecSys.contextFields); expect(logEntryRecSys.metadata.data).toMatchObject(logEntrySys.data); expect(logEntryRecSys.metadata.host).toBe(logEntrySys.host); }; App.sorrirLogger.addListener("data", cb); logger_.log("info", "Do we really need the data field?", { context: logEntrySys.context, host: logEntrySys.host, data: logEntrySys.data, }); App.sorrirLogger.removeListener("data", cb); }); test("Test using inline style, app", () => { const logger_ = App.getLogger(); const logEntryApp = { context: { stakeholder: App.Stakeholder.USER, contextFields: appContext }, host: host1, data: dataApp, stakeholder: App.Stakeholder.USER, contextFields: appContext, }; const cb = function (logEntryRecUser) { expect(logEntryRecUser.metadata.context).toMatchObject(logEntryApp.context); //expect(logEntryApp.contextFields).toBe(logEntryRecUser.contextFields); expect(logEntryRecUser.metadata.data).toMatchObject(logEntryApp.data); expect(logEntryRecUser.metadata.host).toBe(logEntryApp.host); }; App.sorrirLogger.addListener("data", cb); logger_.log("info", "Do we really need the data field?", { context: { stakeholder: App.Stakeholder.USER, contextFields: { unit: appContext.unit, component: appContext.component, degradationMode: appContext.degradationMode, }, }, host: host1, data: dataApp, }); App.sorrirLogger.removeListener("data", cb); }); test("Test using inline style, sys", () => { const logger_ = App.getLogger(); const logEntrySys = { context: { stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }, host: host1, data: dataSys, stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }; const cb = function (logEntryRecSys) { expect(logEntryRecSys.metadata.context).toMatchObject(logEntrySys.context); //expect(logEntrySys.contextFields).toBe(logEntryRecSys.contextFields); expect(logEntryRecSys.metadata.data).toMatchObject(logEntrySys.data); expect(logEntryRecSys.metadata.host).toBe(logEntrySys.host); }; App.sorrirLogger.addListener("data", cb); logger_.log("info", "Do we really need the data field?", { context: { stakeholder: App.Stakeholder.SYSTEM, contextFields: { file: sysContext.file, function: sysContext.function, area: sysContext.area, }, }, host: host1, data: dataSys, }); App.sorrirLogger.removeListener("data", cb); }); test("Test sorrir logger, default", () => { const cb = function (logEntryRecDefault) { expect("Do we really need the data field?").toBe(logEntryRecDefault.message); }; App.sorrirLogger.addListener("data", cb); App.logDefault(app_1.LogLevel.info, "Do we really need the data field?"); // needed for new callback on event setting in next test App.sorrirLogger.removeListener("data", cb); }); test("Test sorrir logger, app extended", () => { const logEntryApp = { context: { stakeholder: App.Stakeholder.USER, contextFields: appContext }, host: os.hostname(), data: dataApp, stakeholder: App.Stakeholder.USER, contextFields: appContext, }; const cb = function (logEntryRecUser) { expect(logEntryRecUser.metadata.context).toMatchObject(logEntryApp.context); //expect(logEntryApp.contextFields).toBe(logEntryRecUser.contextFields); expect(logEntryRecUser.metadata.data).toMatchObject(logEntryApp.data); expect(logEntryRecUser.metadata.host).toBe(logEntryApp.host); }; App.sorrirLogger.addListener("data", cb); app_1.log(app_1.LogLevel.info, "Do we really need the data field?", dataApp, { unit: appContext.unit, component: appContext.component, degradationMode: appContext.degradationMode, }); // needed for new callback on event setting in next test App.sorrirLogger.removeListener("data", cb); }); test("Test sorrir logger, app compact", () => { const logEntryApp = { context: { stakeholder: App.Stakeholder.USER, contextFields: appContext }, host: os.hostname(), data: dataApp, stakeholder: App.Stakeholder.USER, contextFields: appContext, }; App.configLogger(logEntryApp.contextFields); const cb = function (logEntryRecUser) { expect(logEntryRecUser.metadata.context).toMatchObject(logEntryApp.context); //expect(logEntryApp.contextFields).toBe(logEntryRecUser.contextFields); expect(logEntryRecUser.metadata.data).toMatchObject(logEntryApp.data); expect(logEntryRecUser.metadata.host).toBe(logEntryApp.host); }; App.sorrirLogger.addListener("data", cb); app_1.logCompact(app_1.LogLevel.info, app_1.Stakeholder.USER, "Do we really need the data field?", dataApp); // needed for new callback on event setting in next test App.sorrirLogger.removeListener("data", cb); }); test("Test sorrir logger, system extended", () => { const logger_ = App.getLogger(); const logEntrySys = { context: { stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }, host: os.hostname(), data: dataSys, stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }; const cb = function (logEntryRecSys) { expect(logEntryRecSys.metadata.context).toMatchObject(logEntrySys.context); //expect(logEntrySys.contextFields).toBe(logEntryRecSys.contextFields); expect(logEntryRecSys.metadata.data).toMatchObject(logEntrySys.data); expect(logEntryRecSys.metadata.host).toBe(logEntrySys.host); }; App.sorrirLogger.addListener("data", cb); //App.sorrirLogger.on("data", cb); app_1.log(app_1.LogLevel.info, "Do we really need the data field?", dataSys, { area: sysContext.area, }); // needed for new callback on event setting in next test App.sorrirLogger.removeListener("data", cb); }); test("Test sorrir logger, system compact", () => { const logger_ = App.getLogger(); const logEntrySys = { context: { stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }, host: os.hostname(), data: dataSys, stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }; const cb = function (logEntryRecSys) { expect(logEntryRecSys.metadata.context).toMatchObject(logEntrySys.context); //expect(logEntrySys.contextFields).toBe(logEntryRecSys.contextFields); expect(logEntryRecSys.metadata.data).toMatchObject(logEntrySys.data); expect(logEntryRecSys.metadata.host).toBe(logEntrySys.host); }; App.sorrirLogger.addListener("data", cb); //App.sorrirLogger.on("data", cb); App.configLogger(logEntrySys.contextFields); app_1.logCompact(app_1.LogLevel.info, app_1.Stakeholder.SYSTEM, "Do we really need the data field?", dataSys); // needed for new callback on event setting in next test App.sorrirLogger.removeListener("data", cb); }); test("Test sorrir logger, app warn extended", () => { const logEntryApp = { context: { stakeholder: App.Stakeholder.USER, contextFields: appContext }, host: os.hostname(), data: dataApp, stakeholder: App.Stakeholder.USER, contextFields: appContext, }; const cb = function (logEntryRecUser) { expect(logEntryRecUser.metadata.context).toMatchObject(logEntryApp.context); //expect(logEntryApp.contextFields).toBe(logEntryRecUser.contextFields); expect(logEntryRecUser.metadata.data).toMatchObject(logEntryApp.data); expect(logEntryRecUser.metadata.host).toBe(logEntryApp.host); }; App.sorrirLogger.addListener("data", cb); app_1.debug(app_1.Stakeholder.USER, "Do we really need the data field?", dataApp, { unit: appContext.unit, component: appContext.component, degradationMode: appContext.degradationMode, }); // needed for new callback on event setting in next test App.sorrirLogger.removeListener("data", cb); }); test("Test sorrir logger, app warn compact", () => { const logEntryApp = { context: { stakeholder: App.Stakeholder.USER, contextFields: appContext }, host: os.hostname(), data: dataApp, stakeholder: App.Stakeholder.USER, contextFields: appContext, }; App.configLogger(logEntryApp.contextFields); const cb = function (logEntryRecUser) { expect(logEntryRecUser.metadata.context).toMatchObject(logEntryApp.context); //expect(logEntryApp.contextFields).toBe(logEntryRecUser.contextFields); expect(logEntryRecUser.metadata.data).toMatchObject(logEntryApp.data); expect(logEntryRecUser.metadata.host).toBe(logEntryApp.host); }; App.sorrirLogger.addListener("data", cb); app_1.debug(app_1.Stakeholder.USER, "Do we really need the data field?", dataApp); // needed for new callback on event setting in next test App.sorrirLogger.removeListener("data", cb); }); test("Test sorrir logger, system warn extended", () => { const logger_ = App.getLogger(); const logEntrySys = { context: { stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }, host: os.hostname(), data: dataSys, stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }; const cb = function (logEntryRecSys) { expect(logEntryRecSys.metadata.context).toMatchObject(logEntrySys.context); //expect(logEntrySys.contextFields).toBe(logEntryRecSys.contextFields); expect(logEntryRecSys.metadata.data).toMatchObject(logEntrySys.data); expect(logEntryRecSys.metadata.host).toBe(logEntrySys.host); }; App.sorrirLogger.addListener("data", cb); //App.sorrirLogger.on("data", cb); app_1.debug(app_1.Stakeholder.SYSTEM, "Do we really need the data field?", dataSys, { area: sysContext.area, }); // needed for new callback on event setting in next test App.sorrirLogger.removeListener("data", cb); }); test("Test sorrir logger, system compact", () => { const logger_ = App.getLogger(); const logEntrySys = { context: { stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }, host: os.hostname(), data: dataSys, stakeholder: App.Stakeholder.SYSTEM, contextFields: sysContext, }; const cb = function (logEntryRecSys) { expect(logEntryRecSys.metadata.context).toMatchObject(logEntrySys.context); //expect(logEntrySys.contextFields).toBe(logEntryRecSys.contextFields); expect(logEntryRecSys.metadata.data).toMatchObject(logEntrySys.data); expect(logEntryRecSys.metadata.host).toBe(logEntrySys.host); }; App.sorrirLogger.addListener("data", cb); //App.sorrirLogger.on("data", cb); App.configLogger(logEntrySys.contextFields); app_1.debug(app_1.Stakeholder.SYSTEM, "Do we really need the data field?", dataSys); }); }); //# sourceMappingURL=app.test.js.map