Skip to content

Commit 692c688

Browse files
fix: add more test cases
1 parent faf96d3 commit 692c688

File tree

2 files changed

+51
-13
lines changed

2 files changed

+51
-13
lines changed

lib/src/modules/network_logger.dart

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,6 @@ class NetworkLogger {
7070
_manager.setOmitLogCallback(callback);
7171
}
7272

73-
Future<void> networkLog(NetworkData data) async {
74-
final w3Header = await getW3CHeader(
75-
data.requestHeaders,
76-
data.startTime.millisecondsSinceEpoch,
77-
);
78-
if (w3Header?.isW3cHeaderFound == false &&
79-
w3Header?.w3CGeneratedHeader != null) {
80-
data.requestHeaders['traceparent'] = w3Header?.w3CGeneratedHeader;
81-
}
82-
networkLogInternal(data);
83-
}
84-
8573
@internal
8674
Future<void> networkLogInternal(NetworkData data) async {
8775
final omit = await _manager.omitLog(data);

test/network_logger_test.dart

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'dart:async';
2+
import 'dart:math';
23

34
import 'package:flutter/widgets.dart';
45
import 'package:flutter_test/flutter_test.dart';
@@ -21,6 +22,7 @@ import 'network_logger_test.mocks.dart';
2122
NetworkManager,
2223
W3CHeaderUtils,
2324
FeatureFlagsManager,
25+
Random,
2426
])
2527
void main() {
2628
TestWidgetsFlutterBinding.ensureInitialized();
@@ -30,7 +32,7 @@ void main() {
3032
final mInstabugHost = MockInstabugHostApi();
3133
final mBuildInfo = MockIBGBuildInfo();
3234
final mManager = MockNetworkManager();
33-
35+
final mRandom = MockRandom();
3436
final logger = NetworkLogger();
3537
final data = NetworkData(
3638
url: "https://httpbin.org/get",
@@ -155,4 +157,52 @@ void main() {
155157
mManager.setOmitLogCallback(callback),
156158
).called(1);
157159
});
160+
161+
test(
162+
'[getW3CHeader] should return null when isW3cExternalTraceIDEnabled disabled',
163+
() async {
164+
when(mBuildInfo.isAndroid).thenReturn(true);
165+
166+
when(mInstabugHost.isW3CFeatureFlagsEnabled()).thenAnswer(
167+
(_) => Future.value({
168+
"isW3cExternalTraceIDEnabled": false,
169+
"isW3cExternalGeneratedHeaderEnabled": false,
170+
"isW3cCaughtHeaderEnabled": false,
171+
}),
172+
);
173+
final time = DateTime.now().millisecondsSinceEpoch;
174+
final w3cHeader = await logger.getW3CHeader({}, time);
175+
expect(w3cHeader, null);
176+
});
177+
178+
test(
179+
'[getW3CHeader] should return transparent header when isW3cCaughtHeaderEnabled enabled',
180+
() async {
181+
when(mBuildInfo.isAndroid).thenReturn(false);
182+
183+
final time = DateTime.now().millisecondsSinceEpoch;
184+
final w3cHeader =
185+
await logger.getW3CHeader({"traceparent": "Header test"}, time);
186+
expect(w3cHeader!.isW3cHeaderFound, true);
187+
expect(w3cHeader.w3CCaughtHeader, "Header test");
188+
});
189+
190+
test(
191+
'[getW3CHeader] should return generated header when isW3cExternalGeneratedHeaderEnabled and no traceparent header',
192+
() async {
193+
W3CHeaderUtils().$setRandom(mRandom);
194+
when(mBuildInfo.isAndroid).thenReturn(false);
195+
196+
when(mRandom.nextInt(any)).thenReturn(217222);
197+
198+
final time = DateTime.now().millisecondsSinceEpoch;
199+
final w3cHeader = await logger.getW3CHeader({}, time);
200+
final generatedW3CHeader = W3CHeaderUtils().generateW3CHeader(time);
201+
202+
expect(w3cHeader!.isW3cHeaderFound, false);
203+
expect(w3cHeader.w3CGeneratedHeader, generatedW3CHeader.w3cHeader);
204+
expect(w3cHeader.partialId, generatedW3CHeader.partialId);
205+
expect(w3cHeader.networkStartTimeInSeconds,
206+
generatedW3CHeader.timestampInSeconds);
207+
});
158208
}

0 commit comments

Comments
 (0)