Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
6a35dad
Move to local dependency
vishnukvmd May 28, 2022
1ba4085
Pass DSN within the SentryEnvelopeHeader
vishnukvmd May 28, 2022
a6fb6c0
Switch to remote dependency as an override is already declared
vishnukvmd Jun 14, 2022
152d32a
Merge branch 'main' into sentry_tunnel
ua741 Sep 27, 2022
3502ee4
Fix broken tests
ua741 Sep 27, 2022
bd69848
Fix test
ua741 Sep 28, 2022
93b03da
fix lint
marandaneto Oct 7, 2022
a6310cb
Merge branch 'main' into sentry_tunnel
marandaneto Oct 7, 2022
7534e82
fix
marandaneto Oct 7, 2022
647697c
fix tests
marandaneto Oct 7, 2022
0cb505d
pr id
marandaneto Oct 7, 2022
4f8a29c
pr id
marandaneto Oct 7, 2022
441d14f
add tests
marandaneto Oct 7, 2022
7dc6ab3
Merge branch 'main' into sentry_tunnel
marandaneto Oct 7, 2022
52265fe
fix
marandaneto Oct 7, 2022
78b8b57
Merge branch 'main' into sentry_tunnel
marandaneto Oct 7, 2022
65df091
Merge branch 'sentry_tunnel' of github.com:getsentry/sentry-dart into…
marandaneto Oct 7, 2022
06fc8cf
remove
marandaneto Oct 7, 2022
64c803f
fix
marandaneto Oct 7, 2022
fa35f2e
Merge branch 'main' into sentry_tunnel
marandaneto Oct 7, 2022
614334e
move bytes to file
marandaneto Oct 7, 2022
3b552e2
Merge branch 'main' into sentry_tunnel
marandaneto Oct 7, 2022
0742cde
Merge branch 'sentry_tunnel' of github.com:getsentry/sentry-dart into…
marandaneto Oct 7, 2022
9cd0ac9
test
marandaneto Oct 7, 2022
a33faf9
Merge branch 'main' into sentry_tunnel
marandaneto Oct 7, 2022
a0ef68c
lf fix
marandaneto Oct 7, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Pass DSN within the SentryEnvelopeHeader
  • Loading branch information
vishnukvmd committed May 28, 2022
commit 1ba4085ad44496f37392ae9172393d741fe65b75
1 change: 1 addition & 0 deletions dart/lib/src/sentry_client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ class SentryClient {
final envelope = SentryEnvelope.fromEvent(
preparedEvent,
_options.sdk,
_options.dsn,
attachments: scope?.attachements,
);

Expand Down
9 changes: 5 additions & 4 deletions dart/lib/src/sentry_envelope.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,12 @@ class SentryEnvelope {
/// Create an [SentryEnvelope] with containing one [SentryEnvelopeItem] which holds the [SentryEvent] data.
factory SentryEnvelope.fromEvent(
SentryEvent event,
SdkVersion sdkVersion, {
SdkVersion sdkVersion,
String? dsn, {
List<SentryAttachment>? attachments,
}) {
return SentryEnvelope(
SentryEnvelopeHeader(event.eventId, sdkVersion),
SentryEnvelopeHeader(event.eventId, sdkVersion, dsn),
[
SentryEnvelopeItem.fromEvent(event),
if (attachments != null)
Expand All @@ -39,7 +40,7 @@ class SentryEnvelope {
SdkVersion sdkVersion,
) {
return SentryEnvelope(
SentryEnvelopeHeader(feedback.eventId, sdkVersion),
SentryEnvelopeHeader(feedback.eventId, sdkVersion, null),
[SentryEnvelopeItem.fromUserFeedback(feedback)],
);
}
Expand All @@ -51,7 +52,7 @@ class SentryEnvelope {
List<SentryAttachment>? attachments,
}) {
return SentryEnvelope(
SentryEnvelopeHeader(transaction.eventId, sdkVersion),
SentryEnvelopeHeader(transaction.eventId, sdkVersion, null),
[
SentryEnvelopeItem.fromTransaction(transaction),
if (attachments != null)
Expand Down
11 changes: 9 additions & 2 deletions dart/lib/src/sentry_envelope_header.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,21 @@ import 'protocol/sdk_version.dart';

/// Header containing `SentryId` and `SdkVersion`.
class SentryEnvelopeHeader {
SentryEnvelopeHeader(this.eventId, this.sdkVersion);
SentryEnvelopeHeader(this.eventId, this.sdkVersion, this.dsn);
SentryEnvelopeHeader.newEventId()
: eventId = SentryId.newId(),
sdkVersion = null;
sdkVersion = null,
dsn = null;

/// The identifier of encoded `SentryEvent`.
final SentryId? eventId;

/// The `SdkVersion` with which the envelope was send.
final SdkVersion? sdkVersion;

/// The `DSN` of the Sentry project.
final String? dsn;

/// Header encoded as JSON
Map<String, dynamic> toJson() {
final json = <String, dynamic>{};
Expand All @@ -25,6 +29,9 @@ class SentryEnvelopeHeader {
if (tempSdkVersion != null) {
json['sdk'] = tempSdkVersion.toJson();
}
if (dsn != null) {
json['dsn'] = dsn;
}
return json;
}
}
5 changes: 4 additions & 1 deletion dart/test/mocks.dart
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,10 @@ typedef EventProcessorFunction = FutureOr<SentryEvent?>
Function(SentryEvent event, {dynamic hint});

var fakeEnvelope = SentryEnvelope.fromEvent(
fakeEvent, SdkVersion(name: 'sdk1', version: '1.0.0'));
fakeEvent,
SdkVersion(name: 'sdk1', version: '1.0.0'),
fakeDsn,
);

class MockRateLimiter implements RateLimiter {
bool filterReturnsNull = false;
Expand Down
4 changes: 2 additions & 2 deletions dart/test/sentry_envelope_header_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import 'package:test/test.dart';
void main() {
group('SentryEnvelopeHeader', () {
test('toJson empty', () {
final sut = SentryEnvelopeHeader(null, null);
final sut = SentryEnvelopeHeader(null, null, null);
final expected = <String, dynamic>{};
expect(sut.toJson(), expected);
});
Expand All @@ -16,7 +16,7 @@ void main() {
name: 'fixture-sdkName',
version: 'fixture-version',
);
final sut = SentryEnvelopeHeader(eventId, sdkVersion);
final sut = SentryEnvelopeHeader(eventId, sdkVersion, null);
final expextedSkd = sdkVersion.toJson();
final expected = <String, dynamic>{
'event_id': eventId.toString(),
Expand Down
11 changes: 9 additions & 2 deletions dart/test/sentry_envelope_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ void main() {

final item = SentryEnvelopeItem(itemHeader, dataFactory);

final header = SentryEnvelopeHeader(eventId, null);
final header = SentryEnvelopeHeader(eventId, null, null);
final sut = SentryEnvelope(header, [item, item]);

final expectedHeaderJson = header.toJson();
Expand All @@ -53,7 +53,9 @@ void main() {
final sentryEvent = SentryEvent(eventId: eventId);
final sdkVersion =
SdkVersion(name: 'fixture-name', version: 'fixture-version');
final sut = SentryEnvelope.fromEvent(sentryEvent, sdkVersion);
final fakeDsn = 'https://[email protected]/1234567';
final sut =
SentryEnvelope.fromEvent(sentryEvent, sdkVersion, fakeDsn);

final expectedEnvelopeItem = SentryEnvelopeItem.fromEvent(sentryEvent);

Expand Down Expand Up @@ -111,16 +113,19 @@ void main() {
final sentryEvent = SentryEvent(eventId: eventId);
final sdkVersion =
SdkVersion(name: 'fixture-name', version: 'fixture-version');
final fakeDsn = 'https://[email protected]/1234567';

final sut = SentryEnvelope.fromEvent(
sentryEvent,
sdkVersion,
fakeDsn,
attachments: [attachment],
);

final expectedEnvelopeItem = SentryEnvelope.fromEvent(
sentryEvent,
sdkVersion,
fakeDsn,
);

final sutEnvelopeData = <int>[];
Expand All @@ -140,12 +145,14 @@ void main() {
// This is a test for https://github.com/getsentry/sentry-dart/issues/523
test('serialize with non-serializable class', () async {
final event = SentryEvent(extra: {'non-ecodable': NonEncodable()});
final fakeDsn = 'https://[email protected]/1234567';
final sut = SentryEnvelope.fromEvent(
event,
SdkVersion(
name: 'test',
version: '1',
),
fakeDsn,
);

final _ = sut.envelopeStream(SentryOptions()).map((e) => e);
Expand Down
4 changes: 3 additions & 1 deletion dart/test/sentry_envelope_vm_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ void main() {

final eventId = SentryId.fromId('3b382f22ee67491f80f7dee18016a7b1');
final sdkVersion = SdkVersion(name: 'test', version: 'version');
final header = SentryEnvelopeHeader(eventId, sdkVersion);
final header = SentryEnvelopeHeader(eventId, sdkVersion, null);
final envelope = SentryEnvelope(header, [attachmentItem]);

final envelopeData = <int>[];
Expand All @@ -51,10 +51,12 @@ void main() {
final sdkVersion = SdkVersion(name: '', version: '');
final attachment =
IoSentryAttachment.fromPath('this_path_does_not_exist.txt');
final fakeDsn = 'https://[email protected]/1234567';

final envelope = SentryEnvelope.fromEvent(
event,
sdkVersion,
fakeDsn,
attachments: [attachment],
);

Expand Down
14 changes: 9 additions & 5 deletions dart/test/transport/http_transport_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import '../mocks.dart';

void main() {
SentryEnvelope givenEnvelope() {
final filteredEnvelopeHeader = SentryEnvelopeHeader(SentryId.empty(), null);
final filteredEnvelopeHeader = SentryEnvelopeHeader(SentryId.empty(), null, null);
final filteredItemHeader =
SentryEnvelopeItemHeader(SentryItemType.event, () async {
return 2;
Expand Down Expand Up @@ -66,8 +66,9 @@ void main() {
final sut = fixture.getSut(httpMock, mockRateLimiter);

final sentryEvent = SentryEvent();
final fakeDsn = 'https://[email protected]/1234567';
final envelope =
SentryEnvelope.fromEvent(sentryEvent, fixture.options.sdk);
SentryEnvelope.fromEvent(sentryEvent, fixture.options.sdk, fakeDsn);
await sut.send(envelope);

final envelopeData = <int>[];
Expand All @@ -90,8 +91,9 @@ void main() {
final sut = fixture.getSut(httpMock, mockRateLimiter);

final sentryEvent = SentryEvent();
final fakeDsn = 'https://[email protected]/1234567';
final envelope =
SentryEnvelope.fromEvent(sentryEvent, fixture.options.sdk);
SentryEnvelope.fromEvent(sentryEvent, fixture.options.sdk, fakeDsn);
final eventId = await sut.send(envelope);

expect(eventId, SentryId.empty());
Expand All @@ -114,8 +116,9 @@ void main() {
final sut = fixture.getSut(httpMock, mockRateLimiter);

final sentryEvent = SentryEvent();
final fakeDsn = 'https://[email protected]/1234567';
final envelope =
SentryEnvelope.fromEvent(sentryEvent, fixture.options.sdk);
SentryEnvelope.fromEvent(sentryEvent, fixture.options.sdk, fakeDsn);
await sut.send(envelope);

expect(mockRateLimiter.envelopeToFilter?.header.eventId,
Expand All @@ -135,8 +138,9 @@ void main() {
final sut = fixture.getSut(httpMock, mockRateLimiter);

final sentryEvent = SentryEvent();
final fakeDsn = 'https://[email protected]/1234567';
final envelope =
SentryEnvelope.fromEvent(sentryEvent, fixture.options.sdk);
SentryEnvelope.fromEvent(sentryEvent, fixture.options.sdk, fakeDsn);
await sut.send(envelope);

expect(mockRateLimiter.errorCode, 200);
Expand Down
3 changes: 3 additions & 0 deletions dio/test/mocks.dart
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,12 @@ class FunctionEventProcessor extends EventProcessor {
typedef EventProcessorFunction = FutureOr<SentryEvent?>
Function(SentryEvent event, {dynamic hint});

final fakeDsn = 'https://[email protected]/1234567';

var fakeEnvelope = SentryEnvelope.fromEvent(
fakeEvent,
SdkVersion(name: 'sdk1', version: '1.0.0'),
fakeDsn,
);

class MockRateLimiter implements RateLimiter {
Expand Down
9 changes: 6 additions & 3 deletions flutter/test/file_system_transport_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ void main() {
final event = SentryEvent();
final sdkVersion =
SdkVersion(name: 'fixture-sdkName', version: 'fixture-sdkVersion');
final fakeDsn = 'https://[email protected]/1234567';

final envelope = SentryEnvelope.fromEvent(event, sdkVersion);
final envelope = SentryEnvelope.fromEvent(event, sdkVersion, fakeDsn);
final sentryId = await transport.send(envelope);

expect(sentryId, sentryId);
Expand All @@ -44,8 +45,9 @@ void main() {
final event = SentryEvent();
final sdkVersion =
SdkVersion(name: 'fixture-sdkName', version: 'fixture-sdkVersion');
final fakeDsn = 'https://[email protected]/1234567';

final envelope = SentryEnvelope.fromEvent(event, sdkVersion);
final envelope = SentryEnvelope.fromEvent(event, sdkVersion, fakeDsn);
final sentryId = await transport.send(envelope);

expect(SentryId.empty(), sentryId);
Expand All @@ -63,7 +65,8 @@ void main() {
SentryEvent(message: SentryMessage('hi I am a special char ◤'));
final sdkVersion =
SdkVersion(name: 'fixture-sdkName', version: 'fixture-sdkVersion');
final envelope = SentryEnvelope.fromEvent(event, sdkVersion);
final fakeDsn = 'https://[email protected]/1234567';
final envelope = SentryEnvelope.fromEvent(event, sdkVersion, fakeDsn);
await transport.send(envelope);

final envelopeList = arguments as List;
Expand Down