UNPKG

wa-chat-server

Version:

Watson Assistant powered chat server

106 lines (105 loc) 4.71 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoggerDriverConsoleTest = void 0; const LoggerDriverConsole_1 = require("../../class/Logger/LoggerDriverConsole"); const WAChatServerConfigMock_1 = require("../mock/WAChatServerConfigMock"); class LoggerDriverConsoleTest { getConfig(configOverride = {}) { const retVal = new WAChatServerConfigMock_1.WAChatServerConfigMock(); Object.assign(retVal, configOverride); return retVal; } getDriver(level, msg, params, paramsToMatch = null, configOverride = {}) { return new LoggerDriverConsole_1.LoggerDriverConsole(this.getConfig(configOverride), { [level]: (message, ...parameters) => { const matches = /^\[([^\]]+)\] (.*)$/.exec(message); if (!matches) { throw new Error('Log message does not have expected format (with prepended time)'); } expect(matches[2]).toStrictEqual(msg); expect(parameters).toStrictEqual(paramsToMatch === null ? params : paramsToMatch); }, }); } constructorTest() { return __awaiter(this, void 0, void 0, function* () { it('constructor', () => { expect.assertions(1); try { new LoggerDriverConsole_1.LoggerDriverConsole(this.getConfig()); expect(true).toStrictEqual(true); } catch (e) { console.error(e.toString()); } }); }); } logTest(level) { return __awaiter(this, void 0, void 0, function* () { it(`log-${level}`, () => __awaiter(this, void 0, void 0, function* () { expect.assertions(2); const msg = 'MSG'; const params = [{ a: 'A' }, { b: 'B' }]; const driver = this.getDriver(level, msg, params); try { yield driver.log(level, msg, params); } catch (e) { console.error(e.toString()); } })); }); } // On IBM cloud objects must be logged as strings to prevent logging of not fully-expanded objects logOnIbmCloudTest() { return __awaiter(this, void 0, void 0, function* () { it('log-on-ibm-cloud-one-param', () => __awaiter(this, void 0, void 0, function* () { const msg = 'MSG'; const params = [{ a: 'A' }]; const paramsToLog = ["{ a: 'A' }"]; const configOverride = { VCAP_APP_PORT: 1111 }; const driver = this.getDriver('info', msg, params, paramsToLog, configOverride); try { yield driver.log('info', msg, params); } catch (e) { console.error(e.toString()); } })); it('log-on-ibm-cloud-more-params', () => __awaiter(this, void 0, void 0, function* () { const msg = 'MSG'; const params = [{ a: 'A' }, { b: 'B' }]; const paramsToLog = ["[ { a: 'A' }, { b: 'B' } ]"]; const configOverride = { VCAP_APP_PORT: 1111 }; const driver = this.getDriver('info', msg, params, paramsToLog, configOverride); try { yield driver.log('info', msg, params); } catch (e) { console.error(e.toString()); } })); }); } test() { return __awaiter(this, void 0, void 0, function* () { this.constructorTest(); ['debug', 'info', 'warn', 'error'].forEach((level) => { this.logTest(level); }); this.logOnIbmCloudTest(); }); } } exports.LoggerDriverConsoleTest = LoggerDriverConsoleTest; new LoggerDriverConsoleTest().test();