@@ -10,7 +10,9 @@ use thiserror::Error;
1010
1111use crate :: config:: agent_type:: agent_types:: FinalAgent ;
1212use crate :: config:: persister:: config_writer_file:: { WriteError , Writer , WriterFile } ;
13- use crate :: file_reader:: { FSFileReader , FileReader , FileReaderError } ;
13+ #[ cfg_attr( test, mockall_double:: double) ]
14+ use crate :: file_reader:: FSFileReader ;
15+ use crate :: file_reader:: FileReaderError ;
1416use crate :: super_agent:: defaults:: { LOCAL_AGENT_DATA_DIR , REMOTE_AGENT_DATA_DIR , VALUES_FILENAME } ;
1517use log:: error;
1618#[ cfg( target_family = "unix" ) ]
@@ -55,45 +57,43 @@ pub trait ValuesRepository {
5557 fn delete_remote ( & self , agent_id : & AgentID ) -> Result < ( ) , ValuesRepositoryError > ;
5658}
5759
58- pub struct ValuesRepositoryFile < S , F , R >
60+ pub struct ValuesRepositoryFile < S , F >
5961where
6062 S : DirectoryManager ,
6163 F : Writer ,
62- R : FileReader ,
6364{
6465 directory_manager : S ,
6566 writer : F ,
6667 remote_conf_path : String ,
6768 local_conf_path : String ,
6869 remote_enabled : bool ,
69- file_reader : R ,
70+ file_reader : FSFileReader ,
7071}
7172
72- impl Default for ValuesRepositoryFile < DirectoryManagerFs , WriterFile , FSFileReader > {
73+ impl Default for ValuesRepositoryFile < DirectoryManagerFs , WriterFile > {
7374 fn default ( ) -> Self {
7475 ValuesRepositoryFile {
7576 directory_manager : DirectoryManagerFs { } ,
7677 writer : WriterFile { } ,
7778 remote_conf_path : REMOTE_AGENT_DATA_DIR . to_string ( ) ,
7879 local_conf_path : LOCAL_AGENT_DATA_DIR . to_string ( ) ,
7980 remote_enabled : false ,
80- file_reader : FSFileReader { } ,
81+ file_reader : FSFileReader :: default ( ) ,
8182 }
8283 }
8384}
8485
85- impl ValuesRepositoryFile < DirectoryManagerFs , WriterFile , FSFileReader > {
86+ impl ValuesRepositoryFile < DirectoryManagerFs , WriterFile > {
8687 pub fn with_remote ( mut self ) -> Self {
8788 self . remote_enabled = true ;
8889 self
8990 }
9091}
9192
92- impl < S , F , R > ValuesRepositoryFile < S , F , R >
93+ impl < S , F > ValuesRepositoryFile < S , F >
9394where
9495 S : DirectoryManager ,
9596 F : Writer ,
96- R : FileReader ,
9797{
9898 pub fn get_values_file_path ( & self , agent_id : & AgentID ) -> PathBuf {
9999 PathBuf :: from ( format ! (
@@ -128,11 +128,10 @@ where
128128 }
129129}
130130
131- impl < S , F , R > ValuesRepository for ValuesRepositoryFile < S , F , R >
131+ impl < S , F > ValuesRepository for ValuesRepositoryFile < S , F >
132132where
133133 S : DirectoryManager ,
134134 F : Writer ,
135- R : FileReader ,
136135{
137136 fn load (
138137 & self ,
@@ -228,22 +227,20 @@ pub mod test {
228227 use std:: path:: { Path , PathBuf } ;
229228
230229 use crate :: config:: agent_type:: trivial_value:: TrivialValue ;
231- use crate :: file_reader:: test:: MockFileReaderMock ;
232- use crate :: file_reader:: FileReader ;
230+ use crate :: file_reader:: MockFSFileReader ;
233231 use crate :: super_agent:: defaults:: default_capabilities;
234232 #[ cfg( target_family = "unix" ) ]
235233 use std:: os:: unix:: fs:: PermissionsExt ;
236234
237- impl < S , F , R > ValuesRepositoryFile < S , F , R >
235+ impl < S , F > ValuesRepositoryFile < S , F >
238236 where
239237 S : DirectoryManager ,
240238 F : Writer ,
241- R : FileReader ,
242239 {
243240 pub fn with_mocks (
244241 file_writer : F ,
245242 directory_manager : S ,
246- file_reader : R ,
243+ file_reader : MockFSFileReader ,
247244 local_conf_path : & Path ,
248245 remote_conf_path : & Path ,
249246 remote_enabled : bool ,
@@ -333,7 +330,7 @@ pub mod test {
333330 #[ test]
334331 fn test_load_when_remote_enabled ( ) {
335332 //Mocks
336- let mut file_reader = MockFileReaderMock :: new ( ) ;
333+ let mut file_reader = MockFSFileReader :: default ( ) ;
337334 let file_writer = MockFileWriterMock :: new ( ) ;
338335 let dir_manager = MockDirectoryManagerMock :: new ( ) ;
339336 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -375,7 +372,7 @@ pub mod test {
375372 #[ test]
376373 fn test_load_when_remote_disabled ( ) {
377374 //Mocks
378- let mut file_reader = MockFileReaderMock :: new ( ) ;
375+ let mut file_reader = MockFSFileReader :: default ( ) ;
379376 let file_writer = MockFileWriterMock :: new ( ) ;
380377 let dir_manager = MockDirectoryManagerMock :: new ( ) ;
381378 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -417,7 +414,7 @@ pub mod test {
417414 #[ test]
418415 fn test_load_when_remote_enabled_file_not_found_fallbacks_to_local ( ) {
419416 //Mocks
420- let mut file_reader = MockFileReaderMock :: new ( ) ;
417+ let mut file_reader = MockFSFileReader :: default ( ) ;
421418 let file_writer = MockFileWriterMock :: new ( ) ;
422419 let dir_manager = MockDirectoryManagerMock :: new ( ) ;
423420 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -464,7 +461,7 @@ pub mod test {
464461 #[ test]
465462 fn test_load_local_file_not_found_should_return_defaults ( ) {
466463 //Mocks
467- let mut file_reader = MockFileReaderMock :: new ( ) ;
464+ let mut file_reader = MockFSFileReader :: default ( ) ;
468465 let file_writer = MockFileWriterMock :: new ( ) ;
469466 let dir_manager = MockDirectoryManagerMock :: new ( ) ;
470467 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -497,7 +494,7 @@ pub mod test {
497494 #[ test]
498495 fn test_load_when_remote_enabled_io_error ( ) {
499496 //Mocks
500- let mut file_reader = MockFileReaderMock :: new ( ) ;
497+ let mut file_reader = MockFSFileReader :: default ( ) ;
501498 let file_writer = MockFileWriterMock :: new ( ) ;
502499 let dir_manager = MockDirectoryManagerMock :: new ( ) ;
503500 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -532,7 +529,7 @@ pub mod test {
532529 #[ test]
533530 fn test_load_local_io_error ( ) {
534531 //Mocks
535- let mut file_reader = MockFileReaderMock :: new ( ) ;
532+ let mut file_reader = MockFSFileReader :: default ( ) ;
536533 let file_writer = MockFileWriterMock :: new ( ) ;
537534 let dir_manager = MockDirectoryManagerMock :: new ( ) ;
538535 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -567,7 +564,7 @@ pub mod test {
567564 #[ test]
568565 fn test_store_remote ( ) {
569566 //Mocks
570- let file_reader = MockFileReaderMock :: new ( ) ;
567+ let file_reader = MockFSFileReader :: default ( ) ;
571568 let mut file_writer = MockFileWriterMock :: new ( ) ;
572569 let mut dir_manager = MockDirectoryManagerMock :: new ( ) ;
573570 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -607,7 +604,7 @@ pub mod test {
607604 #[ test]
608605 fn test_store_remote_error_deleting_dir ( ) {
609606 //Mocks
610- let file_reader = MockFileReaderMock :: new ( ) ;
607+ let file_reader = MockFSFileReader :: default ( ) ;
611608 let file_writer = MockFileWriterMock :: new ( ) ;
612609 let mut dir_manager = MockDirectoryManagerMock :: new ( ) ;
613610 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -645,7 +642,7 @@ pub mod test {
645642 #[ test]
646643 fn test_store_remote_error_creating_dir ( ) {
647644 //Mocks
648- let file_reader = MockFileReaderMock :: new ( ) ;
645+ let file_reader = MockFSFileReader :: default ( ) ;
649646 let file_writer = MockFileWriterMock :: new ( ) ;
650647 let mut dir_manager = MockDirectoryManagerMock :: new ( ) ;
651648 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -686,7 +683,7 @@ pub mod test {
686683 #[ test]
687684 fn test_store_remote_error_writing_file ( ) {
688685 //Mocks
689- let file_reader = MockFileReaderMock :: new ( ) ;
686+ let file_reader = MockFSFileReader :: default ( ) ;
690687 let mut file_writer = MockFileWriterMock :: new ( ) ;
691688 let mut dir_manager = MockDirectoryManagerMock :: new ( ) ;
692689 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -732,7 +729,7 @@ pub mod test {
732729 #[ test]
733730 fn test_delete_remote_all ( ) {
734731 //Mocks
735- let file_reader = MockFileReaderMock :: new ( ) ;
732+ let file_reader = MockFSFileReader :: default ( ) ;
736733 let file_writer = MockFileWriterMock :: new ( ) ;
737734 let mut dir_manager = MockDirectoryManagerMock :: new ( ) ;
738735 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -756,7 +753,7 @@ pub mod test {
756753 #[ test]
757754 fn test_delete_remote ( ) {
758755 //Mocks
759- let file_reader = MockFileReaderMock :: new ( ) ;
756+ let file_reader = MockFSFileReader :: default ( ) ;
760757 let file_writer = MockFileWriterMock :: new ( ) ;
761758 let mut dir_manager = MockDirectoryManagerMock :: new ( ) ;
762759 let remote_conf_path = Path :: new ( "some/remote/path" ) ;
@@ -790,7 +787,7 @@ pub mod test {
790787 let mut remote_dir = PathBuf :: from ( & tempdir. path ( ) ) ;
791788 remote_dir. push ( "remote_dir" ) ;
792789
793- let file_reader = MockFileReaderMock :: new ( ) ;
790+ let file_reader = MockFSFileReader :: default ( ) ;
794791 let dir_manager = DirectoryManagerFs :: default ( ) ;
795792 let remote_enabled = true ;
796793
0 commit comments