Skip to content

Commit d0ac2c5

Browse files
committed
chore: update mock_transport.dart copy in the DIO integration tests
1 parent 110b200 commit d0ac2c5

File tree

2 files changed

+29
-37
lines changed

2 files changed

+29
-37
lines changed

dart/test/mocks/mock_transport.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class MockTransport implements Transport {
3030
final event = await _eventFromEnvelope(envelope);
3131
events.add(event);
3232
} catch (e, stack) {
33-
_exceptions += "$e\n$stack\n\n";
33+
_exceptions += '$e\n$stack\n\n';
3434
rethrow;
3535
}
3636

@@ -41,8 +41,8 @@ class MockTransport implements Transport {
4141
final envelopeItemData = <int>[];
4242
envelopeItemData.addAll(await envelope.items.first.envelopeItemStream());
4343

44-
final envelopeItem = utf8.decode(envelopeItemData);
45-
final envelopeItemJson = jsonDecode(envelopeItem.split('\n').last);
44+
final envelopeItem = utf8.decode(envelopeItemData).split('\n').last;
45+
final envelopeItemJson = jsonDecode(envelopeItem) as Map<String, dynamic>;
4646
return SentryEvent.fromJson(envelopeItemJson);
4747
}
4848

dio/test/mocks/mock_transport.dart

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,38 @@
11
import 'dart:convert';
22

33
import 'package:sentry/sentry.dart';
4-
import 'no_such_method_provider.dart';
4+
import 'package:test/expect.dart';
55

6-
class MockTransport with NoSuchMethodProvider implements Transport {
6+
class MockTransport implements Transport {
77
List<SentryEnvelope> envelopes = [];
88
List<SentryEvent> events = [];
9-
int calls = 0;
9+
10+
int _calls = 0;
11+
String _exceptions = '';
12+
13+
int get calls {
14+
expect(_exceptions, isEmpty);
15+
return _calls;
16+
}
1017

1118
bool called(int calls) {
1219
return calls == calls;
1320
}
1421

1522
@override
1623
Future<SentryId> send(SentryEnvelope envelope) async {
17-
calls++;
18-
19-
envelopes.add(envelope);
20-
final event = await _eventFromEnvelope(envelope);
21-
events.add(event);
24+
_calls++;
25+
26+
// Exception here would be swallowed by Sentry, making it hard to find test
27+
// failure causes. Instead, we log them and check on access to [calls].
28+
try {
29+
envelopes.add(envelope);
30+
final event = await _eventFromEnvelope(envelope);
31+
events.add(event);
32+
} catch (e, stack) {
33+
_exceptions += '$e\n$stack\n\n';
34+
rethrow;
35+
}
2236

2337
return envelope.header.eventId ?? SentryId.empty();
2438
}
@@ -27,37 +41,15 @@ class MockTransport with NoSuchMethodProvider implements Transport {
2741
final envelopeItemData = <int>[];
2842
envelopeItemData.addAll(await envelope.items.first.envelopeItemStream());
2943

30-
final envelopeItem = utf8.decode(envelopeItemData);
31-
final dynamic envelopeItemJson = jsonDecode(envelopeItem.split('\n').last);
32-
final envelopeMap = envelopeItemJson as Map<String, dynamic>;
33-
final requestJson = envelopeMap['request'] as Map<String, dynamic>?;
34-
35-
// '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, String>'
36-
final headersMap = requestJson?['headers'] as Map<String, dynamic>?;
37-
final newHeadersMap = <String, String>{};
38-
if (headersMap != null) {
39-
for (final entry in headersMap.entries) {
40-
newHeadersMap[entry.key] = entry.value as String;
41-
}
42-
envelopeMap['request']['headers'] = newHeadersMap;
43-
}
44-
45-
final otherMap = requestJson?['other'] as Map<String, dynamic>?;
46-
final newOtherMap = <String, String>{};
47-
if (otherMap != null) {
48-
for (final entry in otherMap.entries) {
49-
newOtherMap[entry.key] = entry.value as String;
50-
}
51-
envelopeMap['request']['other'] = newOtherMap;
52-
}
53-
54-
return SentryEvent.fromJson(envelopeMap);
44+
final envelopeItem = utf8.decode(envelopeItemData).split('\n').last;
45+
final envelopeItemJson = jsonDecode(envelopeItem) as Map<String, dynamic>;
46+
return SentryEvent.fromJson(envelopeItemJson);
5547
}
5648

5749
void reset() {
5850
envelopes.clear();
5951
events.clear();
60-
calls = 0;
52+
_calls = 0;
6153
}
6254
}
6355

0 commit comments

Comments
 (0)