simple-log-methods
Version:
a simple and opinionated logging library. plays well with aws lambda + cloudwatch.
50 lines • 2.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const __1 = require("..");
const constants_1 = require("../domain/constants");
const formatLogContentsForEnvironment_1 = require("./formatLogContentsForEnvironment");
const identifyEnvironment_1 = require("./identifyEnvironment");
jest.mock('./identifyEnvironment');
const identifyEnvironmentMock = identifyEnvironment_1.identifyEnvironment;
describe('formatMetadataForEnvironment', () => {
it('should not stringify the contents - but should stringify the metadata - if in the local environment', () => {
identifyEnvironmentMock.mockReturnValue(constants_1.SupportedEnvironment.LOCAL);
const metadata = { name: 'bob', likes: ['oranges', 'apples'] };
const logContents = {
level: __1.LogLevel.INFO,
timestamp: new Date().toISOString(),
message: 'hello world!',
metadata,
};
const formatted = (0, formatLogContentsForEnvironment_1.formatLogContentsForEnvironment)(logContents);
expect(formatted).toEqual({
...logContents,
metadata: JSON.stringify(metadata),
});
});
it('should stringify the contents in the aws lambda environment', () => {
identifyEnvironmentMock.mockReturnValue(constants_1.SupportedEnvironment.AWS_LAMBDA);
const metadata = { name: 'bob', likes: ['oranges', 'apples'] };
const logContents = {
level: __1.LogLevel.INFO,
timestamp: new Date().toISOString(),
message: 'hello world!',
metadata,
};
const formatted = (0, formatLogContentsForEnvironment_1.formatLogContentsForEnvironment)(logContents);
expect(formatted).toEqual(JSON.stringify(logContents));
});
it('should not stringify the contents nor the metadata if in web browser environment', () => {
identifyEnvironmentMock.mockReturnValue(constants_1.SupportedEnvironment.WEB_BROWSER);
const metadata = { name: 'bob', likes: ['oranges', 'apples'] };
const logContents = {
level: __1.LogLevel.INFO,
timestamp: new Date().toISOString(),
message: 'hello world!',
metadata,
};
const formatted = (0, formatLogContentsForEnvironment_1.formatLogContentsForEnvironment)(logContents);
expect(formatted).toEqual(logContents);
});
});
//# sourceMappingURL=formatLogContentsForEnvironment.test.js.map