123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- import 'reflect-metadata';
- import { assert } from 'chai';
- import * as sinon from 'sinon';
- import chalk from 'chalk';
- import { InversifyContainerFacade } from '../../../src/container/InversifyContainerFacade';
- import { ServiceIdentifiers } from '../../../src/container/ServiceIdentifiers';
- import { IInversifyContainerFacade } from '../../../src/interfaces/container/IInversifyContainerFacade';
- import { ILogger } from '../../../src/interfaces/logger/ILogger';
- import { LoggingPrefix } from '../../../src/enums/logger/LoggingPrefix';
- import { Logger } from '../../../src/logger/Logger';
- import { LoggingMessage } from '../../../src/enums/logger/LoggingMessage';
- describe('Logger', () => {
- describe('log', () => {
- const loggingMessage: string = '[javascript-obfuscator] foo';
- const expectedConsoleLogCallResult: boolean = true;
- let consoleLogSpy: sinon.SinonSpy,
- consoleLogCallResult: boolean,
- loggingMessageResult: string;
- before(() => {
- consoleLogSpy = sinon.spy(console, 'log');
- Logger.log(chalk.cyan, LoggingPrefix.Base, 'foo');
- consoleLogCallResult = consoleLogSpy.called;
- loggingMessageResult = consoleLogSpy.getCall(0).args[0];
- });
- it('should call `console.log`', () => {
- assert.equal(consoleLogCallResult, expectedConsoleLogCallResult);
- });
- it('should log message to the console', () => {
- assert.include(loggingMessageResult, loggingMessage);
- });
- after(() => {
- consoleLogSpy.restore();
- });
- });
- describe('info', () => {
- describe('`log` option is enabled', () => {
- const loggingMessage: string = '[javascript-obfuscator] Obfuscation started...';
- const expectedConsoleLogCallResult: boolean = true;
- let consoleLogSpy: sinon.SinonSpy,
- consoleLogCallResult: boolean,
- inversifyContainerFacade: IInversifyContainerFacade,
- loggingMessageResult: string;
- before(() => {
- inversifyContainerFacade = new InversifyContainerFacade();
- inversifyContainerFacade.load('', {
- log: true
- });
- const logger: ILogger = inversifyContainerFacade.get<ILogger>(ServiceIdentifiers.ILogger);
- consoleLogSpy = sinon.spy(console, 'log');
- logger.info(LoggingMessage.ObfuscationStarted);
- consoleLogCallResult = consoleLogSpy.called;
- loggingMessageResult = consoleLogSpy.getCall(0).args[0];
- });
- it('should call `console.log`', () => {
- assert.equal(consoleLogCallResult, expectedConsoleLogCallResult);
- });
- it('should log `info` message to the console', () => {
- assert.include(loggingMessageResult, loggingMessage);
- });
- after(() => {
- consoleLogSpy.restore();
- inversifyContainerFacade.unload();
- });
- });
- describe('`log` option is disabled', () => {
- const expectedConsoleLogCallResult: boolean = false;
- let consoleLogSpy: sinon.SinonSpy,
- consoleLogCallResult: boolean,
- inversifyContainerFacade: IInversifyContainerFacade;
- before(() => {
- inversifyContainerFacade = new InversifyContainerFacade();
- inversifyContainerFacade.load('', {
- log: false
- });
- const logger: ILogger = inversifyContainerFacade.get<ILogger>(ServiceIdentifiers.ILogger);
- consoleLogSpy = sinon.spy(console, 'log');
- logger.info(LoggingMessage.ObfuscationStarted);
- consoleLogCallResult = consoleLogSpy.called;
- });
- it('shouldn\'t call `console.log`', () => {
- assert.equal(consoleLogCallResult, expectedConsoleLogCallResult);
- });
- after(() => {
- consoleLogSpy.restore();
- inversifyContainerFacade.unload();
- });
- });
- });
- describe('success', () => {
- describe('`log` option is enabled', () => {
- const loggingMessage: string = '[javascript-obfuscator] Obfuscation started...';
- const expectedConsoleLogCallResult: boolean = true;
- let consoleLogSpy: sinon.SinonSpy,
- consoleLogCallResult: boolean,
- inversifyContainerFacade: IInversifyContainerFacade,
- loggingMessageResult: string;
- before(() => {
- inversifyContainerFacade = new InversifyContainerFacade();
- inversifyContainerFacade.load('', {
- log: true
- });
- const logger: ILogger = inversifyContainerFacade.get<ILogger>(ServiceIdentifiers.ILogger);
- consoleLogSpy = sinon.spy(console, 'log');
- logger.success(LoggingMessage.ObfuscationStarted);
- consoleLogCallResult = consoleLogSpy.called;
- loggingMessageResult = consoleLogSpy.getCall(0).args[0];
- });
- it('should call `console.log`', () => {
- assert.equal(consoleLogCallResult, expectedConsoleLogCallResult);
- });
- it('should log `success` message to the console', () => {
- assert.include(loggingMessageResult, loggingMessage);
- });
- after(() => {
- consoleLogSpy.restore();
- inversifyContainerFacade.unload();
- });
- });
- describe('`log` option is disabled', () => {
- const expectedConsoleLogCallResult: boolean = false;
- let consoleLogSpy: sinon.SinonSpy,
- consoleLogCallResult: boolean,
- inversifyContainerFacade: IInversifyContainerFacade;
- before(() => {
- inversifyContainerFacade = new InversifyContainerFacade();
- inversifyContainerFacade.load('', {
- log: false
- });
- const logger: ILogger = inversifyContainerFacade.get<ILogger>(ServiceIdentifiers.ILogger);
- consoleLogSpy = sinon.spy(console, 'log');
- logger.success(LoggingMessage.ObfuscationStarted);
- consoleLogCallResult = consoleLogSpy.called;
- });
- it('shouldn\'t call `console.log`', () => {
- assert.equal(consoleLogCallResult, expectedConsoleLogCallResult);
- });
- after(() => {
- consoleLogSpy.restore();
- inversifyContainerFacade.unload();
- });
- });
- });
- describe('warn', () => {
- describe('`log` option is enabled', () => {
- const loggingMessage: string = '[javascript-obfuscator] Obfuscation started...';
- const expectedConsoleLogCallResult: boolean = true;
- let consoleLogSpy: sinon.SinonSpy,
- consoleLogCallResult: boolean,
- inversifyContainerFacade: IInversifyContainerFacade,
- loggingMessageResult: string;
- before(() => {
- inversifyContainerFacade = new InversifyContainerFacade();
- inversifyContainerFacade.load('', {
- log: true
- });
- const logger: ILogger = inversifyContainerFacade.get<ILogger>(ServiceIdentifiers.ILogger);
- consoleLogSpy = sinon.spy(console, 'log');
- logger.warn(LoggingMessage.ObfuscationStarted);
- consoleLogCallResult = consoleLogSpy.called;
- loggingMessageResult = consoleLogSpy.getCall(0).args[0];
- });
- it('should call `console.log`', () => {
- assert.equal(consoleLogCallResult, expectedConsoleLogCallResult);
- });
- it('should log `warn` message to the console', () => {
- assert.include(loggingMessageResult, loggingMessage);
- });
- after(() => {
- consoleLogSpy.restore();
- inversifyContainerFacade.unload();
- });
- });
- describe('`log` option is disabled', () => {
- const expectedConsoleLogCallResult: boolean = false;
- let consoleLogSpy: sinon.SinonSpy,
- consoleLogCallResult: boolean,
- inversifyContainerFacade: IInversifyContainerFacade;
- before(() => {
- inversifyContainerFacade = new InversifyContainerFacade();
- inversifyContainerFacade.load('', {
- log: false
- });
- const logger: ILogger = inversifyContainerFacade.get<ILogger>(ServiceIdentifiers.ILogger);
- consoleLogSpy = sinon.spy(console, 'log');
- logger.warn(LoggingMessage.ObfuscationStarted);
- consoleLogCallResult = consoleLogSpy.called;
- });
- it('shouldn\'t call `console.log`', () => {
- assert.equal(consoleLogCallResult, expectedConsoleLogCallResult);
- });
- after(() => {
- consoleLogSpy.restore();
- inversifyContainerFacade.unload();
- });
- });
- });
- });
|