Skip to content

Commit f6a6938

Browse files
committed
chore: add mock attribute to bugsee manager initialization
1 parent ac885a0 commit f6a6938

4 files changed

Lines changed: 41 additions & 14 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import 'package:flutter_test/flutter_test.dart';
2+
3+
/// Test all Bugsee setup features
4+
Future<void> bugseeSetupTest() async {
5+
testWidgets(
6+
'Test Bugsee configuration',
7+
(tester) async {},
8+
);
9+
}

src/app/integration_test/integration_test.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'package:flutter_test/flutter_test.dart';
44
import 'package:get_it/get_it.dart';
55
import 'package:integration_test/integration_test.dart';
66

7+
import 'bugsee_test.dart';
78
import 'dad_jokes_page_test.dart';
89
import 'forced_update_test.dart';
910
import 'kill_switch_test.dart';
@@ -12,6 +13,11 @@ import 'kill_switch_test.dart';
1213
Future<void> main() async {
1314
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
1415
await initializeComponents(isMocked: true);
16+
await registerBugseeManager(
17+
isMock: true,
18+
//A mock hexadecimal-based Bugsee token
19+
bugseeToken: '01234567-0123-0123-0123-0123456789AB',
20+
);
1521

1622
tearDownAll(
1723
() async => await GetIt.I.get<MockingRepository>().setMocking(false),
@@ -20,4 +26,5 @@ Future<void> main() async {
2026
await dadJokeTest();
2127
await killSwitchTest();
2228
await forcedUpdateTest();
29+
await bugseeSetupTest();
2330
}

src/app/lib/business/bugsee/bugsee_manager.dart

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ abstract interface class BugseeManager {
2828
/// [BUGSEE_TOKEN] in the env using `--dart-define` or `launch.json` on vscode
2929
Future<void> initialize({
3030
String? bugseeToken,
31+
bool isMock,
3132
required Logger logger,
3233
required LoggerManager loggerManager,
3334
required BugseeRepository bugseeRepository,
@@ -118,6 +119,7 @@ final class _BugseeManager implements BugseeManager {
118119
@override
119120
Future<void> initialize({
120121
String? bugseeToken,
122+
bool isMock = false,
121123
required Logger logger,
122124
required LoggerManager loggerManager,
123125
required BugseeRepository bugseeRepository,
@@ -145,6 +147,11 @@ final class _BugseeManager implements BugseeManager {
145147
launchOptions = _initializeLaunchOptions();
146148
_isBugSeeInitialized = false;
147149

150+
if (isMock) {
151+
_initializeBugsee(bugseeToken ?? '');
152+
return;
153+
}
154+
148155
if (kDebugMode) {
149156
_currentState = _currentState.copyWith(
150157
isConfigurationValid: false,
@@ -163,15 +170,12 @@ final class _BugseeManager implements BugseeManager {
163170
);
164171
return;
165172
}
173+
_initializeBugsee(bugseeToken);
174+
}
166175

167-
_currentState = _currentState.copyWith(
168-
isLogFilterEnabled: configurationData.isLogsFilterEnabled,
169-
isLogCollectionEnabled: configurationData.isLogCollectionEnabled,
170-
attachLogFile: configurationData.attachLogFileEnabled,
171-
);
172-
176+
void _initializeBugsee(String bugseeToken) async {
173177
if (configurationData.isBugseeEnabled ?? true) {
174-
await _launchBugseeLogger(bugseeToken);
178+
_isBugSeeInitialized = await _launchBugseeLogger(bugseeToken);
175179
}
176180

177181
_currentState = _currentState.copyWith(
@@ -180,10 +184,14 @@ final class _BugseeManager implements BugseeManager {
180184
isVideoCaptureEnabled: _isBugSeeInitialized &&
181185
(configurationData.isVideoCaptureEnabled ?? true),
182186
isDataObscured: configurationData.isDataObscured,
187+
isLogFilterEnabled: configurationData.isLogsFilterEnabled,
188+
isLogCollectionEnabled: configurationData.isLogCollectionEnabled,
189+
attachLogFile: configurationData.attachLogFileEnabled,
183190
);
184191
}
185192

186-
Future _launchBugseeLogger(String bugseeToken) async {
193+
Future<bool> _launchBugseeLogger(String bugseeToken) async {
194+
bool isInitialized = false;
187195
HttpOverrides.global = Bugsee.defaultHttpOverrides;
188196
await Bugsee.launch(
189197
bugseeToken,
@@ -193,16 +201,17 @@ final class _BugseeManager implements BugseeManager {
193201
"BUGSEE: not initialized, verify bugsee token configuration",
194202
);
195203
}
196-
_isBugSeeInitialized = isBugseeLaunched;
204+
isInitialized = isBugseeLaunched;
197205
},
198206
launchOptions: launchOptions,
199207
);
200-
if (_currentState.isLogFilterEnabled) {
208+
if (configurationData.isLogsFilterEnabled ?? false) {
201209
Bugsee.setLogFilter(_filterBugseeLogs);
202210
}
203-
if (_currentState.attachLogFile) {
211+
if (configurationData.attachLogFileEnabled ?? false) {
204212
Bugsee.setAttachmentsCallback(_attachLogFile);
205213
}
214+
return isInitialized;
206215
}
207216

208217
BugseeLaunchOptions? _initializeLaunchOptions() {

src/app/lib/main.dart

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Future<void> main() async {
4343
FlutterError.onError =
4444
GetIt.I.get<BugseeManager>().inteceptRenderExceptions;
4545
await initializeComponents();
46+
await registerBugseeManager();
4647
runApp(const App());
4748
},
4849
GetIt.I.get<BugseeManager>().inteceptExceptions,
@@ -53,7 +54,6 @@ Future initializeComponents({bool? isMocked}) async {
5354
WidgetsFlutterBinding.ensureInitialized();
5455
await _registerAndLoadEnvironment();
5556
await _registerAndLoadLoggers();
56-
await _registerBugseeManager();
5757

5858
_logger.d("Initialized environment and logger.");
5959

@@ -135,15 +135,17 @@ void _initializeBugseeManager() {
135135
);
136136
}
137137

138-
Future _registerBugseeManager() async {
138+
Future registerBugseeManager({bool? isMock, String? bugseeToken}) async {
139139
if (!GetIt.I.isRegistered<BugseeManager>()) {
140140
_initializeBugseeManager();
141141
}
142142
GetIt.I.get<BugseeManager>().initialize(
143-
bugseeToken: const String.fromEnvironment('BUGSEE_TOKEN'),
143+
bugseeToken:
144+
bugseeToken ?? const String.fromEnvironment('BUGSEE_TOKEN'),
144145
logger: GetIt.I.get<Logger>(),
145146
loggerManager: GetIt.I.get<LoggerManager>(),
146147
bugseeRepository: GetIt.I.get<BugseeRepository>(),
148+
isMock: isMock ?? false,
147149
);
148150
}
149151

0 commit comments

Comments
 (0)