Skip to content

Commit 7119971

Browse files
committed
test: Add browser integration tests for logs
1 parent 2ed6fc2 commit 7119971

File tree

3 files changed

+54
-0
lines changed

3 files changed

+54
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import * as Sentry from '@sentry/browser';
2+
3+
window.Sentry = Sentry;
4+
5+
Sentry.init({
6+
dsn: 'https://[email protected]/1337',
7+
_experiments: {
8+
enableLogs: true,
9+
},
10+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Sentry.logger.info('test info');
2+
Sentry.logger.debug('test debug');
3+
Sentry.logger.warn('test warn');
4+
Sentry.logger.error('test error');
5+
Sentry.logger.fatal('test fatal');
6+
Sentry.logger.critical('test critical');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { expect } from '@playwright/test';
2+
import type { SerializedOtelLog } from '@sentry/core';
3+
4+
import { sentryTest } from '../../../utils/fixtures';
5+
import { getFirstSentryEnvelopeRequest } from '../../../utils/helpers';
6+
7+
sentryTest('should capture all logging methods', async ({ getLocalTestUrl, page }) => {
8+
const url = await getLocalTestUrl({ testDir: __dirname });
9+
10+
// Get all events from the page
11+
const events = await Promise.all([
12+
getFirstSentryEnvelopeRequest<SerializedOtelLog>(page, url),
13+
getFirstSentryEnvelopeRequest<SerializedOtelLog>(page, url),
14+
getFirstSentryEnvelopeRequest<SerializedOtelLog>(page, url),
15+
getFirstSentryEnvelopeRequest<SerializedOtelLog>(page, url),
16+
getFirstSentryEnvelopeRequest<SerializedOtelLog>(page, url),
17+
getFirstSentryEnvelopeRequest<SerializedOtelLog>(page, url),
18+
]);
19+
20+
// Verify each log level
21+
expect(events[0].severityText).toBe('info');
22+
expect(events[0].body.stringValue).toBe('test info');
23+
24+
expect(events[1].severityText).toBe('debug');
25+
expect(events[1].body.stringValue).toBe('test debug');
26+
27+
expect(events[2].severityText).toBe('warning');
28+
expect(events[2].body.stringValue).toBe('test warn');
29+
30+
expect(events[3].severityText).toBe('error');
31+
expect(events[3].body.stringValue).toBe('test error');
32+
33+
expect(events[4].severityText).toBe('fatal');
34+
expect(events[4].body.stringValue).toBe('test fatal');
35+
36+
expect(events[5].severityText).toBe('critical');
37+
expect(events[5].body.stringValue).toBe('test critical');
38+
});

0 commit comments

Comments
 (0)