@@ -851,42 +851,48 @@ fn test_load_from_path_trait_implementation_error() {
851851}
852852
853853#[ test]
854- fn test_load_from_path_with_services_errors ( ) {
854+ fn test_load_from_path_with_mixed_services ( ) {
855855 let monitor_temp_dir = TempDir :: new ( ) . unwrap ( ) ;
856856 let network_temp_dir = TempDir :: new ( ) . unwrap ( ) ;
857857 let trigger_temp_dir = TempDir :: new ( ) . unwrap ( ) ;
858858
859+ // Just canonicalize the paths directly
859860 let network_path = create_test_network_file ( & network_temp_dir, "ethereum_mainnet" ) ;
861+ let network_path = network_path. canonicalize ( ) . unwrap ( ) ;
860862 let network_repo = NetworkRepository :: new ( Some ( network_path. parent ( ) . unwrap ( ) ) ) . unwrap ( ) ;
861863 let network_service = NetworkService :: new_with_repository ( network_repo) . unwrap ( ) ;
862864
863865 let trigger_path = create_test_trigger_file ( & trigger_temp_dir, "test-trigger" ) ;
866+ let trigger_path = trigger_path. canonicalize ( ) . unwrap ( ) ;
864867 let trigger_repo = TriggerRepository :: new ( Some ( trigger_path. parent ( ) . unwrap ( ) ) ) . unwrap ( ) ;
865868 let trigger_service = TriggerService :: new_with_repository ( trigger_repo) . unwrap ( ) ;
866869
867870 let repository = MonitorRepository :: < NetworkRepository , TriggerRepository > :: new_with_monitors (
868871 HashMap :: new ( ) ,
869872 ) ;
870873
871- // Test 1: With no services (falling back to new repositories)
874+ // Test 1: With no services
872875 let monitor_path = create_test_monitor_file ( & monitor_temp_dir, "monitor" , vec ! [ ] ) ;
876+ let monitor_path = monitor_path. canonicalize ( ) . unwrap ( ) ;
873877 let result = repository. load_from_path ( Some ( & monitor_path) , None , None ) ;
874878 assert ! ( result. is_ok( ) ) ;
875879
876- // Test 2: Empty monitor content (should trigger "Failed to load monitors")
880+ // Test 2: Empty monitor content
877881 let monitor_temp_dir = TempDir :: new ( ) . unwrap ( ) ;
878-
879- let result = repository. load_from_path ( Some ( monitor_temp_dir . path ( ) ) , None , None ) ;
882+ let monitor_temp_path = monitor_temp_dir . path ( ) . canonicalize ( ) . unwrap ( ) ;
883+ let result = repository. load_from_path ( Some ( & monitor_temp_path ) , None , None ) ;
880884 assert ! ( result. is_err( ) ) ;
881885 let err = result. unwrap_err ( ) ;
882886 assert ! ( matches!( err, RepositoryError :: LoadError ( _) ) ) ;
883887 assert ! ( err. to_string( ) . contains( "Failed to load monitors" ) ) ;
884888
885889 // Test 3: Mixed service configuration
886- let result = repository. load_from_path ( Some ( & monitor_path) , Some ( network_service) , None ) ;
890+ let result =
891+ repository. load_from_path ( Some ( & monitor_path) , Some ( network_service. clone ( ) ) , None ) ;
887892 assert ! ( result. is_ok( ) ) ;
888893
889- let result = repository. load_from_path ( Some ( & monitor_path) , None , Some ( trigger_service) ) ;
894+ let result =
895+ repository. load_from_path ( Some ( & monitor_path) , None , Some ( trigger_service. clone ( ) ) ) ;
890896 assert ! ( result. is_ok( ) ) ;
891897
892898 // Test 4: Invalid monitor references
@@ -895,7 +901,7 @@ fn test_load_from_path_with_services_errors() {
895901 "invalid_monitor" ,
896902 vec ! [ "invalid-trigger" ] ,
897903 ) ;
898-
904+ let invalid_monitor_path = invalid_monitor_path . canonicalize ( ) . unwrap ( ) ;
899905 let result = repository. load_from_path ( Some ( & invalid_monitor_path) , None , None ) ;
900906 assert ! ( result. is_err( ) ) ;
901907 let err = result. unwrap_err ( ) ;
0 commit comments