Skip to content

Commit 5c2a1dc

Browse files
committed
update unit tests to validate entire logged string
1 parent 3a05283 commit 5c2a1dc

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed

aws-distro-opentelemetry-node-autoinstrumentation/test/exporter/console/logs/compact-console-log-exporter.test.ts

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,11 @@ describe('CompactConsoleLogRecordExporter', () => {
4242
expect(stdoutWriteSpy.calledOnce).toBeTruthy();
4343

4444
const writtenData = stdoutWriteSpy.firstCall.args[0];
45-
expect(typeof writtenData).toBe('string');
46-
expect(writtenData.endsWith('\n')).toBeTruthy();
45+
expect(writtenData).toBe(
46+
'{"resource":{"attributes":{}},"instrumentationScope":{"name":"test","version":"1.0.0"},"timestamp":1640995200000000,"severityText":"INFO","body":"test log message","attributes":{}}\n'
47+
);
4748

48-
const loggedContent = JSON.parse(writtenData.trim());
49+
const loggedContent = JSON.parse(writtenData);
4950
expect(loggedContent.body).toBe('test log message');
5051
expect(loggedContent.severityText).toBe('INFO');
5152
expect(loggedContent.instrumentationScope.name).toBe('test');
@@ -62,8 +63,17 @@ describe('CompactConsoleLogRecordExporter', () => {
6263
expect(result.code).toBe(ExportResultCode.SUCCESS);
6364
expect(stdoutWriteSpy.callCount).toBe(2);
6465

65-
const firstLogContent = JSON.parse(stdoutWriteSpy.firstCall.args[0].trim());
66-
const secondLogContent = JSON.parse(stdoutWriteSpy.secondCall.args[0].trim());
66+
const firstWrittenData = stdoutWriteSpy.firstCall.args[0];
67+
const secondWrittenData = stdoutWriteSpy.secondCall.args[0];
68+
expect(firstWrittenData).toBe(
69+
'{"resource":{"attributes":{}},"instrumentationScope":{"name":"test","version":"1.0.0"},"timestamp":1640995200000000,"severityText":"INFO","body":"log 1","attributes":{}}\n'
70+
);
71+
expect(secondWrittenData).toBe(
72+
'{"resource":{"attributes":{}},"instrumentationScope":{"name":"test","version":"1.0.0"},"timestamp":1640995200000000,"severityText":"INFO","body":"log 2","attributes":{}}\n'
73+
);
74+
75+
const firstLogContent = JSON.parse(firstWrittenData);
76+
const secondLogContent = JSON.parse(secondWrittenData);
6777

6878
expect(firstLogContent.body).toBe('log 1');
6979
expect(secondLogContent.body).toBe('log 2');
@@ -88,7 +98,12 @@ describe('CompactConsoleLogRecordExporter', () => {
8898
}).not.toThrow();
8999
expect(stdoutWriteSpy.calledOnce).toBeTruthy();
90100

91-
const loggedContent = JSON.parse(stdoutWriteSpy.firstCall.args[0].trim());
101+
const writtenData = stdoutWriteSpy.firstCall.args[0];
102+
expect(writtenData).toBe(
103+
'{"resource":{"attributes":{}},"instrumentationScope":{"name":"test","version":"1.0.0"},"timestamp":1640995200000000,"severityText":"INFO","body":"test log message","attributes":{}}\n'
104+
);
105+
106+
const loggedContent = JSON.parse(writtenData);
92107
expect(loggedContent.body).toBe('test log message');
93108
});
94109

@@ -100,7 +115,12 @@ describe('CompactConsoleLogRecordExporter', () => {
100115
}).not.toThrow();
101116
expect(stdoutWriteSpy.calledOnce).toBeTruthy();
102117

103-
const loggedContent = JSON.parse(stdoutWriteSpy.firstCall.args[0].trim());
118+
const writtenData = stdoutWriteSpy.firstCall.args[0];
119+
expect(writtenData).toBe(
120+
'{"resource":{"attributes":{}},"instrumentationScope":{"name":"test","version":"1.0.0"},"timestamp":1640995200000000,"severityText":"INFO","body":"test log message","attributes":{}}\n'
121+
);
122+
123+
const loggedContent = JSON.parse(writtenData);
104124
expect(loggedContent.body).toBe('test log message');
105125
});
106126

@@ -114,7 +134,11 @@ describe('CompactConsoleLogRecordExporter', () => {
114134
expect(result.code).toBe(ExportResultCode.SUCCESS);
115135

116136
const writtenData = stdoutWriteSpy.firstCall.args[0];
117-
const loggedContent = JSON.parse(writtenData.trim());
137+
expect(writtenData).toBe(
138+
'{"resource":{"attributes":{}},"instrumentationScope":{"name":"test","version":"1.0.0"},"timestamp":1640995200000000,"severityText":"INFO","body":"detailed test message","attributes":{"customKey":"customValue","requestId":"12345"}}\n'
139+
);
140+
141+
const loggedContent = JSON.parse(writtenData);
118142
expect(loggedContent.body).toBe('detailed test message');
119143
expect(loggedContent.severityText).toBe('INFO');
120144
expect(loggedContent.instrumentationScope.name).toBe('test');

0 commit comments

Comments
 (0)