From 5232b27cef6baa2e8a52d29beea8bcf2a52607eb Mon Sep 17 00:00:00 2001 From: Erick Date: Wed, 8 May 2024 15:33:16 -0700 Subject: [PATCH] feat: adding local file logging to the cli (#2034) Co-authored-by: Felix Angelov --- .gitignore | 3 +- .../shorebird_cli/lib/src/command_runner.dart | 12 +- .../release_new/android_releaser.dart | 1 + packages/shorebird_cli/lib/src/logger.dart | 99 +++++++- .../test/src/artifact_builder_test.dart | 4 +- .../test/src/artifact_manager_test.dart | 4 +- .../test/src/auth/auth_test.dart | 5 +- .../shorebird_cli/test/src/cache_test.dart | 4 +- .../src/code_push_client_wrapper_test.dart | 8 +- .../test/src/command_runner_test.dart | 8 +- .../build/build_aar_command_test.dart | 4 +- .../build/build_apk_command_test.dart | 4 +- .../build/build_app_bundle_command_test.dart | 4 +- .../build/build_ipa_command_test.dart | 4 +- .../cache/clean_cache_command_test.dart | 4 +- .../src/commands/doctor_command_test.dart | 4 +- .../flutter_versions_list_command_test.dart | 4 +- .../test/src/commands/init_command_test.dart | 4 +- .../src/commands/login_ci_command_test.dart | 4 +- .../test/src/commands/login_command_test.dart | 4 +- .../src/commands/logout_command_test.dart | 4 +- .../patch/patch_aar_command_test.dart | 4 +- .../patch/patch_android_command_test.dart | 4 +- .../patch/patch_ios_command_test.dart | 4 +- .../patch_ios_framework_command_test.dart | 4 +- .../commands/patch_new/aar_patcher_test.dart | 4 +- .../patch_new/android_patcher_test.dart | 4 +- .../patch_new/patch_new_command_test.dart | 4 +- .../src/commands/preview_command_test.dart | 4 +- .../release/release_aar_command_test.dart | 4 +- .../release/release_android_command_test.dart | 4 +- .../release/release_ios_command_test.dart | 4 +- .../release_ios_framework_command_test.dart | 4 +- .../release_new/aar_releaser_test.dart | 4 +- .../release_new/android_releaser_test.dart | 4 +- .../ios_framework_releaser_test.dart | 4 +- .../release_new/ios_releaser_test.dart | 4 +- .../release_new/release_new_command_test.dart | 4 +- .../test/src/commands/run_command_test.dart | 4 +- .../src/commands/upgrade_command_test.dart | 4 +- .../shorebird_cli/test/src/doctor_test.dart | 4 +- .../executables/devicectl/devicectl_test.dart | 4 +- .../src/executables/idevicesyslog_test.dart | 5 +- .../test/src/executables/ios_deploy_test.dart | 4 +- .../src/http_client/logging_client_test.dart | 5 +- .../shorebird_cli/test/src/logger_test.dart | 215 ++++++++++++++++++ packages/shorebird_cli/test/src/mocks.dart | 5 +- .../test/src/patch_diff_checker_test.dart | 4 +- .../src/shorebird_android_artifacts_test.dart | 5 +- .../test/src/shorebird_flutter_test.dart | 4 +- .../test/src/shorebird_process_test.dart | 4 +- .../test/src/shorebird_validator_test.dart | 4 +- 52 files changed, 427 insertions(+), 104 deletions(-) create mode 100644 packages/shorebird_cli/test/src/logger_test.dart diff --git a/.gitignore b/.gitignore index a5c5a93a..e2bf94c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ # Cached files bin/cache/ # Coverage directories used by Flutter & Dart tests -coverage/ \ No newline at end of file +coverage/ +logs/ diff --git a/packages/shorebird_cli/lib/src/command_runner.dart b/packages/shorebird_cli/lib/src/command_runner.dart index 244e1a94..2538a8f7 100644 --- a/packages/shorebird_cli/lib/src/command_runner.dart +++ b/packages/shorebird_cli/lib/src/command_runner.dart @@ -220,10 +220,20 @@ Run ${lightCyan.wrap('shorebird upgrade')} to upgrade.'''); } if (exitCode == ExitCode.software.code && logger.level != Level.verbose) { + final fileAnIssue = link( + uri: Uri.parse( + 'https://github.com/shorebirdtech/shorebird/issues/new/choose', + ), + message: 'file an issue', + ); logger.info( ''' -If you aren't sure why this command failed, re-run with the ${lightCyan.wrap('--verbose')} flag to see more information.''', +If you aren't sure why this command failed, re-run with the ${lightCyan.wrap('--verbose')} flag to see more information. + +You can also $fileAnIssue if you think this is a bug. Please include the following log file in your report: +${logger.logFile.absolute.path} +''', ); } diff --git a/packages/shorebird_cli/lib/src/commands/release_new/android_releaser.dart b/packages/shorebird_cli/lib/src/commands/release_new/android_releaser.dart index 644dc394..80142615 100644 --- a/packages/shorebird_cli/lib/src/commands/release_new/android_releaser.dart +++ b/packages/shorebird_cli/lib/src/commands/release_new/android_releaser.dart @@ -1,6 +1,7 @@ import 'package:mason_logger/mason_logger.dart'; import 'package:shorebird_cli/src/artifact_builder.dart'; import 'package:shorebird_cli/src/code_push_client_wrapper.dart'; +import 'package:shorebird_cli/src/commands/release_new/releaser.dart'; import 'package:shorebird_cli/src/commands/release_new/release_new.dart'; import 'package:shorebird_cli/src/doctor.dart'; import 'package:shorebird_cli/src/logger.dart'; diff --git a/packages/shorebird_cli/lib/src/logger.dart b/packages/shorebird_cli/lib/src/logger.dart index f09f7e54..3653cbdc 100644 --- a/packages/shorebird_cli/lib/src/logger.dart +++ b/packages/shorebird_cli/lib/src/logger.dart @@ -1,8 +1,103 @@ +import 'dart:io'; + import 'package:mason_logger/mason_logger.dart'; +import 'package:path/path.dart' as p; import 'package:scoped/scoped.dart'; +import 'package:shorebird_cli/src/shorebird_env.dart'; /// A reference to a [Logger] instance. -final loggerRef = create(Logger.new); +final loggerRef = create(ShorebirdLogger.new); /// The [Logger] instance available in the current zone. -Logger get logger => read(loggerRef); +ShorebirdLogger get logger => read(loggerRef); + +class ShorebirdLogger extends Logger { + static const _logFileName = 'shorebird.log'; + + late final File logFile = (() { + final timestamp = DateTime.now().millisecondsSinceEpoch; + + final file = File( + p.join( + shorebirdEnv.shorebirdRoot.path, + 'logs', + '${timestamp}_$_logFileName', + ), + ); + + if (!file.existsSync()) { + file.createSync(recursive: true); + } + + return file; + })(); + + void _logToFile(String level, String message, {required LogStyle style}) { + final styledMessage = style(message); + + logFile.writeAsStringSync( + '${DateTime.now().toIso8601String()} [$level] $styledMessage\n', + mode: FileMode.append, + ); + } + + @override + void info(String? message, {LogStyle? style}) { + super.info(message, style: style); + _logToFile( + 'INFO', + message ?? '', + style: style ?? theme.info, + ); + } + + @override + void detail(String? message, {LogStyle? style}) { + super.detail(message, style: style); + _logToFile( + 'DETAIL', + message ?? '', + style: style ?? theme.detail, + ); + } + + @override + void warn(String? message, {String tag = 'WARN', LogStyle? style}) { + super.warn(message, tag: tag, style: style); + _logToFile( + 'WARN', + message ?? '', + style: style ?? theme.warn, + ); + } + + @override + void success(String? message, {LogStyle? style}) { + super.success(message, style: style); + _logToFile( + 'SUCCESS', + message ?? '', + style: style ?? theme.success, + ); + } + + @override + void alert(String? message, {LogStyle? style}) { + super.alert(message, style: style); + _logToFile( + 'ALERT', + message ?? '', + style: style ?? theme.alert, + ); + } + + @override + void err(String? message, {LogStyle? style}) { + super.err(message, style: style); + _logToFile( + 'ERROR', + message ?? '', + style: style ?? theme.err, + ); + } +} diff --git a/packages/shorebird_cli/test/src/artifact_builder_test.dart b/packages/shorebird_cli/test/src/artifact_builder_test.dart index 027ec0d2..a0ed3248 100644 --- a/packages/shorebird_cli/test/src/artifact_builder_test.dart +++ b/packages/shorebird_cli/test/src/artifact_builder_test.dart @@ -19,7 +19,7 @@ import 'mocks.dart'; void main() { group(ArtifactBuilder, () { late Ios ios; - late Logger logger; + late ShorebirdLogger logger; late OperatingSystemInterface operatingSystemInterface; late ShorebirdAndroidArtifacts shorebirdAndroidArtifacts; late ShorebirdEnv shorebirdEnv; @@ -51,7 +51,7 @@ void main() { setUp(() { buildProcessResult = MockProcessResult(); ios = MockIos(); - logger = MockLogger(); + logger = MockShorebirdLogger(); operatingSystemInterface = MockOperatingSystemInterface(); pubGetProcessResult = MockProcessResult(); shorebirdAndroidArtifacts = MockShorebirdAndroidArtifacts(); diff --git a/packages/shorebird_cli/test/src/artifact_manager_test.dart b/packages/shorebird_cli/test/src/artifact_manager_test.dart index d7e4b0b0..5364b111 100644 --- a/packages/shorebird_cli/test/src/artifact_manager_test.dart +++ b/packages/shorebird_cli/test/src/artifact_manager_test.dart @@ -22,7 +22,7 @@ void main() { late Directory cacheArtifactDirectory; late http.Client httpClient; late Directory projectRoot; - late Logger logger; + late ShorebirdLogger logger; late ShorebirdEnv shorebirdEnv; late ShorebirdProcessResult patchProcessResult; late ShorebirdProcess shorebirdProcess; @@ -49,7 +49,7 @@ void main() { cacheArtifactDirectory = Directory.systemTemp.createTempSync(); cache = MockCache(); httpClient = MockHttpClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); patchProcessResult = MockProcessResult(); projectRoot = Directory.systemTemp.createTempSync(); shorebirdProcess = MockShorebirdProcess(); diff --git a/packages/shorebird_cli/test/src/auth/auth_test.dart b/packages/shorebird_cli/test/src/auth/auth_test.dart index 54981de7..45d6c9fd 100644 --- a/packages/shorebird_cli/test/src/auth/auth_test.dart +++ b/packages/shorebird_cli/test/src/auth/auth_test.dart @@ -6,7 +6,6 @@ import 'package:googleapis_auth/auth_io.dart'; import 'package:googleapis_auth/googleapis_auth.dart' as oauth2; import 'package:http/http.dart' as http; import 'package:jwt/jwt.dart' show Jwt, JwtPayload; -import 'package:mason_logger/mason_logger.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as p; import 'package:platform/platform.dart'; @@ -142,7 +141,7 @@ void main() { late String credentialsDir; late http.Client httpClient; late CodePushClient codePushClient; - late Logger logger; + late ShorebirdLogger logger; late Auth auth; late Platform platform; @@ -198,7 +197,7 @@ void main() { credentialsDir = Directory.systemTemp.createTempSync().path; httpClient = MockHttpClient(); codePushClient = MockCodePushClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); when(() => codePushClient.getCurrentUser()).thenAnswer((_) async => user); diff --git a/packages/shorebird_cli/test/src/cache_test.dart b/packages/shorebird_cli/test/src/cache_test.dart index 1802aae9..81459fc3 100644 --- a/packages/shorebird_cli/test/src/cache_test.dart +++ b/packages/shorebird_cli/test/src/cache_test.dart @@ -26,7 +26,7 @@ void main() { late ArtifactManager artifactManager; late Directory shorebirdRoot; late http.Client httpClient; - late Logger logger; + late ShorebirdLogger logger; late Platform platform; late Process chmodProcess; late ShorebirdEnv shorebirdEnv; @@ -70,7 +70,7 @@ void main() { setUp(() { artifactManager = MockArtifactManager(); httpClient = MockHttpClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); chmodProcess = MockProcess(); shorebirdEnv = MockShorebirdEnv(); diff --git a/packages/shorebird_cli/test/src/code_push_client_wrapper_test.dart b/packages/shorebird_cli/test/src/code_push_client_wrapper_test.dart index 1d803331..2c106fb9 100644 --- a/packages/shorebird_cli/test/src/code_push_client_wrapper_test.dart +++ b/packages/shorebird_cli/test/src/code_push_client_wrapper_test.dart @@ -27,7 +27,7 @@ void main() { group('scoped', () { late Auth auth; late http.Client httpClient; - late Logger logger; + late ShorebirdLogger logger; late Platform platform; late Progress progress; late ShorebirdEnv shorebirdEnv; @@ -40,7 +40,7 @@ void main() { setUp(() { auth = MockAuth(); httpClient = MockHttpClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); progress = MockProgress(); shorebirdEnv = MockShorebirdEnv(); @@ -142,7 +142,7 @@ void main() { ); late CodePushClient codePushClient; - late Logger logger; + late ShorebirdLogger logger; late Progress progress; late CodePushClientWrapper codePushClientWrapper; late Platform platform; @@ -168,7 +168,7 @@ void main() { setUp(() { codePushClient = MockCodePushClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); progress = MockProgress(); projectRoot = Directory.systemTemp.createTempSync(); diff --git a/packages/shorebird_cli/test/src/command_runner_test.dart b/packages/shorebird_cli/test/src/command_runner_test.dart index a16013b8..339b9655 100644 --- a/packages/shorebird_cli/test/src/command_runner_test.dart +++ b/packages/shorebird_cli/test/src/command_runner_test.dart @@ -20,7 +20,7 @@ void main() { const flutterRevision = 'test-flutter-revision'; const flutterVersion = '1.2.3'; - late Logger logger; + late ShorebirdLogger logger; late Platform platform; late ShorebirdEnv shorebirdEnv; late ShorebirdFlutter shorebirdFlutter; @@ -41,12 +41,16 @@ void main() { } setUp(() { - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); shorebirdEnv = MockShorebirdEnv(); shorebirdFlutter = MockShorebirdFlutter(); shorebirdVersion = MockShorebirdVersion(); when(() => logger.level).thenReturn(Level.info); + final logFile = MockFile(); + when(() => logger.logFile).thenReturn(logFile); + when(() => logFile.absolute).thenReturn(logFile); + when(() => logFile.path).thenReturn('test.log'); when( () => shorebirdEnv.shorebirdEngineRevision, ).thenReturn(shorebirdEngineRevision); diff --git a/packages/shorebird_cli/test/src/commands/build/build_aar_command_test.dart b/packages/shorebird_cli/test/src/commands/build/build_aar_command_test.dart index 634d8d4a..d7ddbbcf 100644 --- a/packages/shorebird_cli/test/src/commands/build/build_aar_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/build/build_aar_command_test.dart @@ -19,7 +19,7 @@ void main() { late ArgResults argResults; late ArtifactBuilder artifactBuilder; - late Logger logger; + late ShorebirdLogger logger; late Progress progress; late ShorebirdEnv shorebirdEnv; late ShorebirdValidator shorebirdValidator; @@ -40,7 +40,7 @@ void main() { setUp(() { argResults = MockArgResults(); artifactBuilder = MockArtifactBuilder(); - logger = MockLogger(); + logger = MockShorebirdLogger(); progress = MockProgress(); shorebirdEnv = MockShorebirdEnv(); shorebirdValidator = MockShorebirdValidator(); diff --git a/packages/shorebird_cli/test/src/commands/build/build_apk_command_test.dart b/packages/shorebird_cli/test/src/commands/build/build_apk_command_test.dart index 88d5eb0f..1e771a47 100644 --- a/packages/shorebird_cli/test/src/commands/build/build_apk_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/build/build_apk_command_test.dart @@ -21,7 +21,7 @@ void main() { late ArgResults argResults; late ArtifactBuilder artifactBuilder; late Doctor doctor; - late Logger logger; + late ShorebirdLogger logger; late ShorebirdFlutterValidator flutterValidator; late ShorebirdValidator shorebirdValidator; late BuildApkCommand command; @@ -47,7 +47,7 @@ void main() { argResults = MockArgResults(); artifactBuilder = MockArtifactBuilder(); doctor = MockDoctor(); - logger = MockLogger(); + logger = MockShorebirdLogger(); flutterValidator = MockShorebirdFlutterValidator(); shorebirdValidator = MockShorebirdValidator(); diff --git a/packages/shorebird_cli/test/src/commands/build/build_app_bundle_command_test.dart b/packages/shorebird_cli/test/src/commands/build/build_app_bundle_command_test.dart index 27c038e6..e92cef1e 100644 --- a/packages/shorebird_cli/test/src/commands/build/build_app_bundle_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/build/build_app_bundle_command_test.dart @@ -23,7 +23,7 @@ void main() { late ArgResults argResults; late ArtifactBuilder artifactBuilder; late Doctor doctor; - late Logger logger; + late ShorebirdLogger logger; late BuildAppBundleCommand command; late ShorebirdFlutterValidator flutterValidator; late ShorebirdValidator shorebirdValidator; @@ -50,7 +50,7 @@ void main() { argResults = MockArgResults(); artifactBuilder = MockArtifactBuilder(); doctor = MockDoctor(); - logger = MockLogger(); + logger = MockShorebirdLogger(); flutterValidator = MockShorebirdFlutterValidator(); shorebirdValidator = MockShorebirdValidator(); diff --git a/packages/shorebird_cli/test/src/commands/build/build_ipa_command_test.dart b/packages/shorebird_cli/test/src/commands/build/build_ipa_command_test.dart index 388e1557..31e4645d 100644 --- a/packages/shorebird_cli/test/src/commands/build/build_ipa_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/build/build_ipa_command_test.dart @@ -24,7 +24,7 @@ void main() { late ArgResults argResults; late Doctor doctor; late Ios ios; - late Logger logger; + late ShorebirdLogger logger; late OperatingSystemInterface operatingSystemInterface; late ShorebirdProcessResult buildProcessResult; late ShorebirdProcessResult flutterPubGetProcessResult; @@ -57,7 +57,7 @@ void main() { argResults = MockArgResults(); doctor = MockDoctor(); ios = MockIos(); - logger = MockLogger(); + logger = MockShorebirdLogger(); operatingSystemInterface = MockOperatingSystemInterface(); shorebirdProcess = MockShorebirdProcess(); buildProcessResult = MockProcessResult(); diff --git a/packages/shorebird_cli/test/src/commands/cache/clean_cache_command_test.dart b/packages/shorebird_cli/test/src/commands/cache/clean_cache_command_test.dart index d4e558d2..3e1a15ee 100644 --- a/packages/shorebird_cli/test/src/commands/cache/clean_cache_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/cache/clean_cache_command_test.dart @@ -16,7 +16,7 @@ import '../../mocks.dart'; void main() { group('cache clean', () { late Cache cache; - late Logger logger; + late ShorebirdLogger logger; late Platform platform; late Progress progress; late ShorebirdEnv shorebirdEnv; @@ -36,7 +36,7 @@ void main() { setUp(() { cache = MockCache(); - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); progress = MockProgress(); shorebirdEnv = MockShorebirdEnv(); diff --git a/packages/shorebird_cli/test/src/commands/doctor_command_test.dart b/packages/shorebird_cli/test/src/commands/doctor_command_test.dart index 1abc4d34..f31d0377 100644 --- a/packages/shorebird_cli/test/src/commands/doctor_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/doctor_command_test.dart @@ -26,7 +26,7 @@ void main() { late AndroidSdk androidSdk; late Doctor doctor; late Java java; - late Logger logger; + late ShorebirdLogger logger; late ShorebirdEnv shorebirdEnv; late ShorebirdFlutter shorebirdFlutter; late Validator validator; @@ -53,7 +53,7 @@ void main() { androidSdk = MockAndroidSdk(); doctor = MockDoctor(); java = MockJava(); - logger = MockLogger(); + logger = MockShorebirdLogger(); shorebirdEnv = MockShorebirdEnv(); shorebirdFlutter = MockShorebirdFlutter(); validator = MockValidator(); diff --git a/packages/shorebird_cli/test/src/commands/flutter/versions/flutter_versions_list_command_test.dart b/packages/shorebird_cli/test/src/commands/flutter/versions/flutter_versions_list_command_test.dart index f0bc8839..1ae5a148 100644 --- a/packages/shorebird_cli/test/src/commands/flutter/versions/flutter_versions_list_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/flutter/versions/flutter_versions_list_command_test.dart @@ -13,7 +13,7 @@ import '../../../mocks.dart'; void main() { group(FlutterVersionsListCommand, () { late Progress progress; - late Logger logger; + late ShorebirdLogger logger; late ShorebirdFlutter shorebirdFlutter; late FlutterVersionsListCommand command; @@ -29,7 +29,7 @@ void main() { setUp(() { progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); shorebirdFlutter = MockShorebirdFlutter(); command = runWithOverrides(FlutterVersionsListCommand.new); diff --git a/packages/shorebird_cli/test/src/commands/init_command_test.dart b/packages/shorebird_cli/test/src/commands/init_command_test.dart index 72250034..4a046455 100644 --- a/packages/shorebird_cli/test/src/commands/init_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/init_command_test.dart @@ -43,7 +43,7 @@ environment: late ShorebirdYaml shorebirdYaml; late Directory projectRoot; late File pubspecYamlFile; - late Logger logger; + late ShorebirdLogger logger; late Platform platform; late Progress progress; late PubspecEditor pubspecEditor; @@ -84,7 +84,7 @@ environment: pubspecYamlFile = MockFile(); projectRoot = Directory.systemTemp.createTempSync(); pubspecEditor = MockPubspecEditor(); - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); progress = MockProgress(); shorebirdEnv = MockShorebirdEnv(); diff --git a/packages/shorebird_cli/test/src/commands/login_ci_command_test.dart b/packages/shorebird_cli/test/src/commands/login_ci_command_test.dart index 5c99721d..84aa466a 100644 --- a/packages/shorebird_cli/test/src/commands/login_ci_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/login_ci_command_test.dart @@ -18,7 +18,7 @@ void main() { late ArgResults results; late Auth auth; late http.Client httpClient; - late Logger logger; + late ShorebirdLogger logger; late LoginCiCommand command; R runWithOverrides(R Function() body) { @@ -38,7 +38,7 @@ void main() { setUp(() { auth = MockAuth(); httpClient = MockHttpClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); results = MockArgResults(); when(() => results.wasParsed('provider')).thenReturn(false); diff --git a/packages/shorebird_cli/test/src/commands/login_command_test.dart b/packages/shorebird_cli/test/src/commands/login_command_test.dart index 513d1fd9..e2e01177 100644 --- a/packages/shorebird_cli/test/src/commands/login_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/login_command_test.dart @@ -22,7 +22,7 @@ void main() { late Auth auth; late http.Client httpClient; late Directory applicationConfigHome; - late Logger logger; + late ShorebirdLogger logger; late LoginCommand command; R runWithOverrides(R Function() body) { @@ -44,7 +44,7 @@ void main() { results = MockArgResults(); auth = MockAuth(); httpClient = MockHttpClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); when(() => results.wasParsed('provider')).thenReturn(false); when(() => results['provider']).thenReturn(null); diff --git a/packages/shorebird_cli/test/src/commands/logout_command_test.dart b/packages/shorebird_cli/test/src/commands/logout_command_test.dart index a8ce4cfc..8916f71c 100644 --- a/packages/shorebird_cli/test/src/commands/logout_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/logout_command_test.dart @@ -12,7 +12,7 @@ import '../mocks.dart'; void main() { group(LogoutCommand, () { late Auth auth; - late Logger logger; + late ShorebirdLogger logger; late http.Client httpClient; late LogoutCommand command; @@ -29,7 +29,7 @@ void main() { setUp(() { auth = MockAuth(); httpClient = MockHttpClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); when(() => auth.client).thenReturn(httpClient); when(() => logger.progress(any())).thenReturn(MockProgress()); diff --git a/packages/shorebird_cli/test/src/commands/patch/patch_aar_command_test.dart b/packages/shorebird_cli/test/src/commands/patch/patch_aar_command_test.dart index d2ca605a..48df41d8 100644 --- a/packages/shorebird_cli/test/src/commands/patch/patch_aar_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/patch/patch_aar_command_test.dart @@ -98,7 +98,7 @@ void main() { late PatchDiffChecker patchDiffChecker; late Platform platform; late Progress progress; - late Logger logger; + late ShorebirdLogger logger; late ShorebirdProcessResult flutterBuildProcessResult; late ShorebirdProcessResult flutterPubGetProcessResult; late http.Client httpClient; @@ -186,7 +186,7 @@ void main() { patchDiffChecker = MockPatchDiffChecker(); platform = MockPlatform(); progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); flutterBuildProcessResult = MockProcessResult(); flutterPubGetProcessResult = MockProcessResult(); httpClient = MockHttpClient(); diff --git a/packages/shorebird_cli/test/src/commands/patch/patch_android_command_test.dart b/packages/shorebird_cli/test/src/commands/patch/patch_android_command_test.dart index 52ac5a73..23197452 100644 --- a/packages/shorebird_cli/test/src/commands/patch/patch_android_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/patch/patch_android_command_test.dart @@ -112,7 +112,7 @@ flutter: late PatchDiffChecker patchDiffChecker; late Platform platform; late Progress progress; - late Logger logger; + late ShorebirdLogger logger; late ShorebirdEnv shorebirdEnv; late ShorebirdProcessResult flutterBuildProcessResult; late ShorebirdProcessResult flutterPubGetProcessResult; @@ -210,7 +210,7 @@ flutter: patchDiffChecker = MockPatchDiffChecker(); platform = MockPlatform(); progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); flutterBuildProcessResult = MockProcessResult(); flutterPubGetProcessResult = MockProcessResult(); httpClient = MockHttpClient(); diff --git a/packages/shorebird_cli/test/src/commands/patch/patch_ios_command_test.dart b/packages/shorebird_cli/test/src/commands/patch/patch_ios_command_test.dart index e0352ecf..82f654ee 100644 --- a/packages/shorebird_cli/test/src/commands/patch/patch_ios_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/patch/patch_ios_command_test.dart @@ -163,7 +163,7 @@ flutter: late Ios ios; late IosArchiveDiffer archiveDiffer; late Progress progress; - late Logger logger; + late ShorebirdLogger logger; late OperatingSystemInterface operatingSystemInterface; late PatchDiffChecker patchDiffChecker; late Platform platform; @@ -318,7 +318,7 @@ flutter: ..createSync(recursive: true); archiveDiffer = MockIosArchiveDiffer(); progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); aotBuildProcessResult = MockProcessResult(); flutterBuildProcessResult = MockProcessResult(); diff --git a/packages/shorebird_cli/test/src/commands/patch/patch_ios_framework_command_test.dart b/packages/shorebird_cli/test/src/commands/patch/patch_ios_framework_command_test.dart index 05da4e90..0d74da18 100644 --- a/packages/shorebird_cli/test/src/commands/patch/patch_ios_framework_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/patch/patch_ios_framework_command_test.dart @@ -119,7 +119,7 @@ flutter: late Platform platform; late Auth auth; late OperatingSystemInterface operatingSystemInterface; - late Logger logger; + late ShorebirdLogger logger; late Progress progress; late ShorebirdProcessResult aotBuildProcessResult; late ShorebirdProcessResult flutterBuildProcessResult; @@ -251,7 +251,7 @@ flutter: )..createSync(recursive: true); auth = MockAuth(); progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); aotBuildProcessResult = MockProcessResult(); flutterBuildProcessResult = MockProcessResult(); flutterPubGetProcessResult = MockProcessResult(); diff --git a/packages/shorebird_cli/test/src/commands/patch_new/aar_patcher_test.dart b/packages/shorebird_cli/test/src/commands/patch_new/aar_patcher_test.dart index 26f5de74..02d0bc36 100644 --- a/packages/shorebird_cli/test/src/commands/patch_new/aar_patcher_test.dart +++ b/packages/shorebird_cli/test/src/commands/patch_new/aar_patcher_test.dart @@ -37,7 +37,7 @@ void main() { late ArtifactManager artifactManager; late CodePushClientWrapper codePushClientWrapper; late Directory projectRoot; - late Logger logger; + late ShorebirdLogger logger; late Platform platform; late Progress progress; late ShorebirdEnv shorebirdEnv; @@ -96,7 +96,7 @@ void main() { platform = MockPlatform(); progress = MockProgress(); projectRoot = Directory.systemTemp.createTempSync(); - logger = MockLogger(); + logger = MockShorebirdLogger(); shorebirdEnv = MockShorebirdEnv(); shorebirdFlutter = MockShorebirdFlutter(); shorebirdValidator = MockShorebirdValidator(); diff --git a/packages/shorebird_cli/test/src/commands/patch_new/android_patcher_test.dart b/packages/shorebird_cli/test/src/commands/patch_new/android_patcher_test.dart index 51b51fd4..7770b01b 100644 --- a/packages/shorebird_cli/test/src/commands/patch_new/android_patcher_test.dart +++ b/packages/shorebird_cli/test/src/commands/patch_new/android_patcher_test.dart @@ -38,7 +38,7 @@ void main() { late Doctor doctor; late Platform platform; late Directory projectRoot; - late Logger logger; + late ShorebirdLogger logger; late Progress progress; late ShorebirdFlutterValidator flutterValidator; late ShorebirdProcess shorebirdProcess; @@ -106,7 +106,7 @@ void main() { platform = MockPlatform(); progress = MockProgress(); projectRoot = Directory.systemTemp.createTempSync(); - logger = MockLogger(); + logger = MockShorebirdLogger(); flutterValidator = MockShorebirdFlutterValidator(); shorebirdProcess = MockShorebirdProcess(); shorebirdEnv = MockShorebirdEnv(); diff --git a/packages/shorebird_cli/test/src/commands/patch_new/patch_new_command_test.dart b/packages/shorebird_cli/test/src/commands/patch_new/patch_new_command_test.dart index dfad943d..ec7def43 100644 --- a/packages/shorebird_cli/test/src/commands/patch_new/patch_new_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/patch_new/patch_new_command_test.dart @@ -76,7 +76,7 @@ void main() { late ArtifactBuilder artifactBuilder; late ArtifactManager artifactManager; late CodePushClientWrapper codePushClientWrapper; - late Logger logger; + late ShorebirdLogger logger; late PatchDiffChecker patchDiffChecker; late Patcher patcher; late Progress progress; @@ -120,7 +120,7 @@ void main() { artifactBuilder = MockArtifactBuilder(); artifactManager = MockArtifactManager(); codePushClientWrapper = MockCodePushClientWrapper(); - logger = MockLogger(); + logger = MockShorebirdLogger(); progress = MockProgress(); patchDiffChecker = MockPatchDiffChecker(); patcher = MockPatcher(); diff --git a/packages/shorebird_cli/test/src/commands/preview_command_test.dart b/packages/shorebird_cli/test/src/commands/preview_command_test.dart index 0b50085a..aa7b49f4 100644 --- a/packages/shorebird_cli/test/src/commands/preview_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/preview_command_test.dart @@ -43,7 +43,7 @@ void main() { late Auth auth; late Cache cache; late CodePushClientWrapper codePushClientWrapper; - late Logger logger; + late ShorebirdLogger logger; late Directory previewDirectory; late Platform platform; late Progress progress; @@ -102,7 +102,7 @@ void main() { auth = MockAuth(); cache = MockCache(); codePushClientWrapper = MockCodePushClientWrapper(); - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); previewDirectory = Directory.systemTemp.createTempSync(); progress = MockProgress(); diff --git a/packages/shorebird_cli/test/src/commands/release/release_aar_command_test.dart b/packages/shorebird_cli/test/src/commands/release/release_aar_command_test.dart index f0645aac..2089f922 100644 --- a/packages/shorebird_cli/test/src/commands/release/release_aar_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/release/release_aar_command_test.dart @@ -70,7 +70,7 @@ void main() { late OperatingSystemInterface operatingSystemInterface; late Platform platform; late Progress progress; - late Logger logger; + late ShorebirdLogger logger; late ShorebirdProcessResult flutterBuildProcessResult; late ShorebirdProcessResult flutterPubGetProcessResult; late ShorebirdEnv shorebirdEnv; @@ -141,7 +141,7 @@ void main() { operatingSystemInterface = MockOperatingSystemInterface(); platform = MockPlatform(); progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); flutterBuildProcessResult = MockProcessResult(); flutterPubGetProcessResult = MockProcessResult(); shorebirdProcess = MockShorebirdProcess(); diff --git a/packages/shorebird_cli/test/src/commands/release/release_android_command_test.dart b/packages/shorebird_cli/test/src/commands/release/release_android_command_test.dart index ca947889..2807d131 100644 --- a/packages/shorebird_cli/test/src/commands/release/release_android_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/release/release_android_command_test.dart @@ -76,7 +76,7 @@ void main() { late Auth auth; late Cache cache; late Java java; - late Logger logger; + late ShorebirdLogger logger; late OperatingSystemInterface operatingSystemInterface; late Progress progress; late ShorebirdProcessResult flutterAppbundleBuildProcessResult; @@ -139,7 +139,7 @@ void main() { cache = MockCache(); java = MockJava(); progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); flutterAppbundleBuildProcessResult = MockProcessResult(); flutterApkBuildProcessResult = MockProcessResult(); flutterPubGetProcessResult = MockProcessResult(); diff --git a/packages/shorebird_cli/test/src/commands/release/release_ios_command_test.dart b/packages/shorebird_cli/test/src/commands/release/release_ios_command_test.dart index cf208a7c..d1477596 100644 --- a/packages/shorebird_cli/test/src/commands/release/release_ios_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/release/release_ios_command_test.dart @@ -120,7 +120,7 @@ flutter: late Platform platform; late Auth auth; late Progress progress; - late Logger logger; + late ShorebirdLogger logger; late Ios ios; late OperatingSystemInterface operatingSystemInterface; late ShorebirdProcessResult flutterBuildProcessResult; @@ -205,7 +205,7 @@ flutter: auth = MockAuth(); operatingSystemInterface = MockOperatingSystemInterface(); progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); ios = MockIos(); flutterBuildProcessResult = MockProcessResult(); flutterPubGetProcessResult = MockProcessResult(); diff --git a/packages/shorebird_cli/test/src/commands/release/release_ios_framework_command_test.dart b/packages/shorebird_cli/test/src/commands/release/release_ios_framework_command_test.dart index 60a1ae52..ae691d64 100644 --- a/packages/shorebird_cli/test/src/commands/release/release_ios_framework_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/release/release_ios_framework_command_test.dart @@ -77,7 +77,7 @@ flutter: late Platform platform; late Auth auth; late Progress progress; - late Logger logger; + late ShorebirdLogger logger; late OperatingSystemInterface operatingSystemInterface; late ShorebirdProcessResult flutterBuildProcessResult; late ShorebirdProcessResult flutterPubGetProcessResult; @@ -148,7 +148,7 @@ flutter: projectRoot = Directory.systemTemp.createTempSync(); auth = MockAuth(); progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); operatingSystemInterface = MockOperatingSystemInterface(); flutterBuildProcessResult = MockProcessResult(); flutterPubGetProcessResult = MockProcessResult(); diff --git a/packages/shorebird_cli/test/src/commands/release_new/aar_releaser_test.dart b/packages/shorebird_cli/test/src/commands/release_new/aar_releaser_test.dart index 1d7cceef..9a92a3bb 100644 --- a/packages/shorebird_cli/test/src/commands/release_new/aar_releaser_test.dart +++ b/packages/shorebird_cli/test/src/commands/release_new/aar_releaser_test.dart @@ -36,7 +36,7 @@ void main() { late CodePushClientWrapper codePushClientWrapper; late Platform platform; late Directory projectRoot; - late Logger logger; + late ShorebirdLogger logger; late OperatingSystemInterface operatingSystemInterface; late Progress progress; late ShorebirdProcess shorebirdProcess; @@ -82,7 +82,7 @@ void main() { platform = MockPlatform(); progress = MockProgress(); projectRoot = Directory.systemTemp.createTempSync(); - logger = MockLogger(); + logger = MockShorebirdLogger(); shorebirdProcess = MockShorebirdProcess(); shorebirdEnv = MockShorebirdEnv(); shorebirdFlutter = MockShorebirdFlutter(); diff --git a/packages/shorebird_cli/test/src/commands/release_new/android_releaser_test.dart b/packages/shorebird_cli/test/src/commands/release_new/android_releaser_test.dart index 76e59d77..f4422835 100644 --- a/packages/shorebird_cli/test/src/commands/release_new/android_releaser_test.dart +++ b/packages/shorebird_cli/test/src/commands/release_new/android_releaser_test.dart @@ -36,7 +36,7 @@ void main() { late Doctor doctor; late Platform platform; late Directory projectRoot; - late Logger logger; + late ShorebirdLogger logger; late OperatingSystemInterface operatingSystemInterface; late Progress progress; late ShorebirdFlutterValidator flutterValidator; @@ -85,7 +85,7 @@ void main() { platform = MockPlatform(); progress = MockProgress(); projectRoot = Directory.systemTemp.createTempSync(); - logger = MockLogger(); + logger = MockShorebirdLogger(); flutterValidator = MockShorebirdFlutterValidator(); shorebirdProcess = MockShorebirdProcess(); shorebirdEnv = MockShorebirdEnv(); diff --git a/packages/shorebird_cli/test/src/commands/release_new/ios_framework_releaser_test.dart b/packages/shorebird_cli/test/src/commands/release_new/ios_framework_releaser_test.dart index 8f079489..8eb6668c 100644 --- a/packages/shorebird_cli/test/src/commands/release_new/ios_framework_releaser_test.dart +++ b/packages/shorebird_cli/test/src/commands/release_new/ios_framework_releaser_test.dart @@ -38,7 +38,7 @@ void main() { late Doctor doctor; late Platform platform; late Directory projectRoot; - late Logger logger; + late ShorebirdLogger logger; late OperatingSystemInterface operatingSystemInterface; late Progress progress; late ShorebirdFlutterValidator flutterValidator; @@ -87,7 +87,7 @@ void main() { platform = MockPlatform(); progress = MockProgress(); projectRoot = Directory.systemTemp.createTempSync(); - logger = MockLogger(); + logger = MockShorebirdLogger(); shorebirdProcess = MockShorebirdProcess(); shorebirdEnv = MockShorebirdEnv(); flutterValidator = MockShorebirdFlutterValidator(); diff --git a/packages/shorebird_cli/test/src/commands/release_new/ios_releaser_test.dart b/packages/shorebird_cli/test/src/commands/release_new/ios_releaser_test.dart index 4641d12c..91b9fa4a 100644 --- a/packages/shorebird_cli/test/src/commands/release_new/ios_releaser_test.dart +++ b/packages/shorebird_cli/test/src/commands/release_new/ios_releaser_test.dart @@ -40,7 +40,7 @@ void main() { late Doctor doctor; late Platform platform; late Progress progress; - late Logger logger; + late ShorebirdLogger logger; late Ios ios; late OperatingSystemInterface operatingSystemInterface; late ShorebirdFlutterValidator flutterValidator; @@ -90,7 +90,7 @@ void main() { projectRoot = Directory.systemTemp.createTempSync(); operatingSystemInterface = MockOperatingSystemInterface(); progress = MockProgress(); - logger = MockLogger(); + logger = MockShorebirdLogger(); ios = MockIos(); flutterValidator = MockShorebirdFlutterValidator(); shorebirdProcess = MockShorebirdProcess(); diff --git a/packages/shorebird_cli/test/src/commands/release_new/release_new_command_test.dart b/packages/shorebird_cli/test/src/commands/release_new/release_new_command_test.dart index 91c26823..770bfc0e 100644 --- a/packages/shorebird_cli/test/src/commands/release_new/release_new_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/release_new/release_new_command_test.dart @@ -45,7 +45,7 @@ void main() { late CodePushClientWrapper codePushClientWrapper; late Directory shorebirdRoot; late Directory projectRoot; - late Logger logger; + late ShorebirdLogger logger; late Progress progress; late Releaser releaser; late ShorebirdEnv shorebirdEnv; @@ -78,7 +78,7 @@ void main() { setUp(() { argResults = MockArgResults(); codePushClientWrapper = MockCodePushClientWrapper(); - logger = MockLogger(); + logger = MockShorebirdLogger(); progress = MockProgress(); releaser = MockReleaser(); shorebirdRoot = Directory.systemTemp.createTempSync(); diff --git a/packages/shorebird_cli/test/src/commands/run_command_test.dart b/packages/shorebird_cli/test/src/commands/run_command_test.dart index 38a2ae72..30c7a5db 100644 --- a/packages/shorebird_cli/test/src/commands/run_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/run_command_test.dart @@ -20,7 +20,7 @@ void main() { group(RunCommand, () { late ArgResults argResults; late Doctor doctor; - late Logger logger; + late ShorebirdLogger logger; late Process process; late ShorebirdProcess shorebirdProcess; late IOSink ioSink; @@ -47,7 +47,7 @@ void main() { setUp(() { argResults = MockArgResults(); doctor = MockDoctor(); - logger = MockLogger(); + logger = MockShorebirdLogger(); process = MockProcess(); shorebirdProcess = MockShorebirdProcess(); ioSink = MockIOSink(); diff --git a/packages/shorebird_cli/test/src/commands/upgrade_command_test.dart b/packages/shorebird_cli/test/src/commands/upgrade_command_test.dart index 4c3568c3..a3c093ae 100644 --- a/packages/shorebird_cli/test/src/commands/upgrade_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/upgrade_command_test.dart @@ -15,7 +15,7 @@ void main() { const newerShorebirdRevision = 'revision-2'; group('upgrade', () { - late Logger logger; + late ShorebirdLogger logger; late ShorebirdVersion shorebirdVersion; late UpgradeCommand command; @@ -33,7 +33,7 @@ void main() { final progress = MockProgress(); final progressLogs = []; - logger = MockLogger(); + logger = MockShorebirdLogger(); shorebirdVersion = MockShorebirdVersion(); command = runWithOverrides(UpgradeCommand.new); diff --git a/packages/shorebird_cli/test/src/doctor_test.dart b/packages/shorebird_cli/test/src/doctor_test.dart index 41c980ed..eb281a02 100644 --- a/packages/shorebird_cli/test/src/doctor_test.dart +++ b/packages/shorebird_cli/test/src/doctor_test.dart @@ -19,7 +19,7 @@ void main() { message: 'error', ); - late Logger logger; + late ShorebirdLogger logger; late Progress progress; late Validator noIssuesValidator; late Validator warningValidator; @@ -36,7 +36,7 @@ void main() { } setUp(() { - logger = MockLogger(); + logger = MockShorebirdLogger(); progress = MockProgress(); noIssuesValidator = MockValidator(); warningValidator = MockValidator(); diff --git a/packages/shorebird_cli/test/src/executables/devicectl/devicectl_test.dart b/packages/shorebird_cli/test/src/executables/devicectl/devicectl_test.dart index ec65cdd8..c6a6007a 100644 --- a/packages/shorebird_cli/test/src/executables/devicectl/devicectl_test.dart +++ b/packages/shorebird_cli/test/src/executables/devicectl/devicectl_test.dart @@ -309,7 +309,7 @@ void main() { group('installAndLaunchApp', () { late IDeviceSysLog idevicesyslog; - late Logger logger; + late ShorebirdLogger logger; late Progress progress; late String deviceListJsonOutput; @@ -329,7 +329,7 @@ void main() { setUp(() { idevicesyslog = MockIDeviceSysLog(); - logger = MockLogger(); + logger = MockShorebirdLogger(); progress = MockProgress(); when(() => idevicesyslog.startLogger(device: any(named: 'device'))) diff --git a/packages/shorebird_cli/test/src/executables/idevicesyslog_test.dart b/packages/shorebird_cli/test/src/executables/idevicesyslog_test.dart index abdf69e2..8dfbb07f 100644 --- a/packages/shorebird_cli/test/src/executables/idevicesyslog_test.dart +++ b/packages/shorebird_cli/test/src/executables/idevicesyslog_test.dart @@ -1,6 +1,5 @@ import 'dart:convert'; -import 'package:mason_logger/mason_logger.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as p; import 'package:scoped/scoped.dart'; @@ -22,7 +21,7 @@ void main() { late Directory flutterDirectory; late ShorebirdEnv shorebirdEnv; late ShorebirdProcess process; - late Logger logger; + late ShorebirdLogger logger; late Process loggerProcess; late String idevicesyslogPath; late IDeviceSysLog idevicesyslog; @@ -44,7 +43,7 @@ void main() { device = MockAppleDevice(); flutterDirectory = Directory.systemTemp.createTempSync(); process = MockShorebirdProcess(); - logger = MockLogger(); + logger = MockShorebirdLogger(); loggerProcess = MockProcess(); shorebirdEnv = MockShorebirdEnv(); idevicesyslog = IDeviceSysLog(); diff --git a/packages/shorebird_cli/test/src/executables/ios_deploy_test.dart b/packages/shorebird_cli/test/src/executables/ios_deploy_test.dart index a36c31f3..26cbc3a5 100644 --- a/packages/shorebird_cli/test/src/executables/ios_deploy_test.dart +++ b/packages/shorebird_cli/test/src/executables/ios_deploy_test.dart @@ -18,7 +18,7 @@ import '../mocks.dart'; void main() { group(IOSDeploy, () { - late Logger logger; + late ShorebirdLogger logger; late Platform platform; late Progress progress; late ShorebirdProcess shorebirdProcess; @@ -40,7 +40,7 @@ void main() { } setUp(() { - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); shorebirdProcess = MockShorebirdProcess(); process = MockProcess(); diff --git a/packages/shorebird_cli/test/src/http_client/logging_client_test.dart b/packages/shorebird_cli/test/src/http_client/logging_client_test.dart index 29f9da9f..22ff5d0b 100644 --- a/packages/shorebird_cli/test/src/http_client/logging_client_test.dart +++ b/packages/shorebird_cli/test/src/http_client/logging_client_test.dart @@ -1,7 +1,6 @@ import 'dart:io'; import 'package:http/http.dart' as http; -import 'package:mason_logger/mason_logger.dart'; import 'package:mocktail/mocktail.dart'; import 'package:scoped/scoped.dart'; import 'package:shorebird_cli/src/http_client/http_client.dart'; @@ -14,7 +13,7 @@ import '../mocks.dart'; void main() { group(LoggingClient, () { late http.Client httpClient; - late Logger logger; + late ShorebirdLogger logger; late LoggingClient loggingClient; R runWithOverrides(R Function() body) { @@ -32,7 +31,7 @@ void main() { setUp(() { httpClient = MockHttpClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); loggingClient = LoggingClient(httpClient: httpClient); when(() => httpClient.send(any())).thenAnswer( diff --git a/packages/shorebird_cli/test/src/logger_test.dart b/packages/shorebird_cli/test/src/logger_test.dart new file mode 100644 index 00000000..2012af9f --- /dev/null +++ b/packages/shorebird_cli/test/src/logger_test.dart @@ -0,0 +1,215 @@ +import 'dart:io'; + +import 'package:mocktail/mocktail.dart'; +import 'package:path/path.dart' as p; +import 'package:scoped/scoped.dart'; +import 'package:shorebird_cli/src/logger.dart'; +import 'package:shorebird_cli/src/shorebird_env.dart'; +import 'package:test/test.dart'; + +import 'mocks.dart'; + +void main() { + group('ShorebirdLogger', () { + late Directory shorebirdRootDir; + late ShorebirdEnv shorebirdEnv; + late ShorebirdLogger shorebirdLogger; + + setUp(() { + shorebirdRootDir = Directory.systemTemp.createTempSync('shorebird_logs'); + + shorebirdEnv = MockShorebirdEnv(); + when(() => shorebirdEnv.shorebirdRoot).thenReturn(shorebirdRootDir); + + shorebirdLogger = ShorebirdLogger(); + }); + + String readLogFile() { + final logFile = Directory( + p.join(shorebirdRootDir.path, 'logs'), + ).listSync().first; + return File(logFile.path).readAsStringSync(); + } + + test('can be instantiated', () { + expect( + ShorebirdLogger.new, + returnsNormally, + ); + }); + + test('info', () { + runScoped( + () { + shorebirdLogger.info('message'); + expect(readLogFile(), contains('[INFO]')); + expect(readLogFile(), contains('message')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('info with style', () { + runScoped( + () { + shorebirdLogger.info( + 'message', + style: (message) => message?.toUpperCase(), + ); + expect(readLogFile(), contains('[INFO]')); + expect(readLogFile(), contains('MESSAGE')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('detail', () { + runScoped( + () { + shorebirdLogger.detail('message'); + expect(readLogFile(), contains('[DETAIL]')); + expect(readLogFile(), contains('message')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('detail with style', () { + runScoped( + () { + shorebirdLogger.detail( + 'message', + style: (message) => message?.toUpperCase(), + ); + expect(readLogFile(), contains('[DETAIL]')); + expect(readLogFile(), contains('MESSAGE')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('warn', () { + runScoped( + () { + shorebirdLogger.warn('message'); + expect(readLogFile(), contains('[WARN]')); + expect(readLogFile(), contains('message')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('warn with style', () { + runScoped( + () { + shorebirdLogger.warn( + 'message', + style: (message) => message?.toUpperCase(), + ); + expect(readLogFile(), contains('[WARN]')); + expect(readLogFile(), contains('MESSAGE')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('success', () { + runScoped( + () { + shorebirdLogger.success('message'); + expect(readLogFile(), contains('[SUCCESS]')); + expect(readLogFile(), contains('message')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('success with style', () { + runScoped( + () { + shorebirdLogger.success( + 'message', + style: (message) => message?.toUpperCase(), + ); + expect(readLogFile(), contains('[SUCCESS]')); + expect(readLogFile(), contains('MESSAGE')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('alert', () { + runScoped( + () { + shorebirdLogger.alert('message'); + expect(readLogFile(), contains('[ALERT]')); + expect(readLogFile(), contains('message')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('alert with style', () { + runScoped( + () { + shorebirdLogger.alert( + 'message', + style: (message) => message?.toUpperCase(), + ); + expect(readLogFile(), contains('[ALERT]')); + expect(readLogFile(), contains('MESSAGE')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('err', () { + runScoped( + () { + shorebirdLogger.err('message'); + expect(readLogFile(), contains('[ERROR]')); + expect(readLogFile(), contains('message')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + + test('err with style', () { + runScoped( + () { + shorebirdLogger.err( + 'message', + style: (message) => message?.toUpperCase(), + ); + expect(readLogFile(), contains('[ERROR]')); + expect(readLogFile(), contains('MESSAGE')); + }, + values: { + shorebirdEnvRef.overrideWith(() => shorebirdEnv), + }, + ); + }); + }); +} diff --git a/packages/shorebird_cli/test/src/mocks.dart b/packages/shorebird_cli/test/src/mocks.dart index 9720635d..c5da4f0c 100644 --- a/packages/shorebird_cli/test/src/mocks.dart +++ b/packages/shorebird_cli/test/src/mocks.dart @@ -23,6 +23,7 @@ import 'package:shorebird_cli/src/doctor.dart'; import 'package:shorebird_cli/src/engine_config.dart'; import 'package:shorebird_cli/src/executables/devicectl/apple_device.dart'; import 'package:shorebird_cli/src/executables/executables.dart'; +import 'package:shorebird_cli/src/logger.dart'; import 'package:shorebird_cli/src/os/os.dart'; import 'package:shorebird_cli/src/patch_diff_checker.dart'; import 'package:shorebird_cli/src/platform/platform.dart'; @@ -105,8 +106,6 @@ class MockJwtHeader extends Mock implements JwtHeader {} class MockJwtPayload extends Mock implements JwtPayload {} -class MockLogger extends Mock implements Logger {} - class MockOperatingSystemInterface extends Mock implements OperatingSystemInterface {} @@ -146,6 +145,8 @@ class MockShorebirdFlutter extends Mock implements ShorebirdFlutter {} class MockShorebirdFlutterValidator extends Mock implements ShorebirdFlutterValidator {} +class MockShorebirdLogger extends Mock implements ShorebirdLogger {} + class MockShorebirdProcess extends Mock implements ShorebirdProcess {} class MockShorebirdProcessResult extends Mock diff --git a/packages/shorebird_cli/test/src/patch_diff_checker_test.dart b/packages/shorebird_cli/test/src/patch_diff_checker_test.dart index d4f06dbd..854d32e8 100644 --- a/packages/shorebird_cli/test/src/patch_diff_checker_test.dart +++ b/packages/shorebird_cli/test/src/patch_diff_checker_test.dart @@ -27,7 +27,7 @@ void main() { late FileSetDiff assetsFileSetDiff; late FileSetDiff nativeFileSetDiff; late http.Client httpClient; - late Logger logger; + late ShorebirdLogger logger; late Progress progress; late ShorebirdEnv shorebirdEnv; late PatchDiffChecker patchDiffChecker; @@ -53,7 +53,7 @@ void main() { assetsFileSetDiff = MockFileSetDiff(); nativeFileSetDiff = MockFileSetDiff(); httpClient = MockHttpClient(); - logger = MockLogger(); + logger = MockShorebirdLogger(); progress = MockProgress(); shorebirdEnv = MockShorebirdEnv(); patchDiffChecker = PatchDiffChecker(); diff --git a/packages/shorebird_cli/test/src/shorebird_android_artifacts_test.dart b/packages/shorebird_cli/test/src/shorebird_android_artifacts_test.dart index 09b94610..08e59a09 100644 --- a/packages/shorebird_cli/test/src/shorebird_android_artifacts_test.dart +++ b/packages/shorebird_cli/test/src/shorebird_android_artifacts_test.dart @@ -1,5 +1,4 @@ import 'package:archive/archive_io.dart'; -import 'package:mason_logger/mason_logger.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as p; import 'package:scoped/scoped.dart'; @@ -18,7 +17,7 @@ void main() { late Directory projectRoot; late Bundletool bundletool; late Cache cache; - late Logger logger; + late ShorebirdLogger logger; late ShorebirdEnv shorebirdEnv; late ShorebirdAndroidArtifacts shorebirdAndroidArtifacts; @@ -37,7 +36,7 @@ void main() { setUp(() { bundletool = MockBundleTool(); cache = MockCache(); - logger = MockLogger(); + logger = MockShorebirdLogger(); projectRoot = Directory.systemTemp.createTempSync(); shorebirdEnv = MockShorebirdEnv(); diff --git a/packages/shorebird_cli/test/src/shorebird_flutter_test.dart b/packages/shorebird_cli/test/src/shorebird_flutter_test.dart index 6be314e1..26f4e4f7 100644 --- a/packages/shorebird_cli/test/src/shorebird_flutter_test.dart +++ b/packages/shorebird_cli/test/src/shorebird_flutter_test.dart @@ -20,7 +20,7 @@ void main() { late Directory shorebirdRoot; late Directory flutterDirectory; late Git git; - late Logger logger; + late ShorebirdLogger logger; late Progress progress; late ShorebirdEnv shorebirdEnv; late ShorebirdProcess process; @@ -43,7 +43,7 @@ void main() { shorebirdRoot = Directory.systemTemp.createTempSync(); flutterDirectory = Directory(p.join(shorebirdRoot.path, 'flutter')); git = MockGit(); - logger = MockLogger(); + logger = MockShorebirdLogger(); progress = MockProgress(); shorebirdEnv = MockShorebirdEnv(); process = MockShorebirdProcess(); diff --git a/packages/shorebird_cli/test/src/shorebird_process_test.dart b/packages/shorebird_cli/test/src/shorebird_process_test.dart index a988502c..28476a20 100644 --- a/packages/shorebird_cli/test/src/shorebird_process_test.dart +++ b/packages/shorebird_cli/test/src/shorebird_process_test.dart @@ -19,7 +19,7 @@ void main() { }; late EngineConfig engineConfig; - late Logger logger; + late ShorebirdLogger logger; late ProcessWrapper processWrapper; late Process startProcess; late ShorebirdProcessResult runProcessResult; @@ -39,7 +39,7 @@ void main() { setUp(() { engineConfig = const EngineConfig.empty(); - logger = MockLogger(); + logger = MockShorebirdLogger(); processWrapper = MockProcessWrapper(); runProcessResult = MockProcessResult(); startProcess = MockProcess(); diff --git a/packages/shorebird_cli/test/src/shorebird_validator_test.dart b/packages/shorebird_cli/test/src/shorebird_validator_test.dart index 2547fd6a..2731cf28 100644 --- a/packages/shorebird_cli/test/src/shorebird_validator_test.dart +++ b/packages/shorebird_cli/test/src/shorebird_validator_test.dart @@ -15,7 +15,7 @@ import 'mocks.dart'; void main() { group(ShorebirdValidator, () { late Auth auth; - late Logger logger; + late ShorebirdLogger logger; late Platform platform; late Validator validator; late ShorebirdEnv shorebirdEnv; @@ -35,7 +35,7 @@ void main() { setUp(() { auth = MockAuth(); - logger = MockLogger(); + logger = MockShorebirdLogger(); platform = MockPlatform(); shorebirdEnv = MockShorebirdEnv(); validator = MockValidator();