From 1b3ce62e6cacc7e042a96be3fbfbc9f04e14baed Mon Sep 17 00:00:00 2001 From: ellyokes253 <146579259+ellyokes253@users.noreply.github.com> Date: Fri, 12 Jul 2024 09:50:18 -0600 Subject: [PATCH] Listener for airside logs + Widget to display airside logs (#22) * commiting to new branch * experimenting * works, but has test data hardcoded in * modified but not finalized * made changes * fixed changes * adding into main dart * changes * new changes with refactor * functional changes made * widget commit * fixed changes * trying to rebase main * changes from main refactor * formatted files * Fixed merge conflicts in .metadata * Fixed merge conflict pubspec.lock * fixed changes, made some modifications * pushing changes * fixing build issue * trying to fix build issue * fixing requested changes * fixing build, forgot to format * fixing new requested changes * adding tests * fixing nitpicks * tests completed * restored main * adding test_logs * fixed file change --------- Co-authored-by: Balaji <67008243+BalajiLeninrajan@users.noreply.github.com> --- flutter_app/.metadata | 27 ++++-- flutter_app/lib/modules/get_airside_logs.dart | 14 ++++ .../lib/screens/log_displayer_screen.dart | 24 ++++++ .../lib/widgets/display_all_logs_widget.dart | 63 ++++++++++++++ flutter_app/pubspec.lock | 32 ++++---- .../test_logs/2024-06-18_07-46-57/main.log | 61 ++++++++++++++ .../test_logs/2024-06-18_07-47-01/main.log | 61 ++++++++++++++ .../test_logs/2024-06-18_07-47-02/main.log | 61 ++++++++++++++ .../test_logs/2024-06-18_07-47-07/main.log | 61 ++++++++++++++ .../test_logs/2024-06-18_07-47-10/main.log | 61 ++++++++++++++ .../test_logs/2024-06-18_07-47-12/main.log | 61 ++++++++++++++ .../widget/display_all_logs_widget_test.dart | 82 +++++++++++++++++++ 12 files changed, 586 insertions(+), 22 deletions(-) create mode 100644 flutter_app/lib/modules/get_airside_logs.dart create mode 100644 flutter_app/lib/screens/log_displayer_screen.dart create mode 100644 flutter_app/lib/widgets/display_all_logs_widget.dart create mode 100644 flutter_app/test/test_logs/2024-06-18_07-46-57/main.log create mode 100644 flutter_app/test/test_logs/2024-06-18_07-47-01/main.log create mode 100644 flutter_app/test/test_logs/2024-06-18_07-47-02/main.log create mode 100644 flutter_app/test/test_logs/2024-06-18_07-47-07/main.log create mode 100644 flutter_app/test/test_logs/2024-06-18_07-47-10/main.log create mode 100644 flutter_app/test/test_logs/2024-06-18_07-47-12/main.log create mode 100644 flutter_app/test/widget/display_all_logs_widget_test.dart diff --git a/flutter_app/.metadata b/flutter_app/.metadata index 5d1ebe4..6eb54a1 100644 --- a/flutter_app/.metadata +++ b/flutter_app/.metadata @@ -4,8 +4,8 @@ # This file should be version controlled and should not be manually edited. version: - revision: "34ab5378801b427adf2224f23d488961e7dd746f" - channel: "master" + revision: "761747bfc538b5af34aa0d3fac380f1bc331ec49" + channel: "stable" project_type: app @@ -13,11 +13,26 @@ project_type: app migration: platforms: - platform: root - create_revision: 34ab5378801b427adf2224f23d488961e7dd746f - base_revision: 34ab5378801b427adf2224f23d488961e7dd746f + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: android + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: ios + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: linux + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - platform: macos - create_revision: 34ab5378801b427adf2224f23d488961e7dd746f - base_revision: 34ab5378801b427adf2224f23d488961e7dd746f + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: web + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: windows + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 # User provided section diff --git a/flutter_app/lib/modules/get_airside_logs.dart b/flutter_app/lib/modules/get_airside_logs.dart new file mode 100644 index 0000000..813d14c --- /dev/null +++ b/flutter_app/lib/modules/get_airside_logs.dart @@ -0,0 +1,14 @@ +import 'dart:io'; + +class GetAirsideLogs { + final String pathToDirectory; + + GetAirsideLogs({required this.pathToDirectory}); + + List getFiles() { + return Directory(pathToDirectory) + .listSync(recursive: true, followLinks: true) + .whereType() + .toList(); + } +} diff --git a/flutter_app/lib/screens/log_displayer_screen.dart b/flutter_app/lib/screens/log_displayer_screen.dart new file mode 100644 index 0000000..0cd50f3 --- /dev/null +++ b/flutter_app/lib/screens/log_displayer_screen.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; + +class LogDisplayerScreen extends StatelessWidget { + final String fileContext; + final String fileName; + const LogDisplayerScreen( + {Key? key, required this.fileContext, required this.fileName}) + : super(key: key); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text(fileName), + ), + body: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Text(fileContext), + ), + ), + ); + } +} diff --git a/flutter_app/lib/widgets/display_all_logs_widget.dart b/flutter_app/lib/widgets/display_all_logs_widget.dart new file mode 100644 index 0000000..56a9286 --- /dev/null +++ b/flutter_app/lib/widgets/display_all_logs_widget.dart @@ -0,0 +1,63 @@ +import 'package:flutter/material.dart'; +import 'package:imacs/modules/get_airside_logs.dart'; +import 'package:imacs/screens/log_displayer_screen.dart'; + +class LogsList extends StatelessWidget { + const LogsList({ + super.key, + required this.getAirsideLogs, + }); + + final GetAirsideLogs getAirsideLogs; + + static Route _logDisplayerRoute(BuildContext context, Object? arguments) { + final args = arguments as Map; + return MaterialPageRoute( + builder: (context) => LogDisplayerScreen( + fileContext: args['fileContent']!, fileName: args['fileName']!), + ); + } + + @override + Widget build(BuildContext context) { + return SingleChildScrollView( + child: SizedBox( + width: 600, + child: AspectRatio( + aspectRatio: 4 / 3, + child: ListView.builder( + itemCount: getAirsideLogs.getFiles().length, + itemBuilder: (context, index) { + List filePath = + getAirsideLogs.getFiles()[index].uri.pathSegments; + String fileName = filePath.length == 1 + ? filePath.last + : filePath + .sublist(filePath.length - 2, filePath.length) + .join('/'); + return Padding( + padding: const EdgeInsets.all(8.0), + child: Card( + child: ListTile( + title: Text(fileName), + onTap: () { + String fileContent = + getAirsideLogs.getFiles()[index].readAsStringSync(); + Navigator.of(context).restorablePush( + _logDisplayerRoute, // restorable push wouldn't function without static method + arguments: { + 'fileContent': fileContent, + 'fileName': fileName, + }, + ); + }, + ), + ), + ); + }, + ), + ), + ), + ); + } +} diff --git a/flutter_app/pubspec.lock b/flutter_app/pubspec.lock index df9b2af..ae8500a 100644 --- a/flutter_app/pubspec.lock +++ b/flutter_app/pubspec.lock @@ -216,18 +216,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: @@ -272,18 +272,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.12.0" mime: dependency: transitive description: @@ -437,26 +437,26 @@ packages: dependency: "direct dev" description: name: test - sha256: "7ee44229615f8f642b68120165ae4c2a75fe77ae2065b1e55ae4711f6cf0899e" + sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" url: "https://pub.dev" source: hosted - version: "1.25.7" + version: "1.25.2" test_api: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.0" test_core: dependency: transitive description: name: test_core - sha256: "55ea5a652e38a1dfb32943a7973f3681a60f872f8c3a05a14664ad54ef9c6696" + sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.0" typed_data: dependency: transitive description: @@ -477,10 +477,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "14.2.4" + version: "14.2.1" watcher: dependency: transitive description: diff --git a/flutter_app/test/test_logs/2024-06-18_07-46-57/main.log b/flutter_app/test/test_logs/2024-06-18_07-46-57/main.log new file mode 100644 index 0000000..adf0333 --- /dev/null +++ b/flutter_app/test/test_logs/2024-06-18_07-46-57/main.log @@ -0,0 +1,61 @@ +07:46:57: [INFO] [test_functions.py | main | 20] main logger initialized +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [ERROR] [test_functions.py | main | 32] Test Error +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [ERROR] [test_functions.py | main | 32] Test Error +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [ERROR] [test_functions.py | main | 32] Test Error +07:46:57: [ERROR] [test_functions.py | main | 32] Test Error +07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:46:57: [ERROR] [test_functions.py | main | 32] Test Error +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [ERROR] [test_functions.py | main | 32] Test Error +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [ERROR] [test_functions.py | main | 32] Test Error +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [INFO] [test_functions.py | main | 28] Test Info +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug +07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:46:57: [ERROR] [test_functions.py | main | 32] Test Error +07:46:57: [ERROR] [test_functions.py | main | 32] Test Error +07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug diff --git a/flutter_app/test/test_logs/2024-06-18_07-47-01/main.log b/flutter_app/test/test_logs/2024-06-18_07-47-01/main.log new file mode 100644 index 0000000..bfa4f9a --- /dev/null +++ b/flutter_app/test/test_logs/2024-06-18_07-47-01/main.log @@ -0,0 +1,61 @@ +07:47:01: [INFO] [test_functions.py | main | 20] main logger initialized +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [ERROR] [test_functions.py | main | 32] Test Error +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [ERROR] [test_functions.py | main | 32] Test Error +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [ERROR] [test_functions.py | main | 32] Test Error +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [ERROR] [test_functions.py | main | 32] Test Error +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [ERROR] [test_functions.py | main | 32] Test Error +07:47:01: [ERROR] [test_functions.py | main | 32] Test Error +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [ERROR] [test_functions.py | main | 32] Test Error +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [ERROR] [test_functions.py | main | 32] Test Error +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:01: [INFO] [test_functions.py | main | 28] Test Info +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning diff --git a/flutter_app/test/test_logs/2024-06-18_07-47-02/main.log b/flutter_app/test/test_logs/2024-06-18_07-47-02/main.log new file mode 100644 index 0000000..b235ee7 --- /dev/null +++ b/flutter_app/test/test_logs/2024-06-18_07-47-02/main.log @@ -0,0 +1,61 @@ +07:47:02: [INFO] [test_functions.py | main | 20] main logger initialized +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:02: [INFO] [test_functions.py | main | 28] Test Info +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [ERROR] [test_functions.py | main | 32] Test Error +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:02: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:02: [CRITICAL] [test_functions.py | main | 34] Test Critical diff --git a/flutter_app/test/test_logs/2024-06-18_07-47-07/main.log b/flutter_app/test/test_logs/2024-06-18_07-47-07/main.log new file mode 100644 index 0000000..f2d4b50 --- /dev/null +++ b/flutter_app/test/test_logs/2024-06-18_07-47-07/main.log @@ -0,0 +1,61 @@ +07:47:07: [INFO] [test_functions.py | main | 20] main logger initialized +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:07: [INFO] [test_functions.py | main | 28] Test Info +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [ERROR] [test_functions.py | main | 32] Test Error +07:47:07: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:07: [DEBUG] [test_functions.py | main | 26] Test Debug diff --git a/flutter_app/test/test_logs/2024-06-18_07-47-10/main.log b/flutter_app/test/test_logs/2024-06-18_07-47-10/main.log new file mode 100644 index 0000000..a8106da --- /dev/null +++ b/flutter_app/test/test_logs/2024-06-18_07-47-10/main.log @@ -0,0 +1,61 @@ +07:47:10: [INFO] [test_functions.py | main | 20] main logger initialized +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [ERROR] [test_functions.py | main | 32] Test Error +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [ERROR] [test_functions.py | main | 32] Test Error +07:47:10: [ERROR] [test_functions.py | main | 32] Test Error +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [ERROR] [test_functions.py | main | 32] Test Error +07:47:10: [ERROR] [test_functions.py | main | 32] Test Error +07:47:10: [ERROR] [test_functions.py | main | 32] Test Error +07:47:10: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [ERROR] [test_functions.py | main | 32] Test Error +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:10: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [ERROR] [test_functions.py | main | 32] Test Error +07:47:10: [INFO] [test_functions.py | main | 28] Test Info +07:47:10: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:10: [INFO] [test_functions.py | main | 28] Test Info diff --git a/flutter_app/test/test_logs/2024-06-18_07-47-12/main.log b/flutter_app/test/test_logs/2024-06-18_07-47-12/main.log new file mode 100644 index 0000000..99d5803 --- /dev/null +++ b/flutter_app/test/test_logs/2024-06-18_07-47-12/main.log @@ -0,0 +1,61 @@ +07:47:12: [INFO] [test_functions.py | main | 20] main logger initialized +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [ERROR] [test_functions.py | main | 32] Test Error +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [DEBUG] [test_functions.py | main | 26] Test Debug +07:47:12: [CRITICAL] [test_functions.py | main | 34] Test Critical +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [INFO] [test_functions.py | main | 28] Test Info +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [WARNING] [test_functions.py | main | 30] Test Warning +07:47:12: [INFO] [test_functions.py | main | 28] Test Info diff --git a/flutter_app/test/widget/display_all_logs_widget_test.dart b/flutter_app/test/widget/display_all_logs_widget_test.dart new file mode 100644 index 0000000..302e732 --- /dev/null +++ b/flutter_app/test/widget/display_all_logs_widget_test.dart @@ -0,0 +1,82 @@ +import 'package:flutter/material.dart'; +import 'package:imacs/modules/get_airside_logs.dart'; +import 'package:imacs/screens/log_displayer_screen.dart'; +import 'package:imacs/widgets/display_all_logs_widget.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + group( + 'Display All Logs Widget', + () { + testWidgets( + 'Displays airside logs by showing their respective path', + (WidgetTester tester) async { + const String pathToDirectory = 'test/test_logs'; + final getAirsideLogs = + GetAirsideLogs(pathToDirectory: pathToDirectory); + + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: LogsList( + getAirsideLogs: + GetAirsideLogs(pathToDirectory: pathToDirectory), + ), + ), + ), + ); + await tester.pump(); + final expectedFiles = getAirsideLogs.getFiles(); + + final lastFile = expectedFiles.last; + final lastFileSegments = lastFile.uri.pathSegments; + final lastFileName = lastFileSegments.length == 1 + ? lastFileSegments.last + : lastFileSegments + .sublist(lastFileSegments.length - 2, lastFileSegments.length) + .join('/'); + + final firstFile = expectedFiles.first; + final firstFileSegments = firstFile.uri.pathSegments; + final firstFileName = firstFileSegments.length == 1 + ? firstFileSegments.last + : firstFileSegments + .sublist( + firstFileSegments.length - 2, firstFileSegments.length) + .join('/'); + + //testing scroll + await tester.drag( + find.byType(SingleChildScrollView), const Offset(0, -400)); + await tester.pumpAndSettle(); + + expect(find.text(lastFileName), findsOneWidget); + + // test if all files show up + expect(find.byType(Card), findsNWidgets(expectedFiles.length)); + + // test that the names show up properly for each one + for (var file in expectedFiles) { + final filePath = file.uri.pathSegments; + final fileName = filePath.length == 1 + ? filePath.last + : filePath + .sublist(filePath.length - 2, filePath.length) + .join('/'); + expect(find.text(fileName), findsOneWidget); + } + + // testing tapping the first file + await tester.tap(find.text(firstFileName)); + await tester.pumpAndSettle(); + + //testing LogDisplayerScreen navigation + final fileContent = firstFile.readAsStringSync(); + expect(find.byType(LogDisplayerScreen), findsOneWidget); + expect(find.text(fileContent), findsOneWidget); + expect(find.text(firstFileName), findsOneWidget); + }, + ); + }, + ); +}