From a4f7eac94967470e742bf525aa755f3ac53a0d7d Mon Sep 17 00:00:00 2001 From: grayTerminal-sh Date: Fri, 17 Jul 2026 08:41:42 +0200 Subject: [PATCH] feat(ui): add investigation creation and opening workflows --- docs/tickets/open/TICKET-031.md | 301 ++++++++++++++++++++++++++ include/views/main_window.h | 25 +++ labfy-investigation | Bin 182672 -> 188040 bytes src/core/application.c | 153 ++++++++++++- src/views/main_window.c | 67 ++++++ tests/test_database | Bin 0 -> 41112 bytes tests/test_error | Bin 0 -> 32688 bytes tests/test_investigation_dao | Bin 0 -> 42288 bytes tests/test_investigation_node | Bin 0 -> 25824 bytes tests/test_investigation_project | Bin 0 -> 51616 bytes tests/test_investigation_record | Bin 0 -> 17392 bytes tests/test_investigation_session | Bin 0 -> 56880 bytes tests/test_investigation_tree_builder | Bin 0 -> 22848 bytes tests/test_investigation_tree_model | Bin 0 -> 17368 bytes tests/test_statement | Bin 0 -> 37456 bytes tests/test_transaction | Bin 0 -> 32760 bytes 16 files changed, 538 insertions(+), 8 deletions(-) create mode 100644 docs/tickets/open/TICKET-031.md create mode 100755 tests/test_database create mode 100755 tests/test_error create mode 100755 tests/test_investigation_dao create mode 100755 tests/test_investigation_node create mode 100755 tests/test_investigation_project create mode 100755 tests/test_investigation_record create mode 100755 tests/test_investigation_session create mode 100755 tests/test_investigation_tree_builder create mode 100755 tests/test_investigation_tree_model create mode 100755 tests/test_statement create mode 100755 tests/test_transaction diff --git a/docs/tickets/open/TICKET-031.md b/docs/tickets/open/TICKET-031.md new file mode 100644 index 0000000..07b4684 --- /dev/null +++ b/docs/tickets/open/TICKET-031.md @@ -0,0 +1,301 @@ +# Ticket #031 — Ouvrir une enquête existante depuis GTK + +## Contexte + +Les tickets #029 et #030 ont permis de : + +- créer une enquête depuis GTK ; +- initialiser son arborescence et sa base SQLite ; +- ouvrir une `InvestigationSession` ; +- construire le `InvestigationTreeModel` ; +- installer la session dans `Application` ; +- afficher le nom et le chemin de l’enquête dans `MainWindow`. + +L’application ne permet cependant pas encore d’ouvrir explicitement une enquête existante. + +L’ancien sélecteur automatique au démarrage a été supprimé afin de ne pas forcer l’utilisateur à choisir un dossier à chaque lancement. + +## Objectif + +Ajouter un bouton : + +```text +Ouvrir une enquête +``` + +Ce bouton doit permettre de sélectionner le dossier racine d’une enquête existante, puis de l’ouvrir avec le flux déjà présent : + +```text +FolderDialog + ↓ +investigation_session_open() + ↓ +investigation_tree_builder_build() + ↓ +application_install_session() + ↓ +MainWindow mise à jour +``` + +La logique d’installation d’une session ne doit pas être dupliquée. + +## Travail à réaliser + +### 1. Ajouter le bouton dans `MainWindow` + +Modifier : + +```text +include/views/main_window.h +src/views/main_window.c +``` + +Ajouter un bouton visible dans la barre d’actions : + +```text +Ouvrir une enquête +``` + +La barre doit contenir au minimum : + +```text +[ Nouvelle enquête ] [ Ouvrir une enquête ] +``` + +Ajouter dans la structure privée : + +```c +GtkWidget *open_investigation_button; +``` + +### 2. Ajouter le type de callback + +Dans `include/views/main_window.h`, ajouter : + +```c +typedef void (*MainWindowOpenInvestigationCallback)( + gpointer user_data +); +``` + +Puis déclarer : + +```c +void main_window_set_open_investigation_callback( + MainWindow *main_window, + MainWindowOpenInvestigationCallback callback, + gpointer user_data +); +``` + +### 3. Conserver le callback dans `MainWindow` + +Ajouter dans la structure privée : + +```c +MainWindowOpenInvestigationCallback + open_investigation_callback; + +gpointer + open_investigation_user_data; +``` + +Ajouter un callback privé : + +```c +static void main_window_on_open_investigation_clicked( + GtkButton *button, + gpointer user_data +); +``` + +Il doit appeler le callback configuré uniquement s’il existe. + +`MainWindow` ne doit pas ouvrir elle-même la session. + +### 4. Relier le bouton à `Application` + +Dans `src/core/application.c`, réactiver l’utilisation de : + +```c +#include "views/folder_dialog.h" +``` + +Ajouter : + +```c +static void application_on_open_investigation_requested( + gpointer user_data +); +``` + +Cette fonction doit ouvrir le sélecteur avec : + +```c +folder_dialog_select_folder( + main_window_get_window(application->main_window), + application_on_folder_selected, + application +); +``` + +### 5. Réutiliser `application_on_folder_selected()` + +La fonction doit : + +1. accepter l’annulation ; +2. ouvrir la session avec `investigation_session_open()` ; +3. récupérer le chemin racine depuis `InvestigationProject` ; +4. construire l’arbre avec `investigation_tree_builder_build()` ; +5. installer les objets avec `application_install_session()`. + +En cas d’échec : + +```text +ancienne session conservée +ancien arbre conservé +nouvelle session libérée +nouvel arbre libéré +warning explicite +``` + +### 6. Enregistrer le callback dans `application_on_activate()` + +Après la création de `MainWindow`, appeler : + +```c +main_window_set_open_investigation_callback( + application->main_window, + application_on_open_investigation_requested, + application +); +``` + +Le sélecteur ne doit pas être lancé automatiquement au démarrage. + +## Tests manuels + +### Ouverture valide + +1. lancer l’application ; +2. cliquer sur `Ouvrir une enquête` ; +3. sélectionner une enquête créée avec le ticket #030 ; +4. vérifier l’affichage de l’arborescence ; +5. vérifier le titre ; +6. vérifier la barre d’état ; +7. vérifier l’absence d’erreur SQLite. + +### Annulation + +Ouvrir le sélecteur puis annuler. + +Vérifier : + +```text +aucun crash +aucun changement de session +aucun changement d’arbre +``` + +### Dossier invalide + +Sélectionner un dossier sans base SQLite. + +Vérifier : + +```text +warning explicite +aucune base créée +ancienne session conservée +``` + +### Remplacement + +1. ouvrir une enquête A ; +2. ouvrir une enquête B ; +3. vérifier que B remplace A. + +### Échec pendant le remplacement + +1. ouvrir une enquête valide A ; +2. tenter d’ouvrir un dossier invalide ; +3. vérifier que A reste active. + +## Critères d’acceptation + +- [ ] Le bouton `Ouvrir une enquête` est visible. +- [ ] Le bouton ouvre un sélecteur de dossier. +- [ ] Le sélecteur ne s’ouvre pas automatiquement au démarrage. +- [ ] Une enquête valide peut être ouverte. +- [ ] L’arborescence est affichée. +- [ ] Le titre est mis à jour. +- [ ] La barre d’état est mise à jour. +- [ ] L’annulation ne modifie aucun état. +- [ ] Un dossier invalide est refusé. +- [ ] Une base absente n’est pas créée. +- [ ] L’ancienne session reste active en cas d’échec. +- [ ] L’ancien arbre reste actif en cas d’échec. +- [ ] `application_install_session()` est réutilisée. +- [ ] Aucun appel SQLite direct n’est ajouté. +- [ ] `make` réussit. +- [ ] `make test` réussit. +- [ ] `git diff --check` ne retourne aucune erreur. + +## Audit attendu + +```bash +rg -n 'open_investigation|Ouvrir une enquête' include/views/main_window.h src/views/main_window.c src/core/application.c +``` + +```bash +rg -n 'folder_dialog_select_folder' src/core/application.c +``` + +```bash +rg -n 'sqlite3_|#include ' src/core/application.c src/views/main_window.c +``` + +Résultat attendu pour la dernière commande : + +```text +aucune sortie +``` + +## Fichiers principalement concernés + +```text +include/views/main_window.h +src/views/main_window.c +src/core/application.c +``` + +## Résultat attendu + +À la fin du ticket, l’application doit proposer deux actions explicites : + +```text +Nouvelle enquête +Ouvrir une enquête +``` + +L’utilisateur doit pouvoir créer une enquête, fermer l’application, puis la rouvrir plus tard depuis GTK. + +## Commit attendu + +```bash +make clean +make +make test +git diff --check +git status --short +``` + +```bash +git add include/views/main_window.h src/views/main_window.c src/core/application.c +``` + +```bash +git commit -m "feat(ui): add investigation opening action" +git push +``` + diff --git a/include/views/main_window.h b/include/views/main_window.h index 3fce982..b753945 100644 --- a/include/views/main_window.h +++ b/include/views/main_window.h @@ -137,6 +137,31 @@ void main_window_set_status( const char *status_text ); +/** + * @brief Callback appelé lorsque l'utilisateur demande l'ouverture + * d'une enquête existante. + * + * @param user_data Données utilisateur associées au callback. + */ +typedef void (*MainWindowOpenInvestigationCallback)( + gpointer user_data +); + +/** + * @brief Définit le callback du bouton « Ouvrir une enquête ». + * + * La fenêtre transmet uniquement la demande au contrôleur. + * + * @param main_window Fenêtre principale. + * @param callback Fonction appelée lors du clic. + * @param user_data Données transmises au callback. + */ +void main_window_set_open_investigation_callback( + MainWindow *main_window, + MainWindowOpenInvestigationCallback callback, + gpointer user_data +); + /** * @brief Libère les ressources de la fenêtre. * diff --git a/labfy-investigation b/labfy-investigation index 4c62c1986a7bf8cb1cc6d05a931c7503374de141..a1c6bd7e260eada097e9701a7de42b41cb318ede 100755 GIT binary patch delta 57222 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 @@ -128,6 +129,118 @@ static gboolean application_install_session( return TRUE; } +/** + * @brief Traite le dossier d'enquête sélectionné par l'utilisateur. + * + * @param folder_path Chemin sélectionné, ou NULL en cas d'annulation. + * @param user_data Pointeur vers Application. + */ +static void application_on_folder_selected( + const char *folder_path, + gpointer user_data +) +{ + Application *application = user_data; + + InvestigationSession *new_session = NULL; + InvestigationTreeModel *new_tree_model = NULL; + + const InvestigationProject *project = NULL; + const char *root_path = NULL; + + GError *error = NULL; + + if (application == NULL) + { + return; + } + + if (folder_path == NULL) + { + g_print("Ouverture annulée.\n"); + return; + } + + new_session = investigation_session_open( + folder_path, + &error + ); + + if (new_session == NULL) + { + g_warning( + "Impossible d'ouvrir l'enquête : %s", + error != NULL + ? error->message + : "erreur inconnue" + ); + + g_clear_error(&error); + return; + } + + project = investigation_session_get_project( + new_session + ); + + if (project != NULL) + { + root_path = investigation_project_get_root_path( + project + ); + } + + if (root_path == NULL || + root_path[0] == '\0') + { + g_warning( + "La session ne fournit aucun chemin racine valide." + ); + + investigation_session_close( + new_session + ); + + return; + } + + new_tree_model = investigation_tree_builder_build( + root_path + ); + + if (new_tree_model == NULL) + { + g_warning( + "Impossible de construire l'arborescence de l'enquête." + ); + + investigation_session_close( + new_session + ); + + return; + } + + if (!application_install_session( + application, + new_session, + new_tree_model + )) + { + g_warning( + "Impossible d'installer l'enquête dans l'application." + ); + + investigation_tree_model_free( + new_tree_model + ); + + investigation_session_close( + new_session + ); + } +} + /** * @brief Traite la demande de création d'une nouvelle enquête. * @@ -303,6 +416,32 @@ static void application_on_new_investigation_requested( ); } +/** + * @brief Ouvre le sélecteur d'une enquête existante. + * + * @param user_data Pointeur vers Application. + */ +static void application_on_open_investigation_requested( + gpointer user_data +) +{ + Application *application = user_data; + + if (application == NULL || + application->main_window == NULL) + { + return; + } + + folder_dialog_select_folder( + main_window_get_window( + application->main_window + ), + application_on_folder_selected, + application + ); +} + /** * @brief Traite la sélection d'un nœud dans l'arborescence. * @@ -414,17 +553,15 @@ static void application_on_activate( application ); + main_window_set_open_investigation_callback( + application->main_window, + application_on_open_investigation_requested, + application + ); + main_window_present( application->main_window ); - -/* folder_dialog_select_folder( - main_window_get_window( - application->main_window - ), - application_on_folder_selected, - application - ); */ } Application *application_new(void) diff --git a/src/views/main_window.c b/src/views/main_window.c index 94ab0c4..5bd8210 100644 --- a/src/views/main_window.c +++ b/src/views/main_window.c @@ -51,6 +51,7 @@ struct MainWindow GtkWidget *main_box; GtkWidget *action_bar; GtkWidget *new_investigation_button; + GtkWidget *open_investigation_button; GtkWidget *main_paned; GtkWidget *status_label; @@ -62,6 +63,12 @@ struct MainWindow gpointer new_investigation_user_data; + + MainWindowOpenInvestigationCallback + open_investigation_callback; + + gpointer + open_investigation_user_data; }; /** @@ -90,6 +97,32 @@ static void main_window_on_new_investigation_clicked( ); } +/** + * @brief Transmet la demande d'ouverture d'une enquête au contrôleur. + * + * @param button Bouton ayant reçu le clic. + * @param user_data Pointeur vers MainWindow. + */ +static void main_window_on_open_investigation_clicked( + GtkButton *button, + gpointer user_data +) +{ + MainWindow *main_window = user_data; + + (void) button; + + if (main_window == NULL || + main_window->open_investigation_callback == NULL) + { + return; + } + + main_window->open_investigation_callback( + main_window->open_investigation_user_data + ); +} + MainWindow *main_window_new(GtkApplication *application) { MainWindow *main_window = NULL; @@ -168,11 +201,21 @@ MainWindow *main_window_new(GtkApplication *application) "Nouvelle enquête" ); + main_window->open_investigation_button = + gtk_button_new_with_label( + "Ouvrir une enquête" + ); + gtk_box_append( GTK_BOX(main_window->action_bar), main_window->new_investigation_button ); + gtk_box_append( + GTK_BOX(main_window->action_bar), + main_window->open_investigation_button + ); + g_signal_connect( main_window->new_investigation_button, "clicked", @@ -182,6 +225,15 @@ MainWindow *main_window_new(GtkApplication *application) main_window ); + g_signal_connect( + main_window->open_investigation_button, + "clicked", + G_CALLBACK( + main_window_on_open_investigation_clicked + ), + main_window + ); + /* * GtkPaned sépare horizontalement le panneau latéral * et la zone de travail. @@ -533,6 +585,21 @@ void main_window_set_new_investigation_callback( main_window->new_investigation_user_data = user_data; } +void main_window_set_open_investigation_callback( + MainWindow *main_window, + MainWindowOpenInvestigationCallback callback, + gpointer user_data +) +{ + if (main_window == NULL) + { + return; + } + + main_window->open_investigation_callback = callback; + main_window->open_investigation_user_data = user_data; +} + void main_window_set_selected_node( MainWindow *main_window, const InvestigationNode *node diff --git a/tests/test_database b/tests/test_database new file mode 100755 index 0000000000000000000000000000000000000000..2a1ae2522c4f231ed1559cc6b60d12d90f28ed9f GIT binary patch literal 41112 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 literal 0 HcmV?d00001 diff --git a/tests/test_error b/tests/test_error new file mode 100755 index 0000000000000000000000000000000000000000..1185635c8f2fac9033677f79bb831ba8d661b8b9 GIT binary patch literal 32688 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 M9A~8oq!q3I2K-LdAOHXW literal 0 HcmV?d00001 diff --git a/tests/test_investigation_dao b/tests/test_investigation_dao new file mode 100755 index 0000000000000000000000000000000000000000..0234ddd470732e3c1dd7ba53ba45d9ccfe826f54 GIT binary patch literal 42288 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 literal 0 HcmV?d00001 diff --git a/tests/test_investigation_node b/tests/test_investigation_node new file mode 100755 index 0000000000000000000000000000000000000000..b7614efa3254dd41638e0c2b0d87f582c089bf9e GIT binary patch literal 25824 zcmeHQeRNbsmaim4P=Uk`l&_H%0l|eP1j3*g4J3h%%SVKuGK!BT-6TCG-LXFqW@Kay z>k^slqGxqIqdNx~W<*Cv^mrU(UF5?d>go>8_<hydzD*i=gcZBC{U7$)Mbit`$`R`iUpn}d;n6Vrl}JA z9ih%sry$=)^NhU85J*k(6=l+X%qKSC9%i|l4re`~;vrGOFB*(C~#iaTJ@4bB)|hcNQA{b4&$CS;B2)oST-izEFuL#e{zAIG%1g z3NlJUNtY5)`i;Gea=mGl=2DxREbG z*TA@ql}5o$*D+40)bC2*s2xr=Nw-=c<>hGirQCi(rC*c3XX8iBH+$Y9HL`ryZEe3> z_t-A#$2c*h45TSCjGPMO#en9vdmCss~aIc@5MsZ+eMh__syvt&!`;qasq z>7SWJlj4w#eCb}Wrc$`SvQ5^&01nDPlOwlWi_=%!d5Kq zkH#$v+Oc>vkZ4m@UBg@}5R3+!La}%-+Az1eB@zxc_?NY0n)C+(0JZvCS|W{QR@mUa z62+bov0|a`1p}%r5s$$ce=HV+Bg_4v7UaRNa|D7>^XHatF3bHGgq(srB^i(9eBXJ7;cwydR`_kqzoy>Eg)jM? z^9`TI3Lbhj<2eVvuTjx|_c{2dIr#e>{QeGpw}W5e;4AirY;%>gw4a0Tj8mzDFJmJC z20Qrr`lzko+;Q-o zk3c>G`3U4A@P843qb28k=4=0;pKpEfW0-sU{&8o#FtyLu{%pTJ+I*_w1+Y`2U&P;% z5mh*%d^5=occ+j>@1{IWK@RWJ`R$aasmI}+I{!H3X=-$MtIj_}d76S8-l+4NC{I(5 z!y9z|N0g^2$Kf?Pe<$T>nsc~K=WnMxO+5}T)%jZ~Pg9P=^~h6wCjGIl3Lsg-jWe(0YQa3D;L9nud{dok&BPV2O$){fD(n` z)KquLh&80Qhbi>OY5j_kM8*(?A`qSmUUB`=j1$%uje;Gd;1`=$bU#fd~$%vXX zp8Q)=`99q>CnhiQwO1~nLtn@H@d3W|m3xs%4XVQ5WFsoGxA-9@m0hAj1U)gC8@eVqf!&LdJ>3$k6aI{w?&(UqKlIQTkhkNetJA6JRdzRp2S zxU2JZR!lScR}$%XdHXrqv94s@m#LI*J@g5SxtgzIH>`g6Ejrrk>v%o65()?wS^Ac- z^d}N_7N5(O&Sgufzosn}!V-g$V@SK=DFZ5J&@cwQ-~cI138`JEsK*Ve-Joh1HG)z9 z>OkE?PBZFegPLnlmodu2sOuf5YJ_RS^Lw(y^IJKO)aeTs`oH-F|B{nW(tiSb9h6yu7`PEj{3{^bjny zA1}}$dcdHT8kDj8^7bi=y3v8U3il%E%6ia=x}l{&lT3SOl(G9i(;Wk4b|nu09tASmEy+6 zAY)?(+h}9R7)R095&YuXZVjt6u(yYh_&!t_!nK#9`bm!ftk`yF|Y>=Y#YN8 z4BKX4IzIo7E5q08xQ~#v&f+IQw!(-I(`dYNo-eoT7drtwM z2j4T`&oRiO0(}_#GY0oJ;BLEjjmrR68t@JS{xgq|4>0)Gf2NWbIZvWLpqbKTf9cVc zyv4wi4Bx`=4F=xrIDdbh0e{B8s|@@NhCj&gE7PTS^C{c{I9I#fVEY*CtBn0QV+W@x0~)0>b!hG+H9c326`F$zlWjc z2=pRmJmr9f4D^LTRCw`ZhCa)hZyrmfbcxS^p^|GHz%m28!vHU0;IA0C2|zt$A!h%C zs!D7+i@ng~6PbJPMTO~_e0CoBQ8C?EJ)5n*$X4f&)y@G&%qU-zwxkD*Lj`F&j~hEj zv5Jps4QD&Fu1u}i2X;0rF|!HGH8HShkL=jq-TIY3OnqP3H6oKKe%~E8|WAVy_{Y6n4#YW)L<&9Lo!CsFFGqe zK1&B+I%AG9rpU%jcVPaLhKtUM9R?%ie8QMtAC+?Max_?n!Q7r%&N0T^Yh!LjD7b>j zw^4d>5_)BF2+qvpOSpn0cVqsOd;@c={Z?=ot*-_1OTU5YXtSuaJ*@Op3eBSWv3TdJ2Bx9K-5LZh$>g{#qP?yHB6*Ja@m* ziLb{UA1-C8nu3oEB>DP9FLu;x z4;}O8j@9Olqhzfs39Wpp}$fIyAI)Ac^`7F0MI>fFS|BR+jSwNaEbWfCAb9HYZ~?{2C9)y`3U4A zkdHt<0{IB!Ban|kJ_7j&cC4fZm&Qrit-jEIzSpl2soKCRPMv*8FIw ziQe!G##DB$K@%*d!B!{?Ts+j|kB9IoYd8`JdK(oH&-s;}d5h-EA%uBZbgZYhveguf zTVa1|a4ccQjrWYqTJA{CI8SAzhaQ1a%3&wIs*UZCa^1YEY8N)t&7RRvH-DZrZ+=a! zRa3X1wz^^dg2l#6E<0`hXfPZ%9+4%fMlSuv=1@xj5UVkgaN^3832=3DG!l-qM4CcD zZ)-rgvhd~W#3vJ-8JKSxmsxdlYT4I@U~5~8KOR)}0sJ%75YEK1GHa$k7OV-@M8e@9 z^%XaRg& zCmM_=qTwLdoJ75Sr!sT+$>&3FjP{n?W`|D_PqER^-WIv5)kq_&^pWXIvw-!+SH_in zVEDG)#A-SlagxzrBU>13jD!RA`m9zNnckgAx0?)II?#4Mi)k~KiH6Oks-K^w;^~e? z!^e1!w#6Od#QL^V9S7jS4O;Qxn@&Pe;@q<~#h%`6weUf!LYJ@WPBtYx)lU+2j$M^ovLpQydk*Hs%S(|~O4 zMCI^!W$V+yiOOm7$D7CY)>f*{Ik}lflbTCB@kk=(!34>pCqW+YnnQaYjQXSKy+Kbb z5{`RT;1iiZFy>XHlD=T+*^%}`^Qpt7S!upKaG>UzoBpG52o~A5pckS^S1gA-6b=Me zre$=Lfu~uQ1KUeZQOPC`Ct6ypWx;0uiclmGRRzO}rqeqZczCQ{d^MFi0DALlsT4ib zOuU{-(ZkV~_NP*#K)1hZn0g#{==%Wnqze#GOCptig)Nn$O(59~1F^c4KI z3VX3Gyie(ID}qG`5&_kq6)?M`n#*z&^P+4i4? zd=2`6$0@%yZT|qvM>yr*Nz1>0{1)JI$%iAZKY;u;C%*6>?D8*#{5{C8%aC7f%ddmn z^KL3t?v%Ht%fA`&a>zYSIr~p6N{8MqDlSsT^|xhsfk=6Xi9`cl;5T?Ajzk?3Z_nBJ zjX1{JEb0@M>;8*8ibE>u*GG;@PbnH)h)?E9!92YPX7KK44p|>as7$<$qrXorT%&dp z4k3c>G`3U4AkdHt< z0)OifkbP-n9~!ye{sRX_@}If#16d$)+8c*be?#nza`0)aPOo?j#pfhC$^JO_%0wqD zN$E6{sqB+8obw_-_GKzUtmm+{Mv2x7DCsY}L1_(xQj+DgZb7Mv{i78KN`np2>ll2f z3By#9_r)=58cOxBlC0<9D>I$w%LGc>m?8Y*?1=ciQ)?-8DpM&RpKs^Z)Ne_K|ZJJe3w@kY+Kxis^EuE12HK^lqj z{pLKZfRBN)>eJd@A@zFR$BEU|`OGhK@o8tC;g4Af2P(}>SEUK!iRs9^x88heRoFs zJ6T`OyXCCEYlv1?!;z=7iuJo$pWRje!uoIVK%>{5p}&ds)g>B^9$*rEqC);hc%Tyf z|6+ZQOaCD27x2J!knJ2}{VLX%c+wY{+1llF3_RKRgTODqO6NV5Y}i4v>0h7+uo5Nv z8H)N;ZD+7O&Ix~x=AUEl4=Ma57+^eVh^puQDf~sym$nlgQ9tz0MBHSb&oL~dHS28p z-v{5rI!k3AveIwWP#vm5gBaW0&RI>dZGK2)Uijv=}~didB$ z&e8RCa?J4<@XtWM)r;F;$$B(>ESt^G8Q^<*n^D(-Uz#QUwDSr1U!@;1q_Jyr*uM+> zky-3-Wjmwr@gpVu%mlOx{4)xN*yEBG;?HlHFXOQAyV=f<*`M23@K>?#F%11o1BXKq zkZf_d5d2cdc*thd2vi@&~Ux-;rsnm$+!p3NPk~cz|A}$MAaetEnV;S~i3@-#Xy)~m1Z?zg} zb4J=fF%YquS|ZE*Emi>UC&es(Vx?+~;B_jz;uOH%h*>pgN5v3t5s8=1qN~*MC?3pO zfkbQTDnJ}LylWSVXQ;~a+}>~CX^H*DhI!0vS@jEQ8yXf{vlh*()-T0b-fx>{!s%zx z*_5UlrHlvD+4L$hA26pMP-jz~lBsN-R%cV3oT+FYTW3=&&r~$eud^vmGK#JT+1WJ9 zsNI9%0JXYh%~~*HZmm^2uLhfSS{9}`R;`bjzM2KfnmuR!%o%g6`Lkv%tZlFwX3U&Z z3&onn^JdJgtHw^9-(XKr+M2UUcFClzG1HrbI``|$P|;oL#P3FAlWOn2&eo$=-F$2i z8VH50L=3x#p4?8PI0^73pV?S6n-}K&jd(N6rT0!Xu4QaMno;8{?~mYp7_?Et+-keM z0<K@^F)hdNz~35b zgnM{Rk^XqKC#F=ipYmdiZpF~+x&(ZaEKN)4o)gm*oz~$xOG)S`lePci@{^Ig$Q9rx z_=g!URPMh8M7qv26&Y-M5E1-yj29|+DOc`?#YPnl(r*Q%@7t4XXAKuf_xW@vc)5S} zfk&!RzN`ZXt#Uc+%Ia-y=^k6~a$haf1KX6uf6)`V1Twm3m;7^lUoNyvqs=;n(|=~G z7Pc*TSvL^6lNF_Wcl}o|ekSY5I)u<32cBZ)#;*a7{9?D$^Aet)$odRabP_)#|9u=d z@gBwr-71PqS!_>#XnyF#%l(4TLIJq&V)lnFyv*-~%KDS&yZyhD@e+TTrweV61td1$ za!38hg_rv*p$|*JOx@*gapBc;R%Cjg?U><9`>~dK90%BY#O{CY{pYEFIg=Z|9YW{$ z;ohge$_d7?8~>6EFY6{kJubYv{%=B#yCZvVYgrc*>Ml?6LVph|tu^p)VXu?OdWq;k zMJLG%Jqj-MeZk8*mQeXW2(r#7IOzvp089N>@UmaG(6Nv?li-EYzs7LlW!+I|vlEPC z!3jOhg_rwtq2i~Q5uD^pfhV5$FY8Z2-TLIKGY#VM%bZLc3x1f3FL)<)b#aYYQ*VGW v4%2Pv1^9_SGXB$go%n7L=I_|64c+hRa8j=5(y~`JyneY7vh!R3S62Nm*59e1 literal 0 HcmV?d00001 diff --git a/tests/test_investigation_project b/tests/test_investigation_project new file mode 100755 index 0000000000000000000000000000000000000000..3bd6369a2f5df830c034c78550518290ce4c20a8 GIT binary patch literal 51616 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 literal 0 HcmV?d00001 diff --git a/tests/test_investigation_record b/tests/test_investigation_record new file mode 100755 index 0000000000000000000000000000000000000000..ba2880ba891764294db9386029afaf85e4bc251a GIT binary patch literal 17392 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 literal 0 HcmV?d00001 diff --git a/tests/test_investigation_tree_builder b/tests/test_investigation_tree_builder new file mode 100755 index 0000000000000000000000000000000000000000..d6cd4844176447be928bb7a3bda21977ee4298de GIT binary patch literal 22848 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 G(fU7t_!_DJ literal 0 HcmV?d00001