Skip to content

Commit

Permalink
add desktop logger unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jon gadsden committed Jan 24, 2023
1 parent f83701a commit 290fe3c
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 18 deletions.
2 changes: 1 addition & 1 deletion td.vue/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ module.exports = {
'!src/service/demo/**',
'!**/node_modules/**',
'!**/coverage/**',
'!src/main.js', // Bootstrap code
'!src/main*.js', // Bootstrap code for web app and desktop app
'!src/plugins/*.js' // Boostrap code
],
resetMocks: true,
Expand Down
20 changes: 8 additions & 12 deletions td.vue/src/desktop/logger.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
'use strict';
export const log = require('electron-log');

const logLevel = process.env.LOG_LEVEL || 'debug';
export const consoleLogLevel = 'error';
export const fileLogLevel = process.env.LOG_LEVEL || 'debug';
const isDevelopment = process.env.NODE_ENV !== 'production';
const isMacOS = process.platform === 'darwin';
const isWin = (process.platform === 'win32' || process.platform === 'win64');

export const log = require('electron-log');

if (isDevelopment) {
if (isMacOS) {
console.log('** Redirecting console to log ~/Library/Logs/Threat\\ Dragon/main.log');
Expand All @@ -17,16 +17,12 @@ if (isDevelopment) {
}
}

// set up electron-specific logLevel for the log file
log.info('Electron log level is set to: ' + logLevel);
log.transports.file.level = logLevel;
// set up electron-specific fileLogLevel for the log file
log.info('Electron log level is set to: ' + fileLogLevel);
log.transports.file.level = fileLogLevel;

// redirect electron-console messages to electron-log file (also using logLevel)
// redirect electron-console messages to electron-log file (also uses fileLogLevel)
Object.assign(console, log.functions);

// only echo error messages to console
log.transports.console.level = 'error';

export default {
log
};
log.transports.console.level = consoleLogLevel;
24 changes: 19 additions & 5 deletions td.vue/tests/unit/desktop/logger.spec.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
// these unit tests are waiting to be filled in during the desktop development
import {consoleLogLevel, fileLogLevel, log} from '@/desktop/logger.js';

describe('desktop/logger.js', () => {

describe('Desktop logger', () => {
it('should exit cleanly', () => {
// this is a placeholder for the real test yet to be written
expect(true).toBe(true);
describe('Electron server log levels', () => {

it('should set the file log level', () => {
expect(fileLogLevel).toMatch(process.env.LOG_LEVEL);
});

it('should set the console log level', () => {
expect(consoleLogLevel).toMatch('error');
});

});

describe('Electron server log transports', () => {

it('should be defined', () => {
expect(log.transports).toBeDefined();
});

});

});

0 comments on commit 290fe3c

Please sign in to comment.