UNPKG

wa-chat-server

Version:

Watson Assistant powered chat server

93 lines (92 loc) 4.42 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.LoggerTest = void 0; const LoggerDriver_1 = require("../../class/Logger/LoggerDriver"); const Logger_1 = require("../../class/Logger/Logger"); const WAChatServerConfigMock_1 = require("../mock/WAChatServerConfigMock"); class LoggerTest { getLoggingDriver(level, msg, params) { class LoggingLoggerDriver extends LoggerDriver_1.LoggerDriver { log(msgLevel, message, parameters) { return __awaiter(this, void 0, void 0, function* () { expect(msgLevel).toStrictEqual(level); expect(message).toStrictEqual(msg); expect(parameters).toStrictEqual(params); }); } } return LoggingLoggerDriver; } getNonLoggingDriver(driverName) { class NonLoggingLoggerDriver extends LoggerDriver_1.LoggerDriver { // eslint-disable-next-line @typescript-eslint/no-unused-vars log(msgLevel, message, parameters) { return __awaiter(this, void 0, void 0, function* () { throw new Error(`Driver ${driverName} must not log!`); }); } } return NonLoggingLoggerDriver; } getConfig(override = {}) { return Object.assign(Object.assign({}, new WAChatServerConfigMock_1.WAChatServerConfigMock()), override); } localConsoleTest(level) { return __awaiter(this, void 0, void 0, function* () { it(`local-console-${level}`, () => __awaiter(this, void 0, void 0, function* () { expect.assertions(3); const logger = new Logger_1.Logger(this.getConfig(), null, { console: this.getLoggingDriver(level, 'MSG', [{ a: 'A' }]), logdna: this.getNonLoggingDriver('logdna'), }); yield logger[level]('MSG', { a: 'A' }); })); }); } serverLogDNATest(level) { return __awaiter(this, void 0, void 0, function* () { it(`server-logdna-${level}`, () => __awaiter(this, void 0, void 0, function* () { expect.assertions(3); const logger = new Logger_1.Logger( // eslint-disable-next-line @typescript-eslint/camelcase this.getConfig({ logdna_url: 'http://eu.eu', logdna_key: 'KEY', VCAP_APP_PORT: 1111 }), null, { console: this.getNonLoggingDriver('console'), logdna: this.getLoggingDriver(level, 'MSG', [{ a: 'A' }]), }); yield logger[level]('MSG', { a: 'A' }); })); }); } localConsoleAndLogDNATest(level) { return __awaiter(this, void 0, void 0, function* () { it(`local-console_and_logdna-${level}`, () => __awaiter(this, void 0, void 0, function* () { expect.assertions(6); const logger = new Logger_1.Logger( // eslint-disable-next-line @typescript-eslint/camelcase this.getConfig({ logdna_url: 'http://eu.eu', logdna_key: 'KEY' }), null, { console: this.getLoggingDriver(level, 'MSG', [{ a: 'A' }]), logdna: this.getLoggingDriver(level, 'MSG', [{ a: 'A' }]), }); yield logger[level]('MSG', { a: 'A' }); })); }); } test() { return __awaiter(this, void 0, void 0, function* () { this.localConsoleTest('debug'); this.serverLogDNATest('debug'); this.localConsoleAndLogDNATest('debug'); }); } } exports.LoggerTest = LoggerTest; new LoggerTest().test();