44from mock import MagicMock
55
66from dls_barcode .data_store .comms_manager import CommsManager
7- from dls_barcode .data_store .record import Record
8-
9- ID0 = "id0"
10- ID1 = "id1"
11- ID2 = "id2"
12- ID3 = "id3"
13-
147
158class TestCommsManager (unittest .TestCase ):
169
1710 def setUp (self ):
1811 self .directory = MagicMock ()
1912 self .directory .value .return_value = 'dir'
2013 self .file_name = 'test'
14+ record_one = MagicMock ()
15+ record_one .to_csv_string .return_value = 'csv_string_one'
16+ record_one .to_string .return_value = 'string_one'
17+ record_two = MagicMock ()
18+ record_two .to_csv_string .return_value = 'csv_string_two'
19+ record_two .to_string .return_value = 'string_two'
20+ record_three = MagicMock ()
21+ record_three .to_csv_string .return_value = 'csv_string_three'
22+ record_three .to_string .return_value = 'string_three'
23+ self .records = [record_one , record_two ,record_three ]
2124
2225 def test_load_records_from_file_returns_empty_record_list_when_no_file (self ):
2326 cm = CommsManager (self .directory , self .file_name )
@@ -29,46 +32,42 @@ def test_load_record_skip_invalid_lines(self):
2932 # Arrange
3033 cm = CommsManager (self .directory , self .file_name )
3134 cm ._file_manager = MagicMock ()
32- cm ._file_manager .read_lines .return_value = self . _invalid_record_strings ()
35+ cm ._file_manager .read_lines .return_value = [ MagicMock (), MagicMock ()]
3336
3437 # Act
3538 records = cm .load_records_from_file ()
3639
3740 # Assert
38- self .assertEqual (len (records ), 2 )
39- self .assertEqual (records [0 ].id , ID0 )
40- self .assertEqual (records [1 ].id , ID2 )
41+ self .assertEqual (len (records ), 0 )
4142
4243 def test_to_file_stores_records_in_file (self ):
4344 # Arrange
4445 cm = CommsManager (self .directory , self .file_name )
4546 cm ._file_manager = MagicMock ()
4647 file_name = os .path .join (self .directory .value .return_value , self .file_name + ".txt" )
47- records = self ._get_records ()
4848
4949 # Act
50- cm .to_file (records )
50+ cm .to_file (self . records )
5151
5252 # Assert
5353 ((filename_used , record_lines_used ), kwargs ) = cm ._file_manager .write_lines .call_args_list [0 ]
5454 self .assertIn (file_name , filename_used )
55- for r , l in zip (records , record_lines_used ):
55+ for r , l in zip (self . records , record_lines_used ):
5656 self .assertIn (r .to_string (), l )
5757
5858 def test_to_file_csv_store_in_csv_file (self ):
5959 # Arrange
6060 cm = CommsManager (self .directory , self .file_name )
6161 cm ._file_manager = MagicMock ()
6262 file_name = os .path .join (self .directory .value .return_value , self .file_name + ".csv" )
63- records = self ._get_records ()
6463
6564 # Act
66- cm .to_csv_file (records )
65+ cm .to_csv_file (self . records )
6766
6867 # Assert
6968 ((filename_used , record_lines_used ), kwargs ) = cm ._file_manager .write_lines .call_args_list [0 ]
7069 self .assertEqual (file_name , filename_used )
71- for r , l in zip (records , record_lines_used ):
70+ for r , l in zip (self . records , record_lines_used ):
7271 self .assertIn (r .to_csv_string (), l )
7372
7473 def test_make_image_dir_attempts_to_make_dir_if_it_does_not_exist (self ):
@@ -125,27 +124,6 @@ def test_remove_image_file_does_not_attempt_to_remove_file_when_it_exists(self):
125124 cm ._file_manager .remove .assert_not_called ()
126125
127126
128- def _invalid_record_strings (self ):
129- str_rep = list ()
130- str_rep .append (ID0 + ";1494238925.0;test.png;None;DLSL-009,DLSL-010,DLSL-011,DLSL-012;1569:1106:70-2307:1073:68-1944:1071:68" )
131- str_rep .append (ID1 + ";Invalid record string" )
132- str_rep .append (ID2 + ";1494238921.0;test.png;None;DLSL-008,DLSL-010,DLSL-011,DLSL-012;1569:1106:70-2307:1073:68-1944:1071:68" )
133- return str_rep
134-
135- def _get_record_strings (self ):
136- str_rep = list ()
137- str_rep .append (ID0 + ";1494238923.0;test" + ID0 + ".png;None;DLSL-001,DLSL-010,DLSL-011,DLSL-012;1569:1106:70-2307:1073:68-1944:1071:68" )
138- str_rep .append (ID1 + ";1494238922.0;test" + ID1 + ".png;None;DLSL-002,DLSL-010,DLSL-011,DLSL-012;1569:1106:70-2307:1073:68-1944:1071:68" )
139- str_rep .append (ID2 + ";1494238921.0;test" + ID2 + ".png;None;DLSL-003,DLSL-010,DLSL-011,DLSL-012;1569:1106:70-2307:1073:68-1944:1071:68" )
140- str_rep .append (ID3 + ";1494238920.0;test" + ID3 + ".png;None;DLSL-004,DLSL-010,DLSL-011,DLSL-012;1569:1106:70-2307:1073:68-1944:1071:68" )
141- return str_rep
142-
143- def _get_records (self ):
144- strings = self ._get_record_strings ()
145- rep = list ()
146- for str in strings :
147- rep .append (Record .from_string (str ))
148- return rep
149127
150128
151129
0 commit comments